Контроль работы газового / электрического / твердотельного котла.

Тема в разделе "Глядите, что я сделал", создана пользователем ИгорьК, 9 янв 2019.

  1. ИгорьК

    ИгорьК Оракул Модератор

    Будем контролировать через wifi по протоколу MQTT, наблюдая за:
    1. потреблением электричества через PZEM004-t;
    2. температурой через любое количество DS18b20;
    3. сигналом ошибки, если таковой выдается котлом.
    Устройство собрано на ESP-8266 и может работать без любого из указанных выше элементов, в том числе без всех трех. Тогда, как минимум, вы будете в курсе наличия у котла электричества. :)

    Выглядит это так:

    upload_2019-1-9_15-38-44.png

    Контролировать таким образом можно все, что потребляет ток, греет/холодит и/или/ко_всему_прочему имеет сигнал тревоги.

    Вот как это видно на сотовом телефоне:

    tmp-cam-6067931970776007225.jpg

    А это - MqttSpy:

    upload_2019-1-13_20-42-32.png

    И, соответственно, Domoticz:

    upload_2019-1-13_20-44-20.png

    upload_2019-1-14_9-32-48.png

    upload_2019-1-14_9-33-55.png
     
    Последнее редактирование: 14 янв 2019
    Securbond, KindMan, SergeiL и 2 другим нравится это.
  2. ИгорьК

    ИгорьК Оракул Модератор

    И оно конечно, о ужас, будет работать на Lua. А именно:

    1. Правим свои данные брокера, пароля в файлах (можно не править - так заработает, по умолчанию ловите себя на iot.eclipse.org):

    upload_2019-1-9_14-17-46.png


    upload_2019-1-9_14-16-45.png

    2. Заливаем прошивку из файла bin.zip через https://github.com/marcelstoer/nodemcu-pyflasher

    [​IMG]

    3. Весь комплект файлов заливаем в модуль через ESPlorer: https://esp8266.ru/esplorer/

    [​IMG]

    4. Подключаем модуль к wifi:
    http://forum.amperka.ru/threads/esp...аммирования-nodemcu.12558/page-27#post-198331

    Код (Lua):
    do
    local scfg = {}
    scfg.ssid = 'ВАША_Точка_Доступа'
    scfg.pwd = 'ВАШ_ПАРОЛЬ'
    scfg.auto = true
    scfg.save = true
    wifi.setmode(wifi.STATION)
    wifi.sta.clearconfig()
    wifi.sta.config(scfg)
    wifi.sta.connect()
    tmr.create():alarm(20000, tmr.ALARM_SINGLE, function() print('\n', wifi.sta.getip()) end)
    end
    Этот код набираем в левом окне ESPlorer и жмем кнопку
    upload_2019-1-9_14-25-45.png

    5. Проверяем работу устройства:
    1 - "Reload"
    2 - "_init.lua"

    upload_2019-1-9_14-28-39.png

    После нажатия на _init.lua:

    upload_2019-1-9_14-30-1.png


    Все получилось и опубликовано. Смотрим топик для подписки на брокере:
    upload_2019-1-14_9-41-58.png

    Через MqttSpy подписываться на 'PZEM004_01255045/#' (для моего случая, у вас будет другое окончание топика) а дальше раскладывать на составляющие.

    Переименовываем через правую кнопку мыши "_init.lua" в "init.lua":

    upload_2019-1-9_14-31-47.png

    Все.
     

    Вложения:

    • Amperka_Control_Gas.zip
      Размер файла:
      7,7 КБ
      Просмотров:
      55
    • bin.zip
      Размер файла:
      2,3 КБ
      Просмотров:
      51
    Последнее редактирование: 14 янв 2019
    DetSimen, ImrDuke, Сусемьбек и ещё 1-му нравится это.
  3. KindMan

    KindMan Гик

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

    ИгорьК Оракул Модератор

    Работает стабильно, а что с точностью - не скажу. Для дома, тем более - для контроля работы, нормально.
     
    Последнее редактирование: 10 янв 2019
    DetSimen нравится это.
  5. skalinas

    skalinas Нерд

    Добрый день, можно посмотреть скетч?
     
  6. ИгорьК

    ИгорьК Оракул Модератор

    Последнее редактирование: 25 фев 2019
  7. skalinas

    skalinas Нерд

    В среде IDE, если можно.
     
  8. ИгорьК

    ИгорьК Оракул Модератор

    Это невозможно. Железка выполнена в среде NodeMCU Lua. Выше все разъяснено. Если нужна, полагаю, несложно повторить.
     
    DetSimen нравится это.
  9. Arkad

    Arkad Нерд

    а связь с телефоном как осуществляется?
     
  10. ИгорьК

    ИгорьК Оракул Модератор

    А чтобы это понять, надо разобраться с тем, что есть протокол mqtt, где и как он применяется
     
    SergeiL и DetSimen нравится это.
  11. Arkad

    Arkad Нерд

    tss-5-2016-27-31-ris-8.jpg )))
     
  12. Arkad

    Arkad Нерд

  13. Arkad

    Arkad Нерд

    интересная тема, надо ее учить отдельно конечно...
     
  14. parovoZZ

    parovoZZ Гуру

    хочу давно спросить - если mqtt повесить на выключатель, то какой будет пауза между нажатием клавиши и включением света? Как быть с диммированием?
     
  15. ИгорьК

    ИгорьК Оракул Модератор

    Друже, я не понимаю вопрос.

    mqtt - протокол сетевого взаимодействия. Он ни чем не отличается от других сетевых протоколов по скорости, которая зависит от тучи факторов. Вопрос еще связан с тем, как точно будет организовано это сетевое взаимодействие.

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

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

    В целом, в самых сложных случаях, задержки больше одной секунды я не встречал. Но это - исключение. (Замечу, что в деле включения/выключения электричества интервалы меньше секунды в целом не ощущаются, ибо и лампы требуют некоторого времени на включение/разогрев)
    Понятно, если "летишь" в туалет, это может оказаться фатальным :)

    У меня нет ни одного выключателя света "прямо" через mqtt, это всегда резервная удобняшка.
    Три прожектора включаются выключателями, но могут и через смартфон, свет в двух местах также включается выключателями, но тоже может через смартфон.

    Фонари на доме и участке включаются сами автоматом по освещению и выключаются по времени, но тоже можно через смартфон.

    То есть, ИМХО, все управление по mqtt, как, впрочем, по любому другому протоколу, должно быть резервным, а не "рабочим".

    Тем не менее, я приезжаю на дачу, она меня распознает - включается освещение. Секунда - здесь важно или нет?
     
    Последнее редактирование: 10 окт 2019
    DetSimen и SergeiL нравится это.
  16. SergeiL

    SergeiL Гуру

    Проверял.:)
    Выключатель был подключен к своей плате, исполнительное устройство на базе sonoff. Соединение по MQTT.
    Дома, где стоит MQTT брокер на распбери, задержка совсем незначительна - практически незаметна.
    На работе, через интернет (и выключатель, и исполнительное устройство), - задержка на уровне включения люминесцентной лампы.
     
  17. SergeiL

    SergeiL Гуру

    Аналогично, через MQTT в основном все выключаются...
     
    ИгорьК нравится это.
  18. alp69

    alp69 Гик

    Дублирование по какой схеме? Проходной выключатель?
     
  19. ИгорьК

    ИгорьК Оракул Модератор

    nooLite система, а дублируется через их же UART модуль https://igorkandaurov.com/tag/noolite/
    Сделан переходник на ESP-8266 в mqtt брокер.