Полезные устройства для дома: WiFi-розетка своими руками
Привет Geektimes! В статье хочу представить инструкцию по созданию WiFi-розетки.
Началось всё с того, что осенью наткнулся на WiFi-розетки в магазинах, подумал, что вроде ничего сложного, потом ознакомился с ESP8266 и понял, что готов сделать розетку сам.
Розетка будет состоять из:
- Корпус;
- ESP8266 12E с платой развязки питания;
- Питание для ESP8266 от 220 Вольт;
- Плата контроля 220 Вольт;
- Контрольная панель (кнопка, led, порт RJ45 для прошивки).
Разбив статью на спойлеры, мне хочется структурировать знания.
Корпус задумывался легким для сборки и разборки во время разработки и отладки, и по возможности прозрачным, чтобы видеть все компоненты.
Все платы имеют максимальный размер 5 x 3.5 см, поэтому коробка будет 5 х 5 х 3.5 см.
- кусок оргстекла, наименьшего размера 0.5 x 0.25 метра, вполне хватит на десяток таких поделок
- петли, наименьшие из найденных 2.5 x 2.5 см
- шурупы
Оргстекло вырезал паяльником, разогретым до 300 градусов: линию разреза расчерчивал лезвием ножа, и затем проводил паяльником по линии с нажимом на паяльник, потом проводил с другой стороны, и тогда можно ломать по линии разлома.
Отверстия для шурупов к петлям высверливал мини дрелью на двигателе с цангой и сверлом 1мм.
Реализовать развязку питания вместе с ESP8266 на одной плате не получилось из-за ограничений на размер корпуса.
Представленные платы совместимы для ESP8266 12F и 12E:
Сама ESP8266 положилась на эту плату:
А развязка питания, и прошивки происходит здесь:
Понадобится 5 штук 10k Ом и 1 штука 470 Ом 0.125 Вт SMD резисторов и 0.1 mkF кондесатор SMD.
На 6-ти контактах по два отверстия, одно для входящего провода от платы Esp8266, а другое для исходящего провода в плату для гнезда RJ45 (используемый для прошивки).
PS: Соединение «locking on programmator wires» замыкается в режиме прошивки, например сделать перемычку в кабеле с коннектором RJ45.
Для питания легче всего использовать китайскую USB зарядку для телефона похожую на зарядку для IPhone.
Замене подвергнется только выделенный красным стабилитрон (диод Зенера). В USB зарядке на 5 Вольт, стоит стабилитрон на 5 Вольт. Для питания ESP8266 нужно 3.3 Вольта, и стабилитрон на 3.3 Вольта мощностью более 1 Ватта с запасом судя по потреблению (3.3 Вольт,
Далее выпаиваем USB коннектор и припаиваемся к + и -.
- 1 штук 500k Ом и 1 штука 470 Ом, 1 штука 200 Ом 0.125 Вт SMD резисторов;
- 1 Симистор
- 1 Опто-пара, MOC3052
- две пары клемм для зажима 220 Вольтовых проводов
Файл доступен для скачивания вместе с другими ресурсами.
Скрипты находятся тут
Я использовал:
её можно получить тут https://nodemcu-build.com/ с пакетами enduser setup, file, gpio, net, node, rtc-time, sntp, timer, uart, wifi.
sudo python esptool.py —port /dev/ttyUSB0 write_flash 0x00000 The_Path_To_The_NodeMCU_Firmware.bin
Для оптимизации памяти, чтобы память ESP8266, которой маловато, не тратилась на компиляцию, после загрузки файлов на ESP8266, необходимо скомпилировать .lua файлы (кроме init.lua) в .lc прямо на ESP8266 через Esplorer.
node.compile(«actionsprocess.lua»)
node.compile(«constants.lua»)
node.compile(«espgetstatehtml.lua»)
node.compile(«estbehaviour.lua»)
node.compile(«httpfilesender.lua»)
node.compile(«httpsend.lua»)
node.compile(«httpsender.lua»)
node.compile(«schedulermanager.lua»)
Кнопка переключает ESP8266 в режим создания своей точки доступа в положении «Выкл» (для указания Точки доступа пользователя и пароля к точке доступа пользователя), в «Вкл» — рабочее состояние.
Светодиод — горит, когда кнопка «Выкл» (ESP8266 находится в режиме создания своей точки доступа);
- мигает, когда кнопка «Вкл», и ESP8266 в процессе подключения;
- не горит, когда кнопка «Вкл», и ESP8266 подключено к роутеру.
гнездо RJ45 — для прошивки, или питания через USB Uart переходник.
Управление розеткой происходит из андройд телефона. WiFi-Switcher Git-Hub
Когда розетка и телефон подключены к роутеру, андройд-телефон шлёт UDP-широковещательные пакеты роутеру на порт 33248, открытый на розетке. Она отвечает на него, передаёт свой Id и Type.
Как сделать умную розетку, включающуюся от сигнала по wi-fi
Для программирования микроконтроллера ESP8266 вам понадобятся:
Шаг 2: Предупреждение!
Высокое напряжение опасно для здоровья и жизни!! Пожалуйста, будьте осторожны. Если вы не знакомы с техникой безопасности при работе с высоким напряжением, обязательно ознакомьтесь с ней. Я вас предупредил.
Шаг 3: Делаем блок питания
Я решил просто припаять провода к основному входу и использовать шнур USB для выхода. Все компоненты, которые будут находиться под высоким напряжением, я поместил в корпус адаптера. Я аккуратно вскрыл его канцелярским ножом.
Я заменил провод от входа на чуть более длинный провод. Еще я убрал коннектор USB, потому что это соединение занимает слишком много места. После этого я собрал все обратно в корпус.
Шаг 4: Проводка для высокого напряжения
Для питания я взял силовой кабель от компьютера.
Я собираюсь фазу подключить вместо нейтраля.
Я решил убрать одну из пластин, разделяющих два гнезда розетки. Это позволит оставить одну розетку всегда включенной, а другую можно будет включать и выключать с помощью реле.
Шаг 5: Подключаем микропроцессор и реле
- Ground
- RX
- TX
- GPIO0 (замыкается на землю при включении питания, чтобы перевести контроллер в режим программирования)
- Reset (перезапуск, опционально)
На фото видно, что я спаял всю проводку вокруг модуля реле, вместо того, чтобы установить реле на макетную плату. Линейный регулятор AMS1117 и микропроцессор ESP8266 я установил вокруг модуля реле. Провода достаточно жесткие, чтобы удержать модуль вай-фай на месте. Напряжение 3В от линейного регулятора выводится на средний штырь И на теплоотвод, так удобнее фиксировать модуль вай-фая на месте.
Шаг 6: Программирование
Что касается программного обеспечения, выбор у вас обширен. Простейшая программа, что я нашел – Blynk. Скачайте бесплатное приложение для Android или iPhone, зарегистрируйтесь и получите аутентификатор.
В программе Arduino IDE откройте Менеджер библиотек (Скетч> Включить библиотеку> Управление библиотеками) чтобы установить библиотеку Blynk. Файл> Образцы> Blynk> Платы и шилды> ESP8266_StandAlone
Пропишите в скетче ваш аутентификатор, SSID (имя) вашего домашнего вай-фая и пароль.
Заземлите GPIO0 (можно временно припаять провод на землю, или с помощью переключателя), и включите питание, чтобы перевести контроллер в режим программирования. Как только загрузка будет завершена, можно отсоединить USB-шнур.
В приложение Blynk настройте кнопку и на этом ваша работа над умной розеткой завершена!
Рассказываю как сделать какую-либо вещь с пошаговыми фото и видео инструкциями.