Supla + ESP8266 + Adapter Gniazdka Radiowego
-
piomar2
- Posts: 369
- Joined: Fri Apr 26, 2019 5:32 pm
- Location: Bukowice
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
- Posts: 369
- Joined: Fri Apr 26, 2019 5:32 pm
- Location: Bukowice
Sprawdziłem na ESP8266 Nodemcu v3 też działa dobrze i oczywiście się kompiluje.
-
marsoonn
- Posts: 11
- Joined: Mon Aug 19, 2019 11:21 am
Panowie!
Wszystko działa dzięki wielkie !!!
Tylko pytanko teraz ma ktoś pomysł jak rozbudować to o inne gniazdka?
Wszystko działa dzięki wielkie !!!
Tylko pytanko teraz ma ktoś pomysł jak rozbudować to o inne gniazdka?
-
piomar2
- Posts: 369
- Joined: Fri Apr 26, 2019 5:32 pm
- Location: Bukowice
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
- Posts: 11
- Joined: Mon Aug 19, 2019 11:21 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 ?
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
- Posts: 369
- Joined: Fri Apr 26, 2019 5:32 pm
- Location: Bukowice
Za 1,5 godz będę w domu to podeślę 2 przyciski
-
piomar2
- Posts: 369
- Joined: Fri Apr 26, 2019 5:32 pm
- Location: Bukowice
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 :
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 :
Code: Select all
//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
- Posts: 369
- Joined: Fri Apr 26, 2019 5:32 pm
- Location: Bukowice
A to wersja sterująca dwoma gniazdami. Sprawdzone na gniazdach 433 Kanlux
