Supla + ESP8266 + Adapter Gniazdka Radiowego

Awatar użytkownika
shimano73
Posty: 1088
Rejestracja: ndz lut 28, 2016 12:27 pm
Lokalizacja: Orzesze

śr sie 28, 2019 1:45 pm

W elektronice jak nie wiadomo o co chodzi to zwykle chodzi o zasilanie
Jak się dziś oddycha https://schimano73.aqi.eco/
https://github.com/shimano73
piomar2
Posty: 350
Rejestracja: pt kwie 26, 2019 5:32 pm
Lokalizacja: Bukowice

śr sie 28, 2019 2:36 pm

Mam wrażenie (po zdjęciu), że wybierasz złą płytkę w arduino (masz błąd kompilacji dla płytki Generic ESP8266). Skoro jest to ESP8266 Nodemcu v3 to wybierz płytkę: "NodeMCU 1.0 (ESP - 12E Module".
piomar2
Posty: 350
Rejestracja: pt kwie 26, 2019 5:32 pm
Lokalizacja: Bukowice

śr sie 28, 2019 3:13 pm

Sprawdziłem na ESP8266 Nodemcu v3 też działa dobrze i oczywiście się kompiluje.
marsoonn
Posty: 11
Rejestracja: pn sie 19, 2019 11:21 am

czw sie 29, 2019 9:38 am

Panowie!
Wszystko działa dzięki wielkie !!!

Tylko pytanko teraz ma ktoś pomysł jak rozbudować to o inne gniazdka?
piomar2
Posty: 350
Rejestracja: pt kwie 26, 2019 5:32 pm
Lokalizacja: Bukowice

czw sie 29, 2019 10:10 am

Na pilocie masz 2 przyciski (włącz, wył) ?. Ten program wysłany przeze mnie obsługuje tylko jeden przycisk (ten program wygrałeś?). Był to wstępny program żebyś uruchomił cokolwiek. Mogę ci dosłać program, który obsługuje dwa przyciski włącz i wyłącz i wtedy będzie ok. Mało piszesz i trudno domyślić się co i ciebie się dzieje. Oczywiście, że jest możliwość sterowania następnymi gniazdkami ale to dalszą rozbudowa programu i...powoli
marsoonn
Posty: 11
Rejestracja: pn sie 19, 2019 11:21 am

czw sie 29, 2019 10:17 am

Jeśli możesz prześlij następny program w którym działają dwa przyciski,
Ten pierwszy rozbudowałem samemu i działają 2 przyciski ale chciałem zobaczyć czy podobnie to zrobiliśmy;

Masz może program rozbudowany aby obsługiwał 2 gniazdka tj. 4 przyciski ?
piomar2
Posty: 350
Rejestracja: pt kwie 26, 2019 5:32 pm
Lokalizacja: Bukowice

czw sie 29, 2019 10:20 am

Za 1,5 godz będę w domu to podeślę 2 przyciski
piomar2
Posty: 350
Rejestracja: pt kwie 26, 2019 5:32 pm
Lokalizacja: Bukowice

czw sie 29, 2019 11:53 am

To pochwal się jak to napisałeś dla 2 przycisków...
I co działa ci to na Nodemcu V3 i kompilujesz w arduino 1.8.3?
Jeżeli tak to trochę zmieniłbym piny ale jak działa to ok.
To mój :

Kod: Zaznacz cały

//ESP8266
// 0 - GPIO 0
// 1 - TX nadajnik 433
// 2 - GPIO 2
// 3 - RX
 
#include <srpc.h>
#include <log.h>
#include <eh.h>
#include <proto.h>
#include <IEEE754tools.h>
// We define our own ethernet layer
#define SUPLADEVICE_CPP
#include <SuplaDevice.h>
#include <lck.h>

#include <WiFiClient.h>
#include <ESP8266WiFiType.h>
#include <ESP8266WiFi.h>
#include <ESP8266WiFiScan.h>
#include <ESP8266WiFiMulti.h>
#include <WiFiServer.h>
#include <ESP8266WiFiGeneric.h>
#include <WiFiClientSecure.h>
#include <ESP8266WiFiAP.h>
#include <ESP8266WiFiSTA.h>
#include <WiFiUdp.h>

#include <RCSwitch.h>
RCSwitch mySwitch = RCSwitch(); 

WiFiClient client;

//tu wpisać parametry swojego wifi
const char* ssid = "xxxx";
const char* password = "xxxx"; 
byte a=0;

//tu wpisać kody swojego pilota
int b=xxxxxxx;//kod pilota włączanie
int c=xxxxxxx;//kod pilota wyłączanie

void setup() {
   
  mySwitch.enableTransmit(1);//nadajnik na TX

  // Replace the falowing GUID
  char GUID[SUPLA_GUID_SIZE] = {0xCC,0x2F,0x0E,0xF8,0x2E,0xFC,0xB7,0x1D,0xB0,0xCF,0x8D,0xD8,0x9D,0xA7,0xBD,0x5E};
  // with GUID that you can retrieve from https://www.supla.org/arduino/get-guid

  // Ethernet MAC address
  uint8_t mac[6] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00};

 SuplaDevice.addRelayButton(3, 2, INPUT_TYPE_BTN_MONOSTABLE, 0, SUPLA_BIT_RELAYFUNC_LIGHTSWITCH);
 
//tu wpisać swoje parametry supli 
  SuplaDevice.setName("Gniazdo 433");
  SuplaDevice.begin(GUID,              // Global Unique Identifier 
                    mac,               // Ethernet MAC address
                    "xxx",  // SUPLA server address
                    xxx,                 // Location ID 
                    "xxx");               // Location Password

}

void loop() {
  SuplaDevice.iterate();

  if (digitalRead(3) == HIGH && a==0){
    mySwitch.send(b,24);//włączanie
      a=1;
      delay(150); 
   } 
  if (digitalRead(3) == LOW && a==1){
    mySwitch.send(c,24);//wyłączanie
      a=0;
      delay(150);
   }
   }


// Supla.org ethernet layer
    int supla_arduino_tcp_read(void *buf, int count) {
        _supla_int_t size = client.available();
       
        if ( size > 0 ) {
            if ( size > count ) size = count;
            return client.read((uint8_t *)buf, size);
        };
    
        return -1;
    };
    
    int supla_arduino_tcp_write(void *buf, int count) {
        return client.write((const uint8_t *)buf, count);
    };
    
    bool supla_arduino_svr_connect(const char *server, int port) {
          return client.connect(server, 2015);
    }
    
    bool supla_arduino_svr_connected(void) {
          return client.connected();
    }
    
    void supla_arduino_svr_disconnect(void) {
         client.stop();
    }
    
    void supla_arduino_eth_setup(uint8_t mac[6], IPAddress *ip) {

       // Serial.println("WiFi init");
        WiFi.begin(ssid, password);

        while (WiFi.status() != WL_CONNECTED) {
            delay(500);
        //    Serial.print(".");
        }

        Serial.print("\nlocalIP: ");
        Serial.println(WiFi.localIP());
        Serial.print("subnetMask: ");
        Serial.println(WiFi.subnetMask());
        Serial.print("gatewayIP: ");
        Serial.println(WiFi.gatewayIP());
    }

SuplaDeviceCallbacks supla_arduino_get_callbacks(void) {
          SuplaDeviceCallbacks cb;
          
          cb.tcp_read = &supla_arduino_tcp_read;
          cb.tcp_write = &supla_arduino_tcp_write;
          cb.eth_setup = &supla_arduino_eth_setup;
          cb.svr_connected = &supla_arduino_svr_connected;
          cb.svr_connect = &supla_arduino_svr_connect;
          cb.svr_disconnect = &supla_arduino_svr_disconnect;
          cb.get_temperature = NULL;
          cb.get_temperature_and_humidity = NULL;
          cb.get_rgbw_value = NULL;
          cb.set_rgbw_value = NULL;
          
          return cb;
}
piomar2
Posty: 350
Rejestracja: pt kwie 26, 2019 5:32 pm
Lokalizacja: Bukowice

ndz wrz 01, 2019 12:02 pm

A to wersja sterująca dwoma gniazdami. Sprawdzone na gniazdach 433 Kanlux
ODPOWIEDZ

Wróć do „Ogólna dyskusja”