Monday, January 23, 2017

Полезные устройства для дома: WiFi-розетка своими руками / Geektimes

Программист
9,6
рейтинг
сегодня в 11:54

Полезные устройства для дома: 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 на одной плате не получилось из-за ограничений на размер корпуса.


Представленные платы совместимы для ESP8266 12F и 12E:


Сама ESP8266 положилась на эту плату:



А развязка питания, и прошивки происходит здесь:



Понадобится 5 штук 10k Ом и 1 штука 470 Ом 0.125 Вт SMD резисторов и 0.1 mkF кондесатор SMD.
На 6-ти контактах по два отверстия, одно для входящего провода от платы Esp8266, а другое для исходящего провода в плату для гнезда RJ45 (используемый для прошивки).


PS: Соединение "locking on programmator wires" замыкается в режиме прошивки, например сделать перемычку в кабеле с коннектором RJ45.


Плата под гнездо RJ45:



Всё получится компактно.


Питание ESP8266

Для питания легче всего использовать китайскую USB зарядку для телефона похожую на зарядку для IPhone.



Замене подвергнется только выделенный красным стабилитрон (диод Зенера). В USB зарядке на 5 Вольт, стоит стабилитрон на 5 Вольт. Для питания ESP8266 нужно 3.3 Вольта, и стабилитрон на 3.3 Вольта мощностью более 1 Ватта с запасом судя по потреблению (3.3 Вольт, <300 mA).



Далее выпаиваем USB коннектор и припаиваемся к + и -.


Плата контроля 220 Вольт

Понадобится:


  • 1 штук 500k Ом и 1 штука 470 Ом, 1 штука 200 Ом 0.125 Вт SMD резисторов;
  • 1 Симистор
  • 1 Опто-пара, MOC3052
  • две пары клемм для зажима 220 Вольтовых проводов

Развязка проводов между платами в Sprint-Layout

Файл доступен для скачивания вместе с другими ресурсами.


Прошивка

Скрипты находятся тут
Я использовал:


  • NodeMcu — нужная для работы lua скриптов

её можно получить тут 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

  • Esplorer — для загрузки lua скриптов, html, js, css, и других файлов на ESP8266
    https://esp8266.ru/esplorer/>

Для оптимизации памяти, чтобы память 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 переходник.

Android

Управление розеткой происходит из андройд телефона. WiFi-Switcher Git-Hub


Процесс сканирования розетки

Когда розетка и телефон подключены к роутеру, андройд-телефон шлёт UDP-широковещательные пакеты роутеру на порт 33248, открытый на розетке. Она отвечает на него, передаёт свой Id и Type.


Ресурсы для скачивания

Конечное изделие




Ссылки


ESP8266 — подключение и обновление прошивки
Lua programming language information
Flashing the NodeMCU firmware
Лужение печатной платы сплавом Розе

Вадим @Sorbo
карма
8,0
рейтинг 9,6
Программист
Дизайнерский дайджестЕженедельная авторская подборка лучших статей, проектов и инструментов 18+awdee.ruСкрыть объявление
Объявление скрыто.
EXMO.com - биржа обмена валютВсе популярные пары. Купить, продать за RUB, USD и EUR. Надёжная биржа!exmo.comСкрыть объявление
Объявление скрыто.

Самое читаемое

Комментарии (44)

  • +5
    Как прототип — супер!
    Но держать такое устройство в сети, я бы не стал.
    Рано или поздно бдительность теряется, а низкая механическая и электрическая прочность приведет к печальным последствиям.
    • 0
      ок, открываемость — плохо. А по электрике в чем проблемы?
      • +7
        1. При таком монтаже (ничего личного, я бы руками лучше не сделал) рано или поздно оторвется проводок со всеми вытекающими последствиями.
        2. Провода все в кучу, не соблюдены гальванические зазоры. Китайская зарядка — далеко не самое надежное устройство. Не увидел защитных варисторов.
        3. Расчет теплового пакета? А если эта штука нагреется хотя бы до 60 градусов и термоклей расплавится?
        4. Если на корпус имеет выступающие металлические части, то должно быть защитное заземление.
  • +2
    Как раз рассматриваю вопрос по «умной розетке», но в форм факторе в подрозетник. Жду комплектующие из Китая, буду пробовать все уместить.
    А вам бы я рекомендовал просто купить sonoff и не изобретать велосипед, дешевле все равно не получится, а ради удовольствия можно было сделать и симпатичнее.
  • +3
    Задумка — класс! А вот конструкция — ужас…
    Такой корпус выдержит максимум сотню включений — потом развалится. Хорошо если при этом ничего не замкнёт и не загорится. Я понимаю, что сейчас скажут — ты сам сделай и покажи, но делать мне не надо, нет времени и нет надобности в таком устройстве. А вот подсказать, что можно и нужно было сделать по-другому, могу (критикуя — предлагай. Так вроде говорят?)
    1. Корпус надо брать из чего-то стандартного: переходники, розетки, тройники, и т.п. — так можно будет и внешний вид нормальный сделать, и повторяемость конструкции на порядок больше, и меньше потерь времени на создание корпуса (тут наверняка занимает 80% времени от всех работ).
    2. Больше проводов богу проводов! Надо избавиться от этой паутины. Продумать другие варианты компоновки, чтобы не было этой паутины. Иначе если что-то сломается (да мало ли, свет моргнул и источник питания сгорел, или просто проводок отломился), то через год-два уже и не вспомнишь, где какой провод и куда идёт.
    3. Избавиться от лишних кнопок, разъёмов и светодиодов снаружи — светодиод (если он вовсе так нужен) сделать внутри, тем более он нужен только на время отладки; кнопку заменить на геркон, и снаружи обозначить место, куда приложить магнитик для включения режима программирования (или настройки, или что там ещё может понадобиться), или использовать другой какой-нибудь способ. Либо кнопку миниатюрную сделать (там же не амперы коммутируются, токи мизерные). Разъём тоже внутрь или вовсе убрать.

    Даже если не переделывать, то в этой конструкции как минимум надо сделать уголки внутри, изолировать можно эпоксидкой, после того как прикрутим. Прикрутить не этими ужасными саморезами, а, например, винтами М2,5х3 с плоской шляпкой. Если отверстия просверлить на 2мм сверлом, можно винты на 2.5 спокойно закрутить, и это будет держать не хуже саморезов. Если же их использовать чуть длиннее (а уголки будут по-прежнему снаружи) то изнутри по капле эпоксидки на каждый винт — и потом не выдернешь.
    • 0
      Про задумку и реализацию 100 из 100
    • 0
      Спасибо, за конструктивные советы
  • +2
    Существуют готовые корпуса в продаже для таких решений. Не сочтите за рекламу.



    Использовать стабилитрон для понижения на 3,3 вольта как-то не кошерно.
    • 0
      Это легче чем искать готовый преобразователь 200 — 3.3 V, питать от батареек, делать делить напряжения к 220 — 5 V, или использовать полевой транзистор

      А что было бы кошерно?
      • +1
        Может я не понял схему, тут меня поправили. Если по быстрому, то я бы взял, например, LM1117 3.3
      • 0
        HLK-PM03, преобразователь 220AC -> 3.3DC (5V и 12V тоже есть модули). Они с защитой от возгорания.
    • 0
      Насколько я понял, там стабилитрон стоит в цепи контроля импульсного преобразователя зарядки, а не для понижения.
      • 0
        Если так, то да.
  • +2
    Я бы не рекомендовал связываться со сплавом Розе. В Вашем случае гораздо проще залудить дорожки паяльником и припоем.
    • 0
      Паяльником было бы наверно лучше, нужно больше опыта лужения, а результат Розе выходит ровнее с первого раза, без подтёков.
      • +2

        Зато резко снижается надежность вообще всех паек. А локальный нагрев любой из них до 94°С неизбежно приведет к ее разрушению.Лужение сплавом Розе — однозначное зло.

      • +1
        Канифоль и 40 Вт паяльник — лужение чистое :))))
        • 0

          Если еще у этого паяльника обмотать жало плетенкой от коаксиального кабеля, совсем красиво будет.

  • +1

    А какое полезное применение у этого гаджета? Зачем мигать лампочкой с помощью мобильника?

    • –1
      Такое же как и у обычной WiFi розетки
      • 0

        А у обычной WiFi розетки какое предназначение? ;) У меня дома, например, то, что имеет смысл включать-выключать по таймеру, уже оборудовано таймером (стиралка, посудомойка). А зачем нужно включать-выключать что-то по WiFi… Не могу придумать вменяемый use case. :(

        • 0
          На складе есть оборудование, которое иногда подвисает.
          Что бы не ездить только ради ребута, слепил за вечер из ардуино, эзернет шилда и реле похожую конструкцию.
          Плюс самодельного устройства — что можно с минимальными затратами дорабатывать функционал под свои нужды
  • 0
    Автор, надеюсь, это только прототим и Вы не будете им пользоваться?
    Одни винты крепления под напряженим 220В снаружи корпуса чего стоят. Да и китайские сопли держащие штыри вилки доверия не вызывают.
    • 0
      Да, это только первый пропотип, с корпусом такого вида для легкой сборки-разборки и отладки.
  • 0
    Не вижу смысла в таком корпусе. На что там смотреть? Делать дизайн плат надо сразу под реальное использование, тестировать на макетной плате. А с такими кусками шурупов, торчащих внутрь, втыкать в розетку — опасно для жизни.
    • 0
      Смысл в такой конструкции корпуса есть, только тогда когда нужно иметь доступ к любому компоненту не трогая остальные части и провода, для легкой сборки-разборки. Жаль ещё, что прозрачных корпусов не делают, только белые.

      Шурупы нужно укоротить, согласен.
  • 0
    Почему-то еще никто не предложить решение аналогичное от Fibaro:
    image
    • 0
      Потому что все, кто о нем знают, представляют ценник. Зачем его предлагать?
      • 0
        Затем, что это удобно, компактно и функционально. Я не про Z-Wave, а про конкретную реализацию. Что мешает сделать такую на esp8266?
        • 0
          Если не про Z-Wave, то уже придумано, продается и максимально дешево. ITEAD S20
          • 0
            Ну куда вы спешите с ответом?

            S20 обладает следующими недостатками:
            1) Габариты раза в 3 больше (очень актуально, когда надо несколько рядом воткнуть)
            2) Нет измерителя мощности и счетчика потребленной энергии, соотв. не отображает текущую потребляемую мощность светодиодом.

            А как дешевая управляемая розетка S20, согласен хорош.
  • 0
    У меня в доме нет ни одной розетки, куда можно воткнуть это изделие, оно просто не достанет до клемм.
  • 0
    Есть такое, с этой проблемой я столкнулся когда рещил воткнуть в розетку вне дома, так как делал её дома.
    • 0
      А почему не воспользоваться готовой от Sonoff например, за $13?
  • 0

    Я сейчас тоже разрабатываю умную розетку\выключатель\сетевой фильтр, так же на симисторе с оптроном, только вместо ESP8266 — RTL 8710 (аналог от Realtek, погуглите. Поддержка и сообщество не такое, но эксперты говорят, что куда лучше с софтом и SDK).


    Для питания в пртотипе такой ужас — китайский компактный БП на 5в + AMS 1117 как стаб на 3.3в. Конечно, я не доверяю этому китайскому блоку. Какой будет кошерный путь?


    Только вопрос безопасности — если МК зависнет. Конечно, можно и нужно использовать вочдог, но есть ли возможность сделать так, чтобы в любом случае руками можно было включать\выключать, даже с отказавшим контроллером?

    • 0
      руками вытащить из розетки :)
    • 0
      Для питания в пртотипе такой ужас — китайский компактный БП на 5в + AMS 1117 как стаб на 3.3в. Конечно, я не доверяю этому китайскому блоку. Какой будет кошерный путь?

      выше ответил как раз по вашей теме
  • 0
    Прикольный убивающий артхаус получился, kreosan одобрит).
    Но по мне так все это должно быть в виде компактного модуля как у НооЛайта, и центральный сервер, который уже отправляет розеткам команды. Мечта, конечно, по плинтусу провести низковольтное питание и шину связи, и к каждой розетке снизу завести питание…
  • 0

    А вы не думали разделить устройство на блоки так, чтобы на один блок контроллера можно было паровозиком подключить несколько дополнительных розеток? Я это вижу как набор управляемых по SPI тройников, которые втыкаются по цепочке друг в дружку.

    • +1
      После появления ITEAD S20, того же самого, но в красивом фабричном корпусе, с ESP8266 внутри, с возможностью перепрошивки, за $12,86 смысла разрабатывать что-то свое подобное стало полный ноль. Китайцы молодцы. Надо покупать, перепрошивать и использовать.
    • 0
      Спасибо, за идею, нет не думал
  • 0
    Да нормальный прототип №1.
    Когда начинаешь делать, кажется что вот сейчас сделаю конфету. По факту получается все в клею, времянках, «соплях». Прототипы 2 — 3 уже ближе к тому, о чем думал с самого начала.
    • 0
      Спасибо, за понимание
  • 0
    ййяуч… только взглянул на реализацию выходной розетки и будто реально током дёрнуло… на металлических деталях торчащих наружу имеется 220В!!! Кстати, если их замкнуть даже в ВЫКЛЮЧЕННОМ состоянии симистора получится КЗ с вылетом симистора, и хорошо если автомат сработает. Симистор открывается от быстрого изменения напряжения на своих клеммах(параметр dV/dt), из-за паразитной емкостной связи.

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.



Original Page: https://geektimes.ru/post/285008/



Sent from my iPad