NEWS
Драйвер MQTT
-
Проблема исчезает при отключении драйвера, так что железяка скорей всего исправно работает. Через облако все работало очень долго и без сбоев. Кстати через несколько часов проблема пропала сама собой :shock: .
-
Проблема исчезает при отключении драйвера, так что железяка скорей всего исправно работает. Через облако все работало очень долго и без сбоев. Кстати через несколько часов проблема пропала сама собой :shock: . `
Опять сбой. В логе ошибок нет. -
Извините за панику,за сомнения.Методом исключения ,вывел что ошибка закралась в скетче ардуины.
Забросил MQTT, першел на Modbus TCP. Пока всё норм.
-
Собрал монитор энергии на pzem-004t и esp (прошивка Wifi-iot). Драйвер MQTT настроен как сервер. Вначале все работало, потом началась какая-то ерунда - часть объектов отображается некорректно, в т.ч. и на веб-интерфейсе esp(при этом он ещё заметно подвисает). `
Если и в интерфейсе ESP проблемы - то тут MQTT совсем не при чем. Думаю, Вы это понимаете сами. Зря Вы эту поделку (pzem) купили… Я сначала тоже на нее поглядывал, все прикидывал как подключать, куда и как прикручивать. В итоге просто взял маленький (1DIN) счетчик за 20$ (SDM120). Как индикатор - не очень из-за размеров, зато места не занимает много в щитке и проблем с подключением (modbus) никаких. Да и разных параметров отдает побольше (реактивная составляющая и частота). Была бы возможность подключиться к счетчику мосэнерго - сделал бы так, но увы, не дают, поэтому такой вот мониторинг через второй счетчик... `
sdm120 - это хорошо. но все не совсем тривиально при передаче rs485 на сервер. конечно если есть медный кабель прямиком в сервер - не проблема. Но если нет - то пляски с бубном.
У меня HLK-RM04 прокидывает serial через TCP , потом эмулятор tty под linux (socat), потом mdbusd (Mudbus RTU -> Modbus TCP).
с учетом стоимости HLK-RM04 и sdm120 - выходит под $50 уже.
а что касаемо героя pzem-004t и esp - тут надо смотреть на коммуникации esp и pzem-004t. если на esp плате есть чип usb-uart , его надо отключить. об этом кстати вот https://wifi-iot.com/p/wiki/15/ сказано. он может серьезно мешать.
-
sdm120 - это хорошо. но все не совсем тривиально при передаче rs485 на сервер. конечно если есть медный кабель прямиком в сервер - не проблема. Но если нет - то пляски с бубном.
У меня HLK-RM04 прокидывает serial через TCP , потом эмулятор tty под linux (socat), потом mdbusd (Mudbus RTU -> Modbus TCP).
с учетом стоимости HLK-RM04 и sdm120 - выходит под $50 уже.
а что касаемо героя pzem-004t и esp - тут надо смотреть на коммуникации esp и pzem-004t. если на esp плате есть чип usb-uart , его надо отключить. об этом кстати вот https://wifi-iot.com/p/wiki/15/ сказано. он может серьезно мешать. `
Как у Вас все заморочено… Не, у меня проще, в качестве сервера WB контроллер (который фактически является ядром) c RS-485, а уж с него MQTT на ioBroker. Может когда-нибудь прикручу к Orange Pi, где также стоит ioBroker, RS-485 - UART и отправлю прямо туда modbus RTU. Но пока нужды нет.
-
а что касаемо героя pzem-004t и esp - тут надо смотреть на коммуникации esp и pzem-004t. если на esp плате есть чип usb-uart , его надо отключить. об этом кстати вот https://wifi-iot.com/p/wiki/15/ сказано. он может серьезно мешать. `
Я читал это предупреждение, и собирал из того, что было под рукой (кстати, именно NodeMCU). <u>НО!!!</u> Физическое отключение pzem-004t (совсем-совсем) не улучшило ситуацию! Оказалось, что ESP8266, при подключении к драйверу MQTT (в режиме Сервер/брокер), начинает циклически перезагружаться! Отсюда и странные тормоза интерфейса - устройство просто недоступно N секунд. Причина перезагрузки непонятна… -
Собрал монитор энергии на pzem-004t и esp (прошивка Wifi-iot). Драйвер MQTT настроен как сервер. Вначале все работало, потом началась какая-то ерунда - часть объектов отображается некорректно, в т.ч. и на веб-интерфейсе esp(при этом он ещё заметно подвисает). В логе ошибки:
! mqtt.0 2017-02-19 20:03:55.369 error mqtt.0 Closed because of error
! mqtt.0 2017-02-19 20:03:55.368 warn mqtt.0 Client error [ESP82660006940a]: Error: read ECONNRESET
! mqtt.0 2017-02-19 20:03:54.377 info mqtt.0 publishOnSubscribe send all known states
! mqtt.0 2017-02-19 20:03:54.377 info mqtt.0 Client [ESP82660006940a] subscribes on "ESP0006940A.#" with regex /^mqtt.0.ESP0006940A../
! mqtt.0 2017-02-19 20:03:54.376 info mqtt.0 Client [ESP82660006940a] subscribes on "ESP0006940A.#" with regex /^ESP0006940A../
! mqtt.0 2017-02-19 20:03:54.376 info mqtt.0 publishOnSubscribe
! mqtt.0 2017-02-19 20:03:54.376 info mqtt.0 Client [ESP82660006940a] subscribes on "mqtt.0.timestamp"
! mqtt.0 2017-02-19 20:03:54.375 info mqtt.0 publishOnSubscribe send all known states
! mqtt.0 2017-02-19 20:03:54.370 info mqtt.0 Client [ESP82660006940a] subscribes on "testtopic.#" with regex /^mqtt.0.testtopic../
! mqtt.0 2017-02-19 20:03:54.369 info mqtt.0 Client [ESP82660006940a] subscribes on "testtopic.#" with regex /^testtopic../
! mqtt.0 2017-02-19 20:03:54.369 info mqtt.0 publishOnSubscribe send all known states
! mqtt.0 2017-02-19 20:03:54.369 info mqtt.0 Client [ESP82660006940a] subscribes on "ESP0006940A.#" with regex /^mqtt.0.ESP0006940A../
! mqtt.0 2017-02-19 20:03:54.368 info mqtt.0 Client [ESP82660006940a] subscribes on "ESP0006940A.#" with regex /^ESP0006940A../
! mqtt.0 2017-02-19 20:03:54.205 info mqtt.0 Client [ESP82660006940a] connected
! mqtt.0 2017-02-19 20:03:49.765 info mqtt.0 publishOnSubscribe send all known states
! mqtt.0 2017-02-19 20:03:49.765 info mqtt.0 Client [ESP82660006940a] subscribes on "ESP0006940A.#" with regex /^mqtt.0.ESP0006940A../
! mqtt.0 2017-02-19 20:03:49.764 info mqtt.0 Client [ESP82660006940a] subscribes on "ESP0006940A.#" with regex /^ESP0006940A../
! mqtt.0 2017-02-19 20:03:47.397 info mqtt.0 Client [ESP82660006940a] closed
! mqtt.0 2017-02-19 20:03:47.396 error mqtt.0 Closed because of error
! mqtt.0 2017-02-19 20:03:47.396 warn mqtt.0 Client error [ESP82660006940a]: Error: read ECONNRESET `
Боролся с такими же симптомами, постоянно обрывы и запись в логи.На более низкой версии драйвера ошибок гараздо меньше но они есть.
В итоге сменил настройки драйвера на свои и всё стало отлично. Я не знаю может сейчас после этого поста мне скажут что эти настройки неправильные или ещё чего то, но такая настройка заработала так как нужно!
Пробуйте сменить у себя. (в ESP время опроса датчиков pzem-004t 5-6 сек, отправка mqtt 5сек.)
Ну а настройка драйвера ниже в скринах.
PS никаких usb-uart на плате нет!
1795_1.jpg
1795_2.jpg -
а что касаемо героя pzem-004t и esp - тут надо смотреть на коммуникации esp и pzem-004t. если на esp плате есть чип usb-uart , его надо отключить. об этом кстати вот https://wifi-iot.com/p/wiki/15/ сказано. он может серьезно мешать.
Я читал это предупреждение, и собирал из того, что было под рукой (кстати, именно NodeMCU). ****<u>НО!!!</u>**** Физическое отключение pzem-004t (совсем-совсем) не улучшило ситуацию! Оказалось, что ESP8266, при подключении к драйверу MQTT (в режиме Сервер/брокер), начинает циклически перезагружаться! Отсюда и странные тормоза интерфейса - устройство просто недоступно N секунд. Причина перезагрузки непонятна…
Когда у Вас сейчас на стандартных настройках есть связка (ESP+pzem-004t+Iobroker), возьмите например Android устройство и подключитесь к iobroker по MQTT посмотрите сколько держится конект (макс 5 сек и обрыв, потом опять конект и обрыв) Проверьте ради интереса.PS в телефоне введите ip устройства где установлен iobroker, а не ip адрес ESP.
А потом поменяйте настройки как у меня и проверьте заново.
-
В итоге сменил настройки драйвера на свои и всё стало отлично.! `
Помогло! -
Когда у Вас сейчас на стандартных настройках есть связка (ESP+pzem-004t+Iobroker), возьмите например Android устройство и подключитесь к iobroker по MQTT посмотрите сколько держится конект (макс 5 сек и обрыв, потом опять конект и обрыв) Проверьте ради интереса.
PS в телефоне введите ip устройства где установлен iobroker, а не ip адрес ESP.
А потом поменяйте настройки как у меня и проверьте заново. `
Обрывы были. -
Вот и отлично.
-
В итоге сменил настройки драйвера на свои и всё стало отлично.!
Помогло!
а какая версия драйвера MQTT ?
-
В итоге сменил настройки драйвера на свои и всё стало отлично.!
Помогло!
а какая версия драйвера MQTT ? `
Последняя. -
Помогло! `
а какая версия драйвера MQTT ?
Последняя.
а не можешь попробовать откатить на 1.2.5 ? она у меня стабильно работает со стандартными настройками без плясок с бубном.
а на последней сплошные зависания.
-
а какая версия драйвера MQTT ?
Последняя.
а не можешь попробовать откатить на 1.2.5 ? она у меня стабильно работает со стандартными настройками без плясок с бубном.
а на последней сплошные зависания. `
С настройками от v965 пока работает стабильно. -
а какая версия драйвера MQTT ?
Последняя.
а не можешь попробовать откатить на 1.2.5 ? она у меня стабильно работает со стандартными настройками без плясок с бубном.
а на последней сплошные зависания. `
Вроде де бы писали уже, что обрывы из за 2х галочек:-
отсылать состояния при старте
-
использовать chunking заплатку.
Первое: MQTT клиент не может переварить обрушивающийся на него поток данных при старте.
А второе - криворукие и ленивые программисты esp библиотеки, которые думают, что TCP это пакетная передача.
Тоже используешь wifi-iot?
-
-
Последняя. `
а не можешь попробовать откатить на 1.2.5 ? она у меня стабильно работает со стандартными настройками без плясок с бубном.
а на последней сплошные зависания. `
Вроде де бы писали уже, что обрывы из за 2х галочек:-
отсылать состояния при старте
-
использовать chunking заплатку.
Первое: MQTT клиент не может переварить обрушивающийся на него поток данных при старте.
А второе - криворукие и ленивые программисты esp библиотеки, которые думают, что TCP это пакетная передача.
Тоже используешь wifi-iot? `
так точно, использую. виноват
но другого работающего решения из коробки для ESP нет.
ты имеешь ввиду
Publish own states on connect: оно должно быть выключено?
и chunking заплатку тоже отключить?
-
-
1. Выключено
2. Включено
-
но другого работающего решения из коробки для ESP нет. `
http://ab-log.ru/forum/viewtopic.php?f=1&t=1130 -
1. Выключено
2. Включено `
Помогло использование Use chunk patch: yes
Publish own states on connect: - не выключал