Блок для ESP8266, Связь с миром по MQTT.

Разработка блока MQTT. FLProg 3.1.2

Создаем свой блок. Вопросы, помощь знатоков.
Anydy

Блок для ESP8266, Связь с миром по MQTT.

#41

Сообщение Anydy » 09.08.2018{, 05:52}

Golan писал(а):
08.08.2018{, 20:19}
это в блоке переподключение работает?
Москито на компе не теряет соединение, например с MQTTfx
Ну да, клиент пытается подключится к брокеру.
У тебя Mosquitto и MqttFX на одном компе?

Аватара пользователя
Golan
Капитан
Сообщения: 827
Зарегистрирован: 26.11.2017{, 23:18}
Репутация: 77
Откуда: Деревня, 98 домов в Мордовии
Имя: Владимир
Контактная информация:

Блок для ESP8266, Связь с миром по MQTT.

#42

Сообщение Golan » 09.08.2018{, 09:18}

Anydy писал(а):
09.08.2018{, 05:52}
Ну да, клиент пытается подключится к брокеру.
А почему, если соединение то есть, кто прерывает?
Anydy писал(а):
09.08.2018{, 05:52}
У тебя Mosquitto и MqttFX на одном компе?
Да, а Дашбоард на смартфоне, и нет обрывов соединения
Добро не ценится в современном мире, люди от него наглеют!

Аватара пользователя
Golan
Капитан
Сообщения: 827
Зарегистрирован: 26.11.2017{, 23:18}
Репутация: 77
Откуда: Деревня, 98 домов в Мордовии
Имя: Владимир
Контактная информация:

Блок для ESP8266, Связь с миром по MQTT.

#43

Сообщение Golan » 09.08.2018{, 11:13}

Хотя может так и правильно.
Проверил на внешнем и внутреннем брокерах, короче на всех, даже на ESP-шном.
Пока данные идут соединение есть, как только перестают, идет перезагрузка именно со стороны модуля.
СпойлерПоказать
1.jpg
Добро не ценится в современном мире, люди от него наглеют!

starshoy81
Лейтенант
Сообщения: 530
Зарегистрирован: 05.04.2016{, 23:30}
Репутация: 29
Откуда: Санкт-Петербург
Имя: Илья

Блок для ESP8266, Связь с миром по MQTT.

#44

Сообщение starshoy81 » 09.08.2018{, 15:29}

Golan, таймаут срабатывает на брокере.

Аватара пользователя
Golan
Капитан
Сообщения: 827
Зарегистрирован: 26.11.2017{, 23:18}
Репутация: 77
Откуда: Деревня, 98 домов в Мордовии
Имя: Владимир
Контактная информация:

Блок для ESP8266, Связь с миром по MQTT.

#45

Сообщение Golan » 09.08.2018{, 15:49}

На всех, одинаково?
Добро не ценится в современном мире, люди от него наглеют!

Anydy

Блок для ESP8266, Связь с миром по MQTT.

#46

Сообщение Anydy » 09.08.2018{, 16:01}

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

demonkol
Рядовой
Сообщения: 28
Зарегистрирован: 06.09.2015{, 08:29}
Репутация: 0

Блок для ESP8266, Связь с миром по MQTT.

#47

Сообщение demonkol » 09.08.2018{, 16:19}

Anydy как насчет моего вопроса, пост #38 viewtopic.php?p=51989#p51989, возможно реализовать?

Anydy

Блок для ESP8266, Связь с миром по MQTT.

#48

Сообщение Anydy » 09.08.2018{, 16:19}

Володя, у тебя блоки последней версии? В 2_4 там вообще нету вывода инфы в сериал порт....

Отправлено спустя 2 минуты 10 секунд:
demonkol писал(а):
09.08.2018{, 16:19}
Anydy как насчет моего вопроса, пост #38 viewtopic.php?p=51989#p51989, возможно реализовать?
Да легко, сейчас сделаю....

starshoy81
Лейтенант
Сообщения: 530
Зарегистрирован: 05.04.2016{, 23:30}
Репутация: 29
Откуда: Санкт-Петербург
Имя: Илья

Блок для ESP8266, Связь с миром по MQTT.

#49

Сообщение starshoy81 » 09.08.2018{, 16:39}

Golan, да на всех, так как протокол ПЕРЕДАЧИ сообщений, а не молчания в эфире :smile38: , суть в том, что надо всё время что-то транслировать. На брокере нет памяти хранящей долговременно сообщения. Подписчик может отвалиться, и при переподключении не получит информации из топика, если её туда не пошлёт публикатор.

Аватара пользователя
Golan
Капитан
Сообщения: 827
Зарегистрирован: 26.11.2017{, 23:18}
Репутация: 77
Откуда: Деревня, 98 домов в Мордовии
Имя: Владимир
Контактная информация:

Блок для ESP8266, Связь с миром по MQTT.

#50

Сообщение Golan » 09.08.2018{, 17:01}

Anydy писал(а):
09.08.2018{, 16:22}
Володя, у тебя блоки последней версии?
Андрей, я оба пробовал, видел в MOTTfx, ставил генератор и смотрел на трансляцию, штук 10 пролетают, потом пауза, опять штук 10.
starshoy81 писал(а):
09.08.2018{, 16:39}
Подписчик может отвалиться, и при переподключении не получит информации из топика, если её туда не пошлёт публикатор.
Это я все понимаю прекрасно, забыл проверить, придет ли сообщение, нужное, в тот момент, когда оно сгенерировано блоком, а брокер перезагружается, и что то мне подсказывает что оно будет пропущено.
Чуть ПАПАзжее проверю и отпишусь.

Отправлено спустя 2 минуты 24 секунды:
Андрей, забыл еще сказать, ты бы ID поставил какой нибудь по умолчанию, а то даже когда он не нужен, нужно что то ввести, а потом удалить, иначе блок с ошибкой, хотя я это сам могу сделать.
Добро не ценится в современном мире, люди от него наглеют!

Anydy

Блок для ESP8266, Связь с миром по MQTT.

#51

Сообщение Anydy » 09.08.2018{, 17:11}

demonkol писал(а):
09.08.2018{, 16:19}
Anydy как насчет моего вопроса, пост #38 viewtopic.php?p=51989#p51989, возможно реализовать?
Проверьте, я пока что не могу проверить, позже проверю, на выходах должны появляться еденички при успешном подключении и 0 если нет ...
MQTT_ESP_Main_2_5_(CODE).ubi
(747.88 КБ) 124 скачивания
Отправлено спустя 3 минуты 9 секунд:
Golan писал(а):
09.08.2018{, 17:04}
Андрей, забыл еще сказать, ты бы ID поставил какой нибудь по умолчанию, а то даже когда он не нужен, нужно что то ввести, а потом удалить, иначе блок с ошибкой, хотя я это сам могу сделать.
Хорошо, добавлю, но ID в любом случае какой -либо нужен брокеру!

Аватара пользователя
Golan
Капитан
Сообщения: 827
Зарегистрирован: 26.11.2017{, 23:18}
Репутация: 77
Откуда: Деревня, 98 домов в Мордовии
Имя: Владимир
Контактная информация:

Блок для ESP8266, Связь с миром по MQTT.

#52

Сообщение Golan » 09.08.2018{, 17:39}

СпасибоИзображение, я вечерком его и так и такИзображение ...проверю.

Отправлено спустя 5 часов 44 минуты 12 секунд:
Вот и не верно, starshoy81, ваше утверждение, вернее не точное.
Сейчас проверял все это, и дело или в библиотеках или в блоке, отключается от брокера блок, а не наоборот.
Вот на скрине выделил место или временной участок, когда после последнего нажатия OFF с последующей паузой, пошел реконект, пока соединение не восстановилось, нажимал и на off и на on раз по 10, ну грубо шли какие то данные, брокер их не увидел, так как на самом деле они, данные с модуля не выходили, ИМХО. Потом дождался коннекта и сразу после нажал on, все прошло, задержался с нажатием и снова переконнект, связь держится если постоянно идут данные, без задержки, которая скорее всего 5 секунд.
СпойлерПоказать
1.jpg
Пробовал на разных версиях блока Main, просто на 1.2 визуально видно. Может я что то не так делаю, но вроде глаза пока так сильно не подводят.
Пробовал и на Москито в компе и на внешнем брокере
Добро не ценится в современном мире, люди от него наглеют!

starshoy81
Лейтенант
Сообщения: 530
Зарегистрирован: 05.04.2016{, 23:30}
Репутация: 29
Откуда: Санкт-Петербург
Имя: Илья

Блок для ESP8266, Связь с миром по MQTT.

#53

Сообщение starshoy81 » 10.08.2018{, 11:11}

Golan, а как вы определили, что блок отключается, а не брокер закрывает соединение? Включите в настройках брокера подробный лог и смотрите в реальном времени какие служебные сообщения проходят. На опенврт это в системном логе можно увидеть.
ну грубо шли какие то данные, брокер их не увидел, так как на самом деле они, данные с модуля не выходили, ИМХО.
конечно не приходило на брокер - соединения то нет.

demonkol
Рядовой
Сообщения: 28
Зарегистрирован: 06.09.2015{, 08:29}
Репутация: 0

Блок для ESP8266, Связь с миром по MQTT.

#54

Сообщение demonkol » 10.08.2018{, 11:13}

Anydy писал(а):
09.08.2018{, 17:14}
demonkol писал(а):
09.08.2018{, 16:19}
Anydy как насчет моего вопроса, пост #38 viewtopic.php?p=51989#p51989, возможно реализовать?
Проверьте, я пока что не могу проверить, позже проверю, на выходах должны появляться еденички при успешном подключении и 0 если нет ...
MQTT_ESP_Main_2_5_(CODE).ubi
Проверил, получается при первом соединении на выходе появляются единички, но при потери связи на выходе так и стоят единички в ноль не сбрасываются (минут 5 ждал).

Anydy

Блок для ESP8266, Связь с миром по MQTT.

#55

Сообщение Anydy » 10.08.2018{, 11:20}

demonkol писал(а):
10.08.2018{, 11:13}
Проверил, получается при первом соединении на выходе появляются единички, но при потери связи на выходе так и стоят единички в ноль не сбрасываются (минут 5 ждал).
Ок, только пришел из гаража, сейчас буду проверять....

Аватара пользователя
Golan
Капитан
Сообщения: 827
Зарегистрирован: 26.11.2017{, 23:18}
Репутация: 77
Откуда: Деревня, 98 домов в Мордовии
Имя: Владимир
Контактная информация:

Блок для ESP8266, Связь с миром по MQTT.

#56

Сообщение Golan » 10.08.2018{, 12:36}

starshoy81 писал(а):
10.08.2018{, 11:11}
конечно не приходило на брокер - соединения то нет
Тогда теряется весь смысл, так как именно в этот момент, к примеру, должно быть оповещение с какого нибудь датчика.
По логам, я их сразу смотрел, в них обрыва нет, по этому и сделал утверждение что обрыв со стороны модуля идет
Вот наглядно, подчеркнул временные задержки перед публикациями.
СпойлерПоказать
1.jpg
Добро не ценится в современном мире, люди от него наглеют!

starshoy81
Лейтенант
Сообщения: 530
Зарегистрирован: 05.04.2016{, 23:30}
Репутация: 29
Откуда: Санкт-Петербург
Имя: Илья

Блок для ESP8266, Связь с миром по MQTT.

#57

Сообщение starshoy81 » 10.08.2018{, 13:27}

Golan,
Тогда теряется весь смысл, так как именно в этот момент, к примеру, должно быть оповещение с какого нибудь датчика.
Смысл в том и есть, что здесь постоянно передаётся состояние. Только тогда и можно вовремя отловить изменения. То есть каждую секунду шлётся "выключено" например, для процессов требующих быстрого реагирования.

А лог надо более подробный смотреть, в настройках можно выставить тип лога. Смотрите в москито, там больше покрутить можно настройками.

Аватара пользователя
Golan
Капитан
Сообщения: 827
Зарегистрирован: 26.11.2017{, 23:18}
Репутация: 77
Откуда: Деревня, 98 домов в Мордовии
Имя: Владимир
Контактная информация:

Блок для ESP8266, Связь с миром по MQTT.

#58

Сообщение Golan » 10.08.2018{, 20:53}

starshoy81, так не шлется выключено, как состояние, а именно обрывается связь, скрин 6 постов выше я выложил с СОМ порта, завтра специально прослежу лог в брокере с одновременным слежением в СОМе работающего модуля
Вообщем спорить не будем

Отправлено спустя 3 часа 26 минут 21 секунду:
В эксперименте участвовали:
Брокер Москито.
Модуль Wemos с кнопкой on-off - публикация
Лог MQTTfx на компе подписка на все
Мобильный, именно на мобильнике MQTT Dashboard - публикация хрю

Может я что то не понимаю, но в тот момент когда брокер без обрывов принимает с мобильника хрю, в ком порту вижу постоянный реконнект, но ни как ни передачу брокеру состояния переподключения иначе бы в логе что то изменилось бы, разве не так?
СпойлерПоказать
1.jpg
Отправлено спустя 1 минуту 13 секунд:
starshoy81 писал(а):
10.08.2018{, 13:27}
Смотрите в москито
А вот это я не нашел как сделать

Отправлено спустя 28 минут 14 секунд:
Поставил главный 2.5, индикаторы ни разу не мигнули и ни разу не было обрыва, т.е брокер принял все что посылал модуль, без пропусков, хотя в СОМе глянуть бы хотелось

Отправлено спустя 1 минуту 22 секунды:
Блин уже час ночи :shok: , а мне в 2 на рыбалку :yahoo: :yahoo:

Андрей, спасибо!!!
Добро не ценится в современном мире, люди от него наглеют!

User8
Лейтенант
Сообщения: 341
Зарегистрирован: 12.06.2017{, 14:44}
Репутация: 103
Имя: Евгений

Блок для ESP8266, Связь с миром по MQTT.

#59

Сообщение User8 » 14.08.2018{, 18:58}

Почему нет режима retain? Добавил сам, если кому нужно забирайте.
Вложения
MQTT_ESP_Pub_2_2_retain.ubi
(17.03 КБ) 108 скачиваний
Последний раз редактировалось User8 14.08.2018{, 19:05}, всего редактировалось 2 раза.

Аватара пользователя
Golan
Капитан
Сообщения: 827
Зарегистрирован: 26.11.2017{, 23:18}
Репутация: 77
Откуда: Деревня, 98 домов в Мордовии
Имя: Владимир
Контактная информация:

Блок для ESP8266, Связь с миром по MQTT.

#60

Сообщение Golan » 14.08.2018{, 19:03}

А что он делает?
Добро не ценится в современном мире, люди от него наглеют!

Ответить

Вернуться в «Разработка пользовательских блоков»