Mega 2561 и MQTT

Обсуждение статей, технологий домашней автоматизации, программных и аппаратных решений
empenoso
Сообщения: 1039
Зарегистрирован: 11 ноя 2015, 08:03
Откуда: Пермь

Re: Mega 2561 и MQTT

Сообщение empenoso » 23 дек 2017, 21:08

Такой вопрос - сужу по прошивке есп Sonoff-Tasmota - если прописанный MQTT сервер по каким-либо причинам не в сети - устройство начинает работать очень задумчиво. Если MQTT отключить или когда сервер снова появляется в сети - то работает как часы.

А с мегой как в этом плане?

Andrey_B
Администратор
Сообщения: 5327
Зарегистрирован: 18 мар 2011, 12:06

Re: Mega 2561 и MQTT

Сообщение Andrey_B » 24 дек 2017, 14:12

Прошивка "Меги" делается таким образом, чтобы не тормозить ни при каких мыслимых условиях. А если это вдруг в каких-то ситуациях происходит, это нужно исправлять.

stilet69
Сообщения: 103
Зарегистрирован: 30 июн 2017, 19:14

Re: Mega 2561 и MQTT

Сообщение stilet69 » 27 дек 2017, 20:25

К сожалению, так и не удалось добиться стабильной работы Меги 2561 с MQTT. Постоянно идут конект-дисконект. Пробовал с брокером Москитто. С другими брокерами не пробовал. Отпишитесь пожалуйста у кого наблюдается стабильная работа с брокером MQTT - название и версию брокера.

nkh
Сообщения: 39
Зарегистрирован: 12 авг 2016, 11:13

Re: Mega 2561 и MQTT

Сообщение nkh » 28 дек 2017, 14:01

Тоже наблюдаю постоянный реконнект, мега держит соединение какое то время, потом отключается и переподключается снова
Вложения
cmd-mosquitto.png
cmd-mosquitto.png (15.55 КБ) 6122 просмотра

Andrey_B
Администратор
Сообщения: 5327
Зарегистрирован: 18 мар 2011, 12:06

Re: Mega 2561 и MQTT

Сообщение Andrey_B » 28 дек 2017, 16:42

С брокером mosquitto (1.4.10) у себя отваливаний пока не наблюдаю.
nkh, обращает на себя внимание странный топик "megad//cmd", должно быть "megad/14/cmd", и отсутствие пингов.
Должно быть так:

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

1514463923: New connection from 192.168.0.14 on port 1883.
1514463923: New client connected from 192.168.0.14 as megad-14 (c1, k30).
1514463923: Sending CONNACK to megad-14 (0, 0)
1514463924: Received SUBSCRIBE from megad-14
1514463924:     megad/14/cmd (QoS 0)
1514463924: megad-14 0 megad/14/cmd
1514463924: Sending SUBACK to megad-14
1514463947: Received PINGREQ from megad-14
1514463947: Sending PINGRESP to megad-14
1514463970: Received PINGREQ from megad-14
1514463970: Sending PINGRESP to megad-14
Проверьте настройки файрвола/антивируса.

stilet69
Сообщения: 103
Зарегистрирован: 30 июн 2017, 19:14

Re: Mega 2561 и MQTT

Сообщение stilet69 » 28 дек 2017, 17:21

У меня тоже 1.14.10. Отваливается постоянно. А вот Node red и Home Assistantжелезно держат соединение. Вот скриншоты:
2017-12-28_16-18-39.jpg
2017-12-28_16-18-39.jpg (94.36 КБ) 6104 просмотра
2017-12-28_16-18-39.jpg
2017-12-28_16-18-39.jpg (94.36 КБ) 6104 просмотра
Вложения
2017-12-28_16-17-29.jpg
2017-12-28_16-17-29.jpg (129.63 КБ) 6104 просмотра

stilet69
Сообщения: 103
Зарегистрирован: 30 июн 2017, 19:14

Re: Mega 2561 и MQTT

Сообщение stilet69 » 28 дек 2017, 17:35

В общем пишет, что Socket error и отваливается. Прошивка крайняя.

stilet69
Сообщения: 103
Зарегистрирован: 30 июн 2017, 19:14

Re: Mega 2561 и MQTT

Сообщение stilet69 » 28 дек 2017, 17:38

Андрей еще вопрос - возможно ли действительно переход на формирование топиков по номеру портов, как обсуждалось выше?
Например megad/14/1 порт 1 и так далее.
Здорово упрости подключение ко всем системам умного дома поддерживающих mqtt

Andrey_B
Администратор
Сообщения: 5327
Зарегистрирован: 18 мар 2011, 12:06

Re: Mega 2561 и MQTT

Сообщение Andrey_B » 28 дек 2017, 17:51

stilet69 писал(а):В общем пишет, что Socket error и отваливается.
Без рентгена сложно понять, почему больной хромает.
Аппарат у меня есть, а вот подопытного с похожими симптомами пока найти не могу.
stilet69 писал(а):возможно ли действительно переход на формирование топиков по номеру портов, как обсуждалось выше?
Если говорить откровенно, то мне все равно, какой будет принцип формирования топиков.
Как общественность скажет, так и будет. Однако с момента обсуждения этого вопроса общественность высказывалась довольно вяло.

stilet69
Сообщения: 103
Зарегистрирован: 30 июн 2017, 19:14

Re: Mega 2561 и MQTT

Сообщение stilet69 » 28 дек 2017, 18:11

Общественность и будет вяло высказываться, так как у большинства не используется MQTT. А не используется, потому что либо как у меня и у товарища выше ошибки с подключением, либо работает с http.
Так как оставшиеся MQTT сплошь здесь обитают ;-) то можно от их и от своего имени все таки перейти на эту схему?
И еще вопрос - я попробую сниффером снять обмен меги с москито - это поможет в поиске причину отваливания?

Andrey_B
Администратор
Сообщения: 5327
Зарегистрирован: 18 мар 2011, 12:06

Re: Mega 2561 и MQTT

Сообщение Andrey_B » 28 дек 2017, 18:14

stilet69 писал(а):И еще вопрос - я попробую сниффером снять обмен меги с москито - это поможет в поиске причину отваливания?
Теоретически поможет, практически не знаю.

nkh
Сообщения: 39
Зарегистрирован: 12 авг 2016, 11:13

Re: Mega 2561 и MQTT

Сообщение nkh » 28 дек 2017, 20:49

формирование топиков по номеру портов
это одна из краеугольных идей, через которую можно соединять между собой что угодно без доп программирования

насколько я понял, на брокер у нас не приходит пакет PINGREQ или он приходит какой то "не такой" и брокер принимает решение о дисконекте. Но это не зависит от интервала посыла этих пакетов, я ставил очень долгое время опроса у других программ, но дисконекта не было
Последний раз редактировалось nkh 29 дек 2017, 17:28, всего редактировалось 2 раза.

stilet69
Сообщения: 103
Зарегистрирован: 30 июн 2017, 19:14

Re: Mega 2561 и MQTT

Сообщение stilet69 » 29 дек 2017, 11:28

nkh писал(а):
формирование топиков по номеру портов
это одна из краеугольных идей, через которую можно соединять между собой что угодно без доп программирования
+ Всецело поддерживаю

stilet69
Сообщения: 103
Зарегистрирован: 30 июн 2017, 19:14

Re: Mega 2561 и MQTT

Сообщение stilet69 » 30 дек 2017, 13:15

Все таки протокол MQTT в Меге неработоспособен.
Я попробовал использовать другой брокер MQTT (встроенный в Home Assistant)
В Меге пишет, что соединен, но при нажатии на кнопку ничего не публикует.
В логах брокера следующие записи (одно нажатие на кнопку, одна запись):

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

Log Details (ERROR)

Sat Dec 30 2017 09:09:00 GMT+0000 (UTC)

Invalid connection from (client @=192.168.0.15:2850) : [MQTT-3.1.2-1] Incorrect protocol name: "MQIsdp"
Log Details (ERROR)

Sat Dec 30 2017 09:06:28 GMT+0000 (UTC)

Invalid connection from (client @=192.168.0.15:2850) : [MQTT-3.1.2-1] Incorrect protocol name: "MQIsdp"
и таких строчек много
Может дело в том, что название протокола неправильно формируется?

Andrey_B
Администратор
Сообщения: 5327
Зарегистрирован: 18 мар 2011, 12:06

Re: Mega 2561 и MQTT

Сообщение Andrey_B » 30 дек 2017, 13:43

Существуют разные версии протокола.
До недавнего времени на mqtt.org была выложена документация для версии 3.1, где Protocol Name нужно было указывать MQIsdp.
В 3.1.1 Protocol Name был изменен на MQTT.
Это может являться причиной несовместимости с конкретным брокером, но вряд ли является причиной отваливаний при работе с mosquitto.

alex946
Сообщения: 204
Зарегистрирован: 05 дек 2015, 22:48
Контактная информация:

Re: Mega 2561 и MQTT

Сообщение alex946 » 30 дек 2017, 14:38

Возможно, версия протокола не совпадает с заявленной? Либо, нужно в настройках mosquitto указать принудительное использование версии 3.1 ?

stilet69
Сообщения: 103
Зарегистрирован: 30 июн 2017, 19:14

Re: Mega 2561 и MQTT

Сообщение stilet69 » 30 дек 2017, 18:25

alex946 писал(а):Возможно, версия протокола не совпадает с заявленной? Либо, нужно в настройках mosquitto указать принудительное использование версии 3.1 ?
Что то в mosquitto я не нашел такой опции

stilet69
Сообщения: 103
Зарегистрирован: 30 июн 2017, 19:14

Re: Mega 2561 и MQTT

Сообщение stilet69 » 30 дек 2017, 18:48

Поставил третий брокер - встроенный в Node-Red. Mosca. Та же ситуация - конект-дисконект. Причем там есть галочка выбора версии протокола. Стояла на 3.1.
Все равно не работает.

nkh
Сообщения: 39
Зарегистрирован: 12 авг 2016, 11:13

Re: Mega 2561 и MQTT

Сообщение nkh » 01 янв 2018, 21:47

Поставил на виртуальной машине убунту, на нем маскито, все работает, почему на винде отваливается нужно выяснять. Возможно глюк виндовой версии

nkh
Сообщения: 39
Зарегистрирован: 12 авг 2016, 11:13

Re: Mega 2561 и MQTT

Сообщение nkh » 02 янв 2018, 19:12

Andrey_B писал(а):
28 дек 2017, 16:42
С брокером mosquitto (1.4.10) у себя отваливаний пока не наблюдаю
попробуйте брокер под виндой, под убунту такой проблемы нет

Ответить