Взаимодействие с Mqtt
Модератор: immortal
- ZhenyaRUS39
- Сообщения: 46
- Зарегистрирован: Ср ноя 16, 2016 12:41 pm
- Благодарил (а): 31 раз
- Поблагодарили: 5 раз
Взаимодействие с Mqtt
Добрый день. Делаю проект в котором куча датчиков esp8266 шлют по mqtt свои состояния и данные раз в 10 минут на сервер MD с mosquitto и потом засыпают, но должны уметь и принимать данные с сервера.
Проблема в том, что если данные на сервере публикуются в те моменты, пока датчики офлайн, то датчики эти данные не получат (получают только те, что онлайн в момент публикации на сервере). Как можно решить эту проблему? Может кто знает готовые варианты? Вариант городить сложную систему публикация/ответ(подтверждение приёма), как-то неправильно, да и на каждый датчик городить придётся.
Или проще всё на post и html переделать?
Проблема в том, что если данные на сервере публикуются в те моменты, пока датчики офлайн, то датчики эти данные не получат (получают только те, что онлайн в момент публикации на сервере). Как можно решить эту проблему? Может кто знает готовые варианты? Вариант городить сложную систему публикация/ответ(подтверждение приёма), как-то неправильно, да и на каждый датчик городить придётся.
Или проще всё на post и html переделать?
- ZhenyaRUS39
- Сообщения: 46
- Зарегистрирован: Ср ноя 16, 2016 12:41 pm
- Благодарил (а): 31 раз
- Поблагодарили: 5 раз
- Cracken090
- Сообщения: 23
- Зарегистрирован: Ср апр 19, 2017 11:19 am
- Благодарил (а): 5 раз
- Поблагодарили: 0
Re: Взаимодействие с Mqtt
Доброго времени суток! Настраиваю MQTT, но столкнулся с проблемой
Суть проблемы: с mqtt-spy отправляю данные. Данные приходят в majordomo, но ответа (эхо) нет.
Подскажите пожалуйста в чем может быть проблема?
Суть проблемы: с mqtt-spy отправляю данные. Данные приходят в majordomo, но ответа (эхо) нет.
Подскажите пожалуйста в чем может быть проблема?
- ZhenyaRUS39
- Сообщения: 46
- Зарегистрирован: Ср ноя 16, 2016 12:41 pm
- Благодарил (а): 31 раз
- Поблагодарили: 5 раз
Re: Взаимодействие с Mqtt
Не нашёл Retain в mqtt, где её искать?
- Вложения
-
- Снимок.JPG (32.97 КБ) 5795 просмотров
-
- Сообщения: 1115
- Зарегистрирован: Вс июн 14, 2015 11:08 am
- Благодарил (а): 85 раз
- Поблагодарили: 342 раза
Re: Взаимодействие с Mqtt
В настройках каждого конкретного датчикаZhenyaRUS39 писал(а):Не нашёл Retain в mqtt, где её искать?
-
- Сообщения: 21
- Зарегистрирован: Пн апр 24, 2017 4:35 am
- Благодарил (а): 4 раза
- Поблагодарили: 1 раз
Re: Взаимодействие с Mqtt
Как назначить выполнение методов объекта (привязанного к топику) при изменении статуса после получения нового значения?
Подробнее:
Имеется Relay1 у которого есть свойство status которое обновляется при обновлении топика Devices/Relay1. Так же у него есть методы turnOn и turnOff в которых выполняются команды.
При нажатии на объект на сцене или при переключении через меню всё корректно отрабатывает. Но вот при смене статуса (после получения новых данных из топика Devices/Relay1) - на сцене визуализация выполняется (меняется на вкл или выкл в зависимости от статуса), а методы не отрабатывают.
Где можно найти назначение статуса объекту при получении нового сообщения в топике? Я бы туда прикрутил бы refresh (в родительском классе описан этот метод и он выполняет другие в зависимости от статуса).
Ну или может быть есть какой то другой вариант взаимодействия?
Подробнее:
Имеется Relay1 у которого есть свойство status которое обновляется при обновлении топика Devices/Relay1. Так же у него есть методы turnOn и turnOff в которых выполняются команды.
При нажатии на объект на сцене или при переключении через меню всё корректно отрабатывает. Но вот при смене статуса (после получения новых данных из топика Devices/Relay1) - на сцене визуализация выполняется (меняется на вкл или выкл в зависимости от статуса), а методы не отрабатывают.
Где можно найти назначение статуса объекту при получении нового сообщения в топике? Я бы туда прикрутил бы refresh (в родительском классе описан этот метод и он выполняет другие в зависимости от статуса).
Ну или может быть есть какой то другой вариант взаимодействия?
- ZhenyaRUS39
- Сообщения: 46
- Зарегистрирован: Ср ноя 16, 2016 12:41 pm
- Благодарил (а): 31 раз
- Поблагодарили: 5 раз
Re: Взаимодействие с Mqtt
Можете подробнее рассказать.olehs писал(а):В настройках каждого конкретного датчикаZhenyaRUS39 писал(а):Не нашёл Retain в mqtt, где её искать?
В топиках только такие настройки.
Сами датчики на esp, и понять не могу где включается retain.
-
- Сообщения: 1115
- Зарегистрирован: Вс июн 14, 2015 11:08 am
- Благодарил (а): 85 раз
- Поблагодарили: 342 раза
Re: Взаимодействие с Mqtt
Все верно. Это я неправильно выразился. Ищите в настройках топика.
- За это сообщение автора olehs поблагодарил:
- ZhenyaRUS39 (Ср апр 26, 2017 12:35 pm)
- Рейтинг: 1.16%
-
- Сообщения: 21
- Зарегистрирован: Пн апр 24, 2017 4:35 am
- Благодарил (а): 4 раза
- Поблагодарили: 1 раз
Re: Взаимодействие с Mqtt
Временно сделал не самый лучший костыль - добавил в onNewMinute проверку вызов метода refresh у всех объектов класса реле. Но во первых это большая задержка, а я точно знаю что есть обработчик который реагирует на получение сообщений мгновенно. И во вторых это неправильно на мой взгляд и загромождает код.xneo писал(а):Как назначить выполнение методов объекта (привязанного к топику) при изменении статуса после получения нового значения?
Подробнее:
Имеется Relay1 у которого есть свойство status которое обновляется при обновлении топика Devices/Relay1. Так же у него есть методы turnOn и turnOff в которых выполняются команды.
При нажатии на объект на сцене или при переключении через меню всё корректно отрабатывает. Но вот при смене статуса (после получения новых данных из топика Devices/Relay1) - на сцене визуализация выполняется (меняется на вкл или выкл в зависимости от статуса), а методы не отрабатывают.
Где можно найти назначение статуса объекту при получении нового сообщения в топике? Я бы туда прикрутил бы refresh (в родительском классе описан этот метод и он выполняет другие в зависимости от статуса).
Ну или может быть есть какой то другой вариант взаимодействия?