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

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

Модератор: immortal

dunaev
Сообщения: 10
Зарегистрирован: Пн сен 11, 2017 1:41 pm
Откуда: Минск, Беларусь
Благодарил (а): 1 раз
Поблагодарили: 1 раз

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

Сообщение dunaev » Ср дек 02, 2020 12:02 pm

dunaev писал(а):
Вс ноя 22, 2020 11:40 am
dunaev писал(а):
Сб ноя 21, 2020 4:36 pm
Друзья,
по модулю MQTT есть проблема с которой я заткнулся.
Проявилось при работе термостата.
Когда термостат срабатывает MDM начинает публиковать relay_status в mosquitto. И делает это потоком 30-50 раз в секунду.
Создается сотня процессов apache2, жрут процессор и за пару минут вешают систему.
В strace видно что API mqtt процессы зациклились на Broken pipe.
Как я понимаю вызывающая сторона прекратила работу, а апач ждет что заберут данные.
В лигах ничего существенного, "...180 seconds exceeded"
Это вылезло, когда MDM переехал с OrangePi на нормальный комп i5/SSD/Debian9. (А может после обновления)
Решил просто притормозить cicle_mqtt вставив sleep(), тогда apache2 не множатся, публикация работает хорошо, но плохо забираются топики.

В чем причина, в модуле MQTT или в простом устройстве Термостат, не знаю.
Написал Сергею в GIT, и в личку но он не ответил.

Прошу помощи кто сталкивался.
Сам отвечу.
На apache2 мне не удалось побороть размножение процессов и жор CPU.
Установил nginx. Проблема пропала.
В nginx то же самое.
Debian на i5, OrangePi Zero OTGW, ESP8266/ESP32 WiFi-iot
Аватара пользователя
KVN
Сообщения: 89
Зарегистрирован: Ср ноя 14, 2018 12:27 pm
Откуда: UA
Благодарил (а): 25 раз
Поблагодарили: 3 раза

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

Сообщение KVN » Чт дек 24, 2020 7:58 pm

Привет. После обновления москитто слетел файл настроек и все устройства отвалились. Когда возвращаю конфиг на этот:

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

# Place your local configuration in /etc/mosquitto/conf.d/
#
# A full description of the configuration file is at
# /usr/share/doc/mosquitto/examples/mosquitto.conf.example
pid_file /var/run/mosquitto.pid
persistence true
persistence_location /var/lib/mosquitto/
log_dest topic
log_type error
log_type warning
log_type notice
log_type information
connection_messages true
log_timestamp true
include_dir /etc/mosquitto/conf.d
москитто вообще не стартует.
Подскажите что надо сделать?
Мой CONNECT
Ubuntu Linux 16.04.5 LTS, Источник обновлений ядра: Мастер
Acer Aspire One D270
Аватара пользователя
KVN
Сообщения: 89
Зарегистрирован: Ср ноя 14, 2018 12:27 pm
Откуда: UA
Благодарил (а): 25 раз
Поблагодарили: 3 раза

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

Сообщение KVN » Чт дек 24, 2020 8:11 pm

Ругается на это строку
pid_file /var/run/mosquitto.pid
Мой CONNECT
Ubuntu Linux 16.04.5 LTS, Источник обновлений ядра: Мастер
Acer Aspire One D270
Аватара пользователя
KVN
Сообщения: 89
Зарегистрирован: Ср ноя 14, 2018 12:27 pm
Откуда: UA
Благодарил (а): 25 раз
Поблагодарили: 3 раза

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

Сообщение KVN » Чт дек 24, 2020 8:42 pm

KVN писал(а):
Чт дек 24, 2020 8:11 pm
Ругается на это строку
pid_file /var/run/mosquitto.pid
Заменил на pid_file /var/run/mosquitto/mosquitto.pid
Сервис запустился, но клиенты так и не могут подключиться. :(

P.S. На самом сервере между 2 терминалами сообщения ходят.

P.P.S. Всем спасибо за помощь (особенно мне) - разобрался!!!
Мой CONNECT
Ubuntu Linux 16.04.5 LTS, Источник обновлений ядра: Мастер
Acer Aspire One D270
Ujin778
Сообщения: 62
Зарегистрирован: Вт апр 28, 2015 8:26 pm
Благодарил (а): 14 раз
Поблагодарили: 2 раза

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

Сообщение Ujin778 » Сб янв 23, 2021 3:06 pm

Здравствуйте!
Наблюдаю такую проблему с "Retain": если значение поменялось изнутри, из самого мажордомо (через "установить", или изменилось привязанное свойство), то все нормально, вновь подключенному устройству придет правильное значение. А вот если в топик напишет само устройство, то хотя свойство привязанное и изменится, и поле "Значение" изменится, не поменяется только время "Обновлено:" возле "Значение", но при переподключении устройства ему прийдет старое значение, неправильное. Как это можно побороть, может кто сталкивался?
admiral055
Сообщения: 2
Зарегистрирован: Чт янв 28, 2021 5:10 pm
Откуда: Оттуда
Благодарил (а): 0
Поблагодарили: 0

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

Сообщение admiral055 » Чт фев 25, 2021 6:58 pm

Установил первый раз, настроил - тишина, посмотрел циклы (cycle_mqtt - Остановлен) Запуск и переустановка не помогает. Не знаю куда копать.
Orange Pi Plus 2E
Orange Pi Plus 2E Armbian 21.02.2 Focal with Linux 5.10.16-sunxi
Аватара пользователя
andrey040670
Сообщения: 458
Зарегистрирован: Пн июл 31, 2017 10:00 pm
Благодарил (а): 161 раз
Поблагодарили: 85 раз

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

Сообщение andrey040670 » Чт фев 25, 2021 7:06 pm

Брокер запущен? Mqtt к нему подключён?
MJD alfa: Khadas VIM1 Ubuntu 18.04.2 LTS bionic Linux 4.9.40 #2 SMP PREEMPT Tue Oct 30 15:47:54 CST 2018 aarch64 GNU/Linux
MJD alfa: Rpi 3B Debian 11 (bullseye) Linux raspberrypi 6.1.21-v8+ #1642 SMP PREEMPT Mon Apr 3 17:24:16 BST 2023 aarch64 GNU/Linux
admiral055
Сообщения: 2
Зарегистрирован: Чт янв 28, 2021 5:10 pm
Откуда: Оттуда
Благодарил (а): 0
Поблагодарили: 0

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

Сообщение admiral055 » Чт фев 25, 2021 7:09 pm

Брокер запущен. Mqtt к нему не подключён, т.к. сам цикл модуля не запущен.
Orange Pi Plus 2E Armbian 21.02.2 Focal with Linux 5.10.16-sunxi
Аватара пользователя
andrey040670
Сообщения: 458
Зарегистрирован: Пн июл 31, 2017 10:00 pm
Благодарил (а): 161 раз
Поблагодарили: 85 раз

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

Сообщение andrey040670 » Чт фев 25, 2021 7:19 pm

Пока не подключится цикл не стартует, перезапустите брокер.
MJD alfa: Khadas VIM1 Ubuntu 18.04.2 LTS bionic Linux 4.9.40 #2 SMP PREEMPT Tue Oct 30 15:47:54 CST 2018 aarch64 GNU/Linux
MJD alfa: Rpi 3B Debian 11 (bullseye) Linux raspberrypi 6.1.21-v8+ #1642 SMP PREEMPT Mon Apr 3 17:24:16 BST 2023 aarch64 GNU/Linux
miks69
Сообщения: 23
Зарегистрирован: Пн ноя 26, 2018 1:35 pm
Благодарил (а): 3 раза
Поблагодарили: 2 раза

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

Сообщение miks69 » Сб мар 13, 2021 2:32 pm

Подскажите, а возможно ли доработать данный модуль для подключения к 2-м и более брокерам одновременно?
Ответить