[Модуль] MQTT (mqtt)

Разработка дополнительных модулей, подключение различных приложений.

Модератор: immortal

Аватара пользователя
Sapizdullin
Сообщения: 408
Зарегистрирован: Сб фев 18, 2017 9:47 am
Откуда: Земля

Re: [Модуль] MQTT (mqtt)

Сообщение Sapizdullin »

Fav0rit писал(а): Вс мар 31, 2019 3:04 am По моим наблюдениям MQTT вообще работает абы как, причем очень давно, о чем я неоднократно писал и в эту тему. Во-первых постоянные реконнекты, но мне кажется, что при использовании PHP это победить сложно, плюс в последнее время появились какие-то затыки в работе цикла, даже по таймеру самого цикла видны. На практике если я щелкаю выключателем, который отправляет сообщения в MQTT, то некоторый промежуток времени все отображается отлично и без задержек, а потом бац и секунд 30 вообще никакой реакции, хотя сторонний клиент MQTT все отображает правильно.
Нормально работает на железе из подписи.. Никаких глюков. Какими железками управляете? Думаю проблема в них. У меня ESP штук 20 - все нормально.
Intel(R) Core(TM) i7-6700, Debian 9 "Stretch", Zoneminder, Avreg.
Аватара пользователя
Ron
Сообщения: 480
Зарегистрирован: Пт окт 27, 2017 6:44 pm

Re: [Модуль] MQTT (mqtt)

Сообщение Ron »

Fav0rit писал(а): Вс мар 31, 2019 3:04 am По моим наблюдениям MQTT вообще работает абы как, причем очень давно, о чем я неоднократно писал и в эту тему. Во-первых постоянные реконнекты, но мне кажется, что при использовании PHP это победить сложно, плюс в последнее время появились какие-то затыки в работе цикла, даже по таймеру самого цикла видны. На практике если я щелкаю выключателем, который отправляет сообщения в MQTT, то некоторый промежуток времени все отображается отлично и без задержек, а потом бац и секунд 30 вообще никакой реакции, хотя сторонний клиент MQTT все отображает правильно.
Делай

Код: Выделить всё

sudo service mosquitto stop
sudo rm /var/lib/mosquitto/mosquitto.db
sudo service mosquitto start
Fav0rit
Сообщения: 60
Зарегистрирован: Чт мар 19, 2015 10:27 pm

Re: [Модуль] MQTT (mqtt)

Сообщение Fav0rit »

Sapizdullin писал(а): Вс мар 31, 2019 8:24 am
Fav0rit писал(а): Вс мар 31, 2019 3:04 am По моим наблюдениям MQTT вообще работает абы как, причем очень давно, о чем я неоднократно писал и в эту тему. Во-первых постоянные реконнекты, но мне кажется, что при использовании PHP это победить сложно, плюс в последнее время появились какие-то затыки в работе цикла, даже по таймеру самого цикла видны. На практике если я щелкаю выключателем, который отправляет сообщения в MQTT, то некоторый промежуток времени все отображается отлично и без задержек, а потом бац и секунд 30 вообще никакой реакции, хотя сторонний клиент MQTT все отображает правильно.
Нормально работает на железе из подписи.. Никаких глюков. Какими железками управляете? Думаю проблема в них. У меня ESP штук 20 - все нормально.
У меня тоже много ESP и они отлично держат связь, от них все приходит исправно, и сторонним клиентом все данные отлично видны, проблема не в них, проблема в том как клиент самого МД читает данные из брокера.
Fav0rit
Сообщения: 60
Зарегистрирован: Чт мар 19, 2015 10:27 pm

Re: [Модуль] MQTT (mqtt)

Сообщение Fav0rit »

Ron писал(а): Вс мар 31, 2019 9:03 am
Fav0rit писал(а): Вс мар 31, 2019 3:04 am По моим наблюдениям MQTT вообще работает абы как, причем очень давно, о чем я неоднократно писал и в эту тему. Во-первых постоянные реконнекты, но мне кажется, что при использовании PHP это победить сложно, плюс в последнее время появились какие-то затыки в работе цикла, даже по таймеру самого цикла видны. На практике если я щелкаю выключателем, который отправляет сообщения в MQTT, то некоторый промежуток времени все отображается отлично и без задержек, а потом бац и секунд 30 вообще никакой реакции, хотя сторонний клиент MQTT все отображает правильно.
Делай

Код: Выделить всё

sudo service mosquitto stop
sudo rm /var/lib/mosquitto/mosquitto.db
sudo service mosquitto start
Была мысль попробовать, сделал, но ничего не изменилось.
Aven
Сообщения: 529
Зарегистрирован: Сб мар 12, 2016 6:33 pm
Откуда: Ухта, Россия

Re: [Модуль] MQTT (mqtt)

Сообщение Aven »

Ron писал(а): Вс мар 31, 2019 9:03 am
Fav0rit писал(а): Вс мар 31, 2019 3:04 am По моим наблюдениям MQTT вообще работает абы как, причем очень давно, о чем я неоднократно писал и в эту тему. Во-первых постоянные реконнекты, но мне кажется, что при использовании PHP это победить сложно, плюс в последнее время появились какие-то затыки в работе цикла, даже по таймеру самого цикла видны. На практике если я щелкаю выключателем, который отправляет сообщения в MQTT, то некоторый промежуток времени все отображается отлично и без задержек, а потом бац и секунд 30 вообще никакой реакции, хотя сторонний клиент MQTT все отображает правильно.
Делай

Код: Выделить всё

sudo service mosquitto stop
sudo rm /var/lib/mosquitto/mosquitto.db
sudo service mosquitto start
Этим вы удалите только RETAIN топики, что мало что изменит.
Аватара пользователя
Ron
Сообщения: 480
Зарегистрирован: Пт окт 27, 2017 6:44 pm

Re: [Модуль] MQTT (mqtt)

Сообщение Ron »

Aven писал(а): Вс мар 31, 2019 3:16 pm тим вы удалите только RETAIN топики, что мало что изменит.
Именно в них возникает проблема, когда кажется, что mqtt на мажорике не корректно работает.
Аватара пользователя
Ron
Сообщения: 480
Зарегистрирован: Пт окт 27, 2017 6:44 pm

Re: [Модуль] MQTT (mqtt)

Сообщение Ron »

Fav0rit писал(а): Вс мар 31, 2019 11:22 am Была мысль попробовать, сделал, но ничего не изменилось.
Тогда конфиг железа, чем нагружена, (все процессы), журнал ошибок всего и т.д.
MQTT на мажоре норм работает и не глючит ни разу, если система не перегружена и нет ничего того, что грузит сеть.cpu и т.д.
rzag
Сообщения: 32
Зарегистрирован: Вт июн 27, 2017 7:01 pm

Re: [Модуль] MQTT (mqtt)

Сообщение rzag »

Для эксперемента установил на все чистое с нуля систему mjd
Установил модуль mqtt - в настройках прописал в пункте MajorDoMo Client: Major

В логе увидел следущее:

1554049740: New connection from 192.168.1.40 on port 1883.
1554049740: New client connected from 192.168.1.40 as MajorDoMo MQTT Client (c1$
1554049740: Client MajorDoMo MQTT Client disconnected.
1554049742: Client Major (#5ca0eabf484a8) has exceeded timeout, disconnecting.
1554049742: Socket error on client Major (#5ca0eabf484a8), disconnecting.
1554049742: New connection from 192.168.1.40 on port 1883.
1554049742: New client connected from 192.168.1.40 as Major (#5ca0eabf484a8) (c$
1554049745: New connection from 192.168.1.40 on port 1883.
1554049745: New client connected from 192.168.1.40 as MajorDoMo MQTT Client (c1$
1554049745: Client MajorDoMo MQTT Client disconnected.

Откуда взялося подключение MajorDoMo MQTT ?

Остановил полностью цикл cycle_MQTT.

Лог показывает вот это:

1554049806: Client MajorDoMo MQTT Client disconnected.
1554049811: New connection from 192.168.1.40 on port 1883.
1554049811: New client connected from 192.168.1.40 as MajorDoMo MQTT Client (c1$
1554049811: Client MajorDoMo MQTT Client disconnected.
1554049816: New connection from 192.168.1.40 on port 1883.
1554049816: New client connected from 192.168.1.40 as MajorDoMo MQTT Client (c1$
1554049816: Client MajorDoMo MQTT Client disconnected.
1554049821: New connection from 192.168.1.40 on port 1883.
1554049821: New client connected from 192.168.1.40 as MajorDoMo MQTT Client (c1$
1554049821: Client MajorDoMo MQTT Client disconnected.
1554049826: New connection from 192.168.1.40 on port 1883.

Вопрос к знатокам:
Откуда берутся попытки подключения клиента MajorDoMo MQTT ? И почему это происходит даже при остановленом цикле ?

Может в этом причина постоянных рекконектов ?
Повторюсь, все установленно с нуля на чистую систему без всех моих настроек.
Aven
Сообщения: 529
Зарегистрирован: Сб мар 12, 2016 6:33 pm
Откуда: Ухта, Россия

Re: [Модуль] MQTT (mqtt)

Сообщение Aven »

для Publish используется отдельное подключение, а не существующее которое прослушивает подписки
rzag
Сообщения: 32
Зарегистрирован: Вт июн 27, 2017 7:01 pm

Re: [Модуль] MQTT (mqtt)

Сообщение rzag »

Aven писал(а): Вс мар 31, 2019 8:05 pm для Publish используется отдельное подключение, а не существующее которое прослушивает подписки
Спасибо, но все равно не пойму, зачем создавать два подключения, отдельно для публикации и отдельно для подписки.
Они не создают конфликт для брокера ?
Как раньше писал - рвется соеденение, сразу после публикации - это особенности библиотеки phpmqtt ?
Ответить