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

Тема в разделе "Глядите, что я сделал", создана пользователем ИгорьК, 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 КБ
      Просмотров:
      21
    • bin.zip
      Размер файла:
      2,3 КБ
      Просмотров:
      19
    Последнее редактирование: 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 нравится это.