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

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

Модератор: immortal

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

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

Сообщение Sapizdullin » Вс мар 31, 2019 8:24 am

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

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

Сообщение 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
За это сообщение автора Ron поблагодарил:
TrDA (Ср апр 03, 2019 2:16 pm)
Рейтинг: 1.16%
Fav0rit
Сообщения: 60
Зарегистрирован: Чт мар 19, 2015 10:27 pm
Благодарил (а): 8 раз
Поблагодарили: 22 раза

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

Сообщение Fav0rit » Вс мар 31, 2019 11:07 am

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
Благодарил (а): 8 раз
Поблагодарили: 22 раза

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

Сообщение Fav0rit » Вс мар 31, 2019 11:22 am

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
Откуда: Ухта, Россия
Благодарил (а): 3 раза
Поблагодарили: 154 раза

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

Сообщение Aven » Вс мар 31, 2019 3:16 pm

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
Благодарил (а): 144 раза
Поблагодарили: 70 раз

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

Сообщение Ron » Вс мар 31, 2019 4:30 pm

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

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

Сообщение Ron » Вс мар 31, 2019 4:32 pm

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

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

Сообщение rzag » Вс мар 31, 2019 7:42 pm

Для эксперемента установил на все чистое с нуля систему 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
Откуда: Ухта, Россия
Благодарил (а): 3 раза
Поблагодарили: 154 раза

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

Сообщение Aven » Вс мар 31, 2019 8:05 pm

для Publish используется отдельное подключение, а не существующее которое прослушивает подписки
За это сообщение автора Aven поблагодарил:
AndreyD (Вс мар 31, 2019 8:50 pm)
Рейтинг: 1.16%
rzag
Сообщения: 32
Зарегистрирован: Вт июн 27, 2017 7:01 pm
Благодарил (а): 6 раз
Поблагодарили: 4 раза

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

Сообщение rzag » Вс мар 31, 2019 8:11 pm

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