ESP8266 в качестве WiFi шлюза к «умному дому»

ESP07 и ESP12Уже почти два года у меня дома работают устройства из системы  «умного дома» HAILE, состоящие из радио-реле, выключателей и пультов управления 315МГц, а так же устройств на AVR, интегрированных в эту систему.

Совсем недавно сделал лампу с регулируемой яркостью с управлением от общего пульта.

И вот приехали очень дешевые WiFi платки ESP8266 и я решил сделать на них WiFi шлюз, чтобы иметь возможность управлять светом с компьютера, телефона или планшета.

Платы ESP8266

Мой первый опыт общения с данными платками описал здесь.

ESP8266 га макетке

По мотивам обсуждения этой статьи заказал модули ES-07 c nерминальными платами для ESP8266 на ALIEXPRESS

Терминальная плата ESP8266

ESP8266 на терминальной плате

К сожалению, LM1117 3.3V не подошел на данную плату на размером, ни цоколем. Пришлось сделать колхоз на проводках:

LM1117 3.3

В прошлый раз я поигрался с прошивкой NodeMCU со встроенным интерпретатором LUA. На этот раз я работал с прошивкой homes-smart с очень простой настройкой по WEB интерфейсу.  Но начнем все по порядку.

Подключаю модуль ESP8266 к переходнику UART/USB, но с внешним питанием. В моем случае, модуль просаживал напряжение 3.3В на стабилизаторе переходника и уходил в перезагрузку.

Запускаю программу  CollTerm и на скорости 9600, даю команду AT+GMR и получаю текущую версию прошивки модуля:

0020000903

compiled @ Dec 15 2014 19:43:31

AITHINKER-20141206

Регистрируюсь на сайте esp8266.homes-smart.ru. Там в личном кабинете можно получить бесплатную версию прошивки или версию PRO, оплатив смешную сумму 100 руб. Разработчик прошивки, Максим, предоставил мне версию PRO на тестирование, за что я ему сильно благодарен.

Сразу же собираю прошивку из конструктора, который доступен обладателем версии PRO

 

Конструктор прошивок

Получаю прошивку одним файлом, затем при помощи утилиты XCOM UTIL заливаю прошивку в ESP8266, не забывая GPIO0 замкнуть на землю.

Прошивка ESP8266

После этого делаю все по инструкции, написанной на сайте производителя прошивки. И вот прошивка загружена, параметры WiFi установлен -, поиграл датчиком температуры, попробовал PWM выход на драйвер, аналогичный этому — все работает.
Подключил к GPIO5 передатчик на 315МГц

ESP8266 с передатчиком 315МГц

Записал все коды своих выключателей при помощи специальной программки сканера на Ардуино. И посылая команды типа: http://192.168.1.12/rcremote?pin=5&cmd=23552, где 192.168.1.12 — адрес моей ESP-шки, а CMD — требуемая команда в виде десятичного числа стал выключать/выключать все устройства умного дома. Вот так все просто!

Но пойдем дальше — в телефонах и планшетах тоже  есть веб браузеры, но вводить какие то адреса очень неудобно.

К счастью, есть уже готовые приложения, готовые для управления умным домом. Я воспользовался бесплатным приложением Arduino WiFi WebServer Router. Скачал его на свой планшет, прописал на нужных кнопочках свои URL и даже настроил голосовые команды. Подробно все описано в видео от разработчика

Управление умным домом с Андроид

Небольшой итог

В первую очередь хотелось бы отметить простоту использования прошивки homes-smart. Ничего не нужно программировать, компилить и загружать. Чуть чуть настроек в WEB-интерфейсе и все. Получить дополнительную информацию можно в группе VKontakte  или на форме homes-smart. Данный проект активно развивается, и, безусловно заслуживает внимания.

Много проблем было со самим модулем ESP8266. Модуль очень чутко реагирует на статику и броски напряжения. На форуме советуют подтягивать все что можно к питанию 3.3В через резисторы и ставить на питания кондеры — электролит + керамику.

Так же модуль очень капризно работал с моим роутером Zexel Keenetic. Данная проблема так же описана на форуме. В перспективе, если буду повсеместно использовать эти миниатюрные WiFi модули, то поставлю себе второй роутер (есть старый DIR320) на протоколе 802.22G отдельно для устройств умного дома.

Прикупить ESP8266 ES07 с платками по $2.64 сейчас можно на АЛИ

Кот, как всегда, активно участвовал в тестировании, создавал статические помехи, и потом, изможденный, ушел спать.

Устал

 

 

 

 

 

Вы можете оставить отзыв или трекбек со своего сайта.

22 комментария на «ESP8266 в качестве WiFi шлюза к «умному дому»»

  1. А как через интернет управлять ?
    дома я и руками всё могу включить и посмотреть глазами.

    • Alexey Alexey:

      Нужен статический IP-адрес интернета.
      Пробрасываете IP-шник ESP-шки роутером во вне и готово.

      • Bems:

        Нужен статический IP-адрес интернета.
        Пробрасываете IP-шник ESP-шки роутером во вне и готово.

        У меня в локалке все работатет. Интернет — USB модем с статическим IP — каким образом залезти на ESP через инет. Глобал статический IP у модема 212._._._, локальный у модема 192.168.1.2, локалка на роутере 192.168.0.1, IP ESP 192.168.0.201

        • Alexey Alexey:

          В роутере должна быть функция проброса портов на внутренний IP. ЕСП в примере из статьи работает на 80-м порту, к нему и пробрасывайте

  2. Максим:

    Добрый день.Собрал погодную станцию с прошивкой homes-smart с отправкой данных на народмон ,теперь нужно принять данные с этой станции на ардуину с подключенным к ней ESP8266. Помогите ,подскажите пожалуйста как это сделать.

    • Alexey Alexey:

      С этой прошивкой не знаю. Спросите у них на форуме
      В стандартной прошивке обмен с Ардуиной производится через последовательный интерфейс при помощи AT-команд

  3. Максим:

    Спросил ,молчат.

  4. Максим:

    Про АТ команды я знаю ,но как это должно выглядеть для меня не понятно.

    • Alexey Alexey:

      Я не совсем понимаю, зачем тут Ардуино нужен
      Большую часть периферии можно к ESP-шке прикрутить. Правда не все данная прошивка поддерживает

  5. Максим:

    Хочу выводить показания на 4″ дюймовый дисплей.

    • Alexey Alexey:

      Я сейчас пользуюсь Arduino IDE для программирования ESP — легко подключается практически любое оборудование

  6. Леонид:

    Можно ли с помощью esp8266 автономно по алгоритму управлять сайтом ?

    • Alexey Alexey:

      Не понятно что значит «управлять сайтом»
      Генерить http запросы можно
      Поддерживать свой веб-сервер тоже

  7. Alex:

    Подскажите, какие порты используются для связи с ESP из вне через инет. Просто целиком прокидывать наружу устройство я не готов, тк оборудования много, разные порты на разные устройства прокинуты, и вот так вот открыть все порты (в т.ч. занятые) наружу не получится.

  8. Саня:

    Есть необходимость управлять 10 потолочными светильниками в одном помещении. При этом каждый из этих светильников имеет в себе три отдельных лампы. Можно ли организовать управление всем этим хозяйством с помощью модулей ESP8266 из одного места, с тем чтобы не тянуть от выключателя кучу проводки?

    • Alexey Alexey:

      Мне кажется, в вашем случае гораздо проще и надежнее прикрутить систему радио-реле типа таких что я здесь описывал
      Модуль на три канала идеально вписывается в вашу конфигурацию. Управляется с настенного пульта, имитирующего выключатель, либо с переносной ДУ.
      Настраивается много пультов на много реле.
      Если нужно еще к WiFi прикрутить, то можно тот же ESP использовать

  9. Скажите, что я делаю не так, я пробовал с esp-01 но там была дикая пайка и я не был уверен исправна ли она пришла, а сейчас я запаиваю esp12 на белый переходник.
    Все делаю, что описано в статьях коих множество и этой в том числе, он как и положено не прошивается пока не введешь в ̶с̶о̶с̶т̶о̶я̶н̶и̶е̶ ̶т̶р̶а̶н̶с̶а̶ режим программирования, в режим программирования входит и я его могу прошить без проблем. Но после прошивки ничего не происходит, в сериал тишина, сетей он не создает и не коннектит не куда. Я пробовал выбирать разные платы, какую выбирать под эту распайку на белой подложки я не знаю, но прошивается под любую nodemcu или espmodul но ничего не происходит после прошивки.
    в тоже время с готовыми платами у меня есть теже nodemcu v3 маленькая и большие где уже есть переходник и юсб порт все заливается и работает на раз два.
    esp меня убивает! помогите или я свожу счеты с жизнью =)

    • Alexey Alexey:

      С белыми платами встречался с одной проблемой. Там вместо перемычки на питание китаец запаял резистор в 10К.
      Я на них в обязательном порядке делаю две кнопочки
      GPIO0 к земле и RESET. Потому что передергивание питание не всегда включает режим программирования.
      Нажали GPIO0, затем RESET. Увидели непонятную строчку в терминале — можно шить.
      После прошивке ресет нажали, что то в терминал лезет.
      Ну и обязательно внешнее питание 3.3В. Так как переходник не дает нужный ток.

  10. Почему бы не воспользоваться Websocket. Там и управление и статистика. Базируется на обычных браузерах. Время реакции 1 сек. Никакой проброс не нужен и работает с любого IP — динамического, статического, серого, белого — не важно. Скачиваете библиотеку, загружаете примеры. Даже без регистрации можно работать. Короче, http://view24.ru

    • Alexey Alexey:

      Планирую переводить все на MQTT. Поднимать сервер на Orange PI. Как то более стандартно это — есть масса приложений под тот же Андроид

  11. Михаил:

    Добрый день, Алексей!
    Подскажите пожалуйста:
    «Записал все коды своих выключателей при помощи специальной программки сканера на Ардуино…»
    это какой?
    Заранее, спасибо!

Ваш отзыв