Нормально работает на железе из подписи.. Никаких глюков. Какими железками управляете? Думаю проблема в них. У меня ESP штук 20 - все нормально.Fav0rit писал(а): ↑Вс мар 31, 2019 3:04 amПо моим наблюдениям MQTT вообще работает абы как, причем очень давно, о чем я неоднократно писал и в эту тему. Во-первых постоянные реконнекты, но мне кажется, что при использовании PHP это победить сложно, плюс в последнее время появились какие-то затыки в работе цикла, даже по таймеру самого цикла видны. На практике если я щелкаю выключателем, который отправляет сообщения в MQTT, то некоторый промежуток времени все отображается отлично и без задержек, а потом бац и секунд 30 вообще никакой реакции, хотя сторонний клиент MQTT все отображает правильно.
[Модуль] MQTT (mqtt)
Модератор: immortal
- Sapizdullin
- Сообщения: 408
- Зарегистрирован: Сб фев 18, 2017 9:47 am
- Откуда: Земля
- Благодарил (а): 54 раза
- Поблагодарили: 61 раз
Re: [Модуль] MQTT (mqtt)
- За это сообщение автора 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)
Делай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
- Рейтинг: 1.16%
-
- Сообщения: 60
- Зарегистрирован: Чт мар 19, 2015 10:27 pm
- Благодарил (а): 8 раз
- Поблагодарили: 22 раза
Re: [Модуль] MQTT (mqtt)
У меня тоже много ESP и они отлично держат связь, от них все приходит исправно, и сторонним клиентом все данные отлично видны, проблема не в них, проблема в том как клиент самого МД читает данные из брокера.Sapizdullin писал(а): ↑Вс мар 31, 2019 8:24 amНормально работает на железе из подписи.. Никаких глюков. Какими железками управляете? Думаю проблема в них. У меня ESP штук 20 - все нормально.Fav0rit писал(а): ↑Вс мар 31, 2019 3:04 amПо моим наблюдениям MQTT вообще работает абы как, причем очень давно, о чем я неоднократно писал и в эту тему. Во-первых постоянные реконнекты, но мне кажется, что при использовании PHP это победить сложно, плюс в последнее время появились какие-то затыки в работе цикла, даже по таймеру самого цикла видны. На практике если я щелкаю выключателем, который отправляет сообщения в MQTT, то некоторый промежуток времени все отображается отлично и без задержек, а потом бац и секунд 30 вообще никакой реакции, хотя сторонний клиент MQTT все отображает правильно.
-
- Сообщения: 60
- Зарегистрирован: Чт мар 19, 2015 10:27 pm
- Благодарил (а): 8 раз
- Поблагодарили: 22 раза
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
-
- Сообщения: 529
- Зарегистрирован: Сб мар 12, 2016 6:33 pm
- Откуда: Ухта, Россия
- Благодарил (а): 3 раза
- Поблагодарили: 154 раза
Re: [Модуль] MQTT (mqtt)
Этим вы удалите только RETAIN топики, что мало что изменит.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
- Сообщения: 480
- Зарегистрирован: Пт окт 27, 2017 6:44 pm
- Благодарил (а): 144 раза
- Поблагодарили: 70 раз
Re: [Модуль] MQTT (mqtt)
Именно в них возникает проблема, когда кажется, что mqtt на мажорике не корректно работает.
- Ron
- Сообщения: 480
- Зарегистрирован: Пт окт 27, 2017 6:44 pm
- Благодарил (а): 144 раза
- Поблагодарили: 70 раз
Re: [Модуль] MQTT (mqtt)
Тогда конфиг железа, чем нагружена, (все процессы), журнал ошибок всего и т.д.
MQTT на мажоре норм работает и не глючит ни разу, если система не перегружена и нет ничего того, что грузит сеть.cpu и т.д.
-
- Сообщения: 32
- Зарегистрирован: Вт июн 27, 2017 7:01 pm
- Благодарил (а): 6 раз
- Поблагодарили: 4 раза
Re: [Модуль] MQTT (mqtt)
Для эксперемента установил на все чистое с нуля систему 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 ? И почему это происходит даже при остановленом цикле ?
Может в этом причина постоянных рекконектов ?
Повторюсь, все установленно с нуля на чистую систему без всех моих настроек.
Установил модуль 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 ? И почему это происходит даже при остановленом цикле ?
Может в этом причина постоянных рекконектов ?
Повторюсь, все установленно с нуля на чистую систему без всех моих настроек.
-
- Сообщения: 529
- Зарегистрирован: Сб мар 12, 2016 6:33 pm
- Откуда: Ухта, Россия
- Благодарил (а): 3 раза
- Поблагодарили: 154 раза
Re: [Модуль] MQTT (mqtt)
для Publish используется отдельное подключение, а не существующее которое прослушивает подписки
- Рейтинг: 1.16%
-
- Сообщения: 32
- Зарегистрирован: Вт июн 27, 2017 7:01 pm
- Благодарил (а): 6 раз
- Поблагодарили: 4 раза
Re: [Модуль] MQTT (mqtt)
Спасибо, но все равно не пойму, зачем создавать два подключения, отдельно для публикации и отдельно для подписки.
Они не создают конфликт для брокера ?
Как раньше писал - рвется соеденение, сразу после публикации - это особенности библиотеки phpmqtt ?