Выкладываю по просьбам... Сразу скажу, что ничего особенного, может сделать любой желающий И так... Железки: AC/DC (Zelo-модуль) Iskra Neo Wi-Fi (Troyka-модуль) Датчик тока (Troyka-модуль) Герметичный корпус 120×120×60 Герметичный кабельный ввод Кабель с вилкой из "Хозтоваров" Розетка обыкновенная, тоже из хозяйственного И немного Структора для эстетики Из ПО: На телефоне прога Blynk, регистрируемся и создаём первый проект. Базовый скетч сделал тут, достаточно выбрать сою плату, способ её выхода в сеть и вставить Auth Token (его присвоит мобильное приложение при создании проекта) Так как моя розетка общается с миром через ВиФи, то я в полученном коде ввёл ещё параметры соединения с сетью (ssid и пароль). Собственно розетку можно собирать и она готова к работе. В мобильно приложении, добавляя кнопку включения/выключени просто указываем пин к которому было подключено реле. Примерно так Я же решил ещё добавить датчик тока для подключенного потребителя. Соответственно в код добавилась библиотека для него. И показания вывел на виртуальный пин V0. Итоговый код выглядит так: Код (C++): /* Comment this out to disable prints and save space */ #define BLYNK_PRINT Serial #include <ESP8266_Lib.h> #include <BlynkSimpleShieldEsp8266.h> // библиотека для работы с датчиком тока (Troyka-модуль) #include <TroykaCurrent.h> // You should get Auth Token in the Blynk App. // Go to the Project Settings (nut icon). char auth[] = "YourAuthToken"; // Your WiFi credentials. // Set password to "" for open networks. char ssid[] = "YourNetworkName"; char pass[] = "YourPassword"; // Hardware Serial on Mega, Leonardo, Micro... #define EspSerial Serial1 // or Software Serial on Uno, Nano... //#include <SoftwareSerial.h> //SoftwareSerial EspSerial(2, 3); // RX, TX // Your ESP8266 baud rate: #define ESP8266_BAUD 115200 ESP8266 wifi(&EspSerial); // создаём объект для работы с датчиком тока // и передаём ему номер пина выходного сигнала ACS712 sensorCurrent(A0); void setup() { // открываем последовательный порт Serial.begin(9600); // Set ESP8266 baud rate EspSerial.begin(ESP8266_BAUD); delay(10); Blynk.begin(auth, wifi, ssid, pass); // You can also specify server: //Blynk.begin(auth, ssid, pass, "blynk-cloud.com", 8442); //Blynk.begin(auth, ssid, pass, IPAddress(192,168,1,100), 8442); } void loop() { Blynk.run(); // You can inject your own code or combine it with other sketches. // Check other examples on how to communicate with Blynk. Remember // to avoid delay() function! // вывод показателей сенсора для переменного тока Blynk.virtualWrite(0, sensorCurrent.readCurrentAC()); delay(100); } Ну а в приложении можно добавить любой понравившийся виджет для отображения показаний. У меня так: Ну и внешне устройство получилось такое: Ну как-то так Можно тоже самое собрать компактнее и дешевле. Например хотя бы на базе NodeMCU. Но я сделал так
Я как раз специально на виду оставил, по вечерам любуюсь как мигают диоды tx/rx через прозрачную крышку...
Я уже на ней собрал на NodeMCU, но с тремя релюхами и соответственно на три розетки. Из старого ИПБ замутил