我們可以使用ESP8266電路使房屋中的照明開關更智能,因此,如果沒有WiFi,它將繼續作為普通開關工作。
硬件組件:
NodeMCU Lolin V3模組ESP8266 ESP-12F Wifi× 1個
帶光耦合器的繼電器模塊× 1個
pc817光耦合器× 1個
AC-DC電源5V× 1個
電阻組× 1個
軟件應用程序和在線服務:
Arduino IDE
手動工具和制造機:
烙鐵(通用)
多功能工具,螺絲刀
我們可以使用ESP8266電路使房屋中的照明開關更智能,因此,如果出現問題(例如,沒有WiFi或服務器關閉),它將繼續作為普通開關工作。
注意!
以下電路的某些部分在電源電壓下工作。電源電壓不是玩具,需要注意規避風險。
下圖中紅色標記的區域低于電源電壓!
讓我們看一下電路:
我在市電電壓為230V的歐盟使用此電路!如果要使用它,而您所在區域的電源電壓不是230V,則可以通過更換圖中所示的電源來使用。
電路
如果主電源電壓不是230伏,則必須用正確的電壓替換圖中的2個黑色電源模塊。
除了普通的備用開關外,還必須像安裝其他備用開關一樣安裝繼電器模塊。該繼電器模塊具有一個光耦合器,因此ESP8266微控制器是完全光學隔離的。
在圖中,上方的黑色立方體是一個230 V至3.3 V的開關電源(如果電源電壓不是230伏,則必須更換!)。它的230 V輸入連接到燈泡,其輸出通過光耦合器(pc817)路由到ESP8266 D2引腳。這用于監視燈泡是否點亮。輸入D2必須通過上拉電阻切換至3.3V。
下部的黑色立方體為230 V至5 V(如果市電電壓不是230,則還必須更換?。╅_關模式電源,用于為電路的低壓部分供電。
備用開關如何工作
ESP8266微控制器必須經過編程才能使電路正常工作。打開Arduino應用并復制此原理圖。重寫WLAN連接所需的SSID和密碼對以及MQTT服務器的IP地址。完成后,將代碼上傳到ESP8266。
/**************************************/
// https://myhomethings.eu //
// Alternative switch - ESP8266 //
// Board: NodeMCU 1.0 ESP-12E //
/**************************************/
#include 《ESP8266WiFi.h》
#include 《PubSubClient.h》
const char* ssid = “SSID”;
const char* password = “Password”;
const char* mqtt_server = “192.168.x.xxx”;
WiFiClient espClient;
PubSubClient client(espClient);
int relayPin = D5;
int lightControllPin = D2;
long previousMillis = 0;
int relayState = 1;
int switchState = 0;
int switchFlag = 0;
void setup_wifi()
{
delay(100);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED)
{
delay(500);
}
randomSeed(micros());
}
void reconnect()
{
while (!client.connected())
{
String clientId = “ESP8266-AlternativeSwitch”;
if (client.connect(clientId.c_str()))
{
client.subscribe(“Light_topic”);
}
else
{
delay(6000);
}
}
}
void callback(char* topic, byte* payload, unsigned int length)
{
payload[length] = ‘