MQTT обратная связь...

Использование системы в различных ситуациях, вопросы программирования сценариев.

Модератор: immortal

Ответить
gorec2005
Сообщения: 7
Зарегистрирован: Пн окт 19, 2015 2:08 am
Благодарил (а): 1 раз
Поблагодарили: 0

MQTT обратная связь...

Сообщение gorec2005 » Вс мар 13, 2016 7:39 pm

Подскажите пожалуйста - как правильно/лучше сделать обратную связь с устройствами:
на тек. момент устройства (ESP8266+самописная прошивка) подключаются к MQTT брокеру, топик
/ESP/DEVMAC/C/#
и MJD подключено туда-же (топик /ESP/#)- если использовать стандартную схему привязки - то все работает нормально, но есть нюанс - ESP шлет подтверждение исполнения команды устройством
для команды
/ESP/18FE3498EC00/C/GPIO/1/FADE 1000
подтверждение будет
/ESP/18FE3498EC00/PWM/1 1000
:-) если топики сделать одинаковыми (без буквы C) получаем вечный двигатель
кто-то отправляет команду в топик и ESP потом ее ретранслирует бесконечно.
кроме того, есть еще широковещательные сообщения вроде
/ESP/BROADCAST/C/... которые возвращают то-же в другой топик
если я делаю слайдер на регулирование яркости подсветки, то связь устанавливается в обе стороны одновременно :-( как в этом случае сделать контроль?
dagenwail
Сообщения: 5
Зарегистрирован: Чт май 26, 2016 9:09 pm
Благодарил (а): 1 раз
Поблагодарили: 0

Re: MQTT обратная связь...

Сообщение dagenwail » Вс май 29, 2016 11:59 pm

У меня MJD get апросы на исполнение
а Arduino шлет сообщение со статусом с топиком /ARD/STATUS/LAMP1
MJD подписано на /ARD/STATUS/#

т к я не знаю как организовать запрос через mqtt с MJM
если подскажешь буду рад
Аватара пользователя
ShouseD
Сообщения: 11
Зарегистрирован: Вс май 29, 2016 1:27 pm
Благодарил (а): 0
Поблагодарили: 1 раз
Контактная информация:

Re: MQTT обратная связь...

Сообщение ShouseD » Пн май 30, 2016 8:55 am

Я настроил связь по протоколу MQTT из ESP-12 (тоже кастомная прошивка). И управляю, и получаю состояние. На самом деле ничего сложного. Смотрите мое видео. https://youtu.be/jZGjd04IvI4 Скетч с комментариями в описании.
dagenwail
Сообщения: 5
Зарегистрирован: Чт май 26, 2016 9:09 pm
Благодарил (а): 1 раз
Поблагодарили: 0

Re: MQTT обратная связь...

Сообщение dagenwail » Вс июн 05, 2016 1:56 am

ShouseD писал(а):Я настроил связь по протоколу MQTT из ESP-12 (тоже кастомная прошивка). И управляю, и получаю состояние. На самом деле ничего сложного. Смотрите мое видео. https://youtu.be/jZGjd04IvI4 Скетч с комментариями в описании.
Как получать статус на esp я понял а как ты его отправляешь его с mdm я не поймы. Ты связываешь mqtt сообщение пришеднее с esp со свойством объекта switch1 и у объекта меняется status. А какой командой сделать так чтобы когда ты щелкаешь по переключателю отправлялось сообщение для esp по которому он переключится. Нужно ведь что-то в метод прописать?
Аватара пользователя
ShouseD
Сообщения: 11
Зарегистрирован: Вс май 29, 2016 1:27 pm
Благодарил (а): 0
Поблагодарили: 1 раз
Контактная информация:

Re: MQTT обратная связь...

Сообщение ShouseD » Вс июн 05, 2016 11:28 am

dagenwail писал(а): Нужно ведь что-то в метод прописать?
Нет. Ничего прописывать не надо. Я ведь со свойством объекта уже связал, и система сама отправляет сообщение, когда ты щелкаешь по переключателю, на связанный адрес(relay/relay_1), например 0 или 1.
ryzh
Сообщения: 4
Зарегистрирован: Пт апр 24, 2015 6:53 pm
Благодарил (а): 0
Поблагодарили: 0

Re: MQTT обратная связь...

Сообщение ryzh » Вт июн 07, 2016 7:54 pm

А я поступил по другому:
создал объект mqttSend со свойством .command, это свойство привязал к mqtt (/ESP8266/COMMAND/) и setGlobal-ом присваиваю этому свойству все нужные мне команды ( Строку вида "room=Hall&device=Lamp1&command=1" ). ESP 12 (c прошивкой на ардуино), выполняющая функцию шлюза слушает этот топик, разбирает строку, командует другим ESP и ардуинкам, принимает от них отчет об исполнении и отвечает в соответствующем топике (например /ESP8266/STATUS/Hall/Lamp1 ).

Попутно решается проблема передачи команд моим старым устройствам сделанным на 433 Мгц и на NRF24L01.
Ответить