Модуль Solid State Relay Module предназначен для управления двумя нагрузками, подключаемыми к сети 220 В. с током потребления до 2 А. В модуле используются реле Omron G3MB-202P с функцией пересечения ноля (zero cross function). Данная функция предусматривает возможность замыкания выходной цепи, только когда переменное напряжение нагрузки пересекает ноль, благодаря чему, ток нагрузки увеличивается плавно. Такой тип включения продлевает срок службы устройств подключённых к силовой части модуля, но делает невозможным замыкание цепей нагрузки постоянного тока.
В качестве контроллера будем использовать одну из плат на основе популярного WiFi модуля ESP8266, например
такой.
Скетч будем писать в среде Arduino IDE для ESP8266. Вот содержимое скетча:
// подключение библиотек
#include
#include
#include
#include
// пин управления реле
uint8_t PowerPin = 2;
bool PowerOn = false;
const char* host = "esp8266-power";
// данные вашего роутера
const char* ssid = "your_ssid";
const char* password = "your_pass";
ESP8266WebServer server(80);
void setup() {
// запуск последовательного порта
Serial.begin(115200);
// настройка пина управления реле
pinMode(PowerPin , OUTPUT);
digitalWrite(PowerPin , PowerOn);
WiFi.mode(WIFI_AP_STA);
WiFi.begin(ssid, password);
if(WiFi.waitForConnectResult() == WL_CONNECTED){
MDNS.begin(host);
server.on ( "/", HTTP_handleRoot );
server.onNotFound ( HTTP_handleRoot );
server.begin();
Serial.printf( "HTTP server ok! Open http://%s.local in your browser\n", host);
}
else {
Serial.printf("WiFi started is fail");
}
}
void loop() {
server.handleClient();
delay(50);
}
// Обработчик страницы сервера
void HTTP_handleRoot(void) {
bool status = false;
if( server.hasArg("status") ){
if( strncmp(server.arg("stat").c_str(),"1",1) == 0 )
stat = true;
}
else {
stat = PowerOn;
}
String out = "";
out =
"\
\
\
\
\
\
\
WiFi розетка.
\n";
if( status ){
out+="\
РОЗЕТКА : Включено
\
Выключить
\
";
}
else {
out+="\
РОЗЕТКА : Выключено
\
Включить
\
";
}
out+= "\
\
";
server.send ( 200, "text/html", out );
if( stat != PowerOn ){
PowerOn = status;
digitalWrite(PowerPin , PowerOn);
if( PowerOn )
Serial.println("Power is ON");
else
Serial.println("Power is OFF");
}
}
Заливаем скетч в плату на основе ESP8266, с телефона (или смартфона) заходим по адресу модуля и управляем состоянием нашей WiFi розетки.