mysensors

jonyzs
Сообщения: 86
Зарегистрирован: Чт фев 21, 2013 11:35 pm
Благодарил (а): 4 раза
Поблагодарили: 2 раза

Re: mysensors

Сообщение jonyzs » Вт ноя 11, 2014 11:16 pm

Неужели так трудно хоть одному кто добилсья вывода данных в majordomo запостить скрин настройки mqtt majordomo?
binladin
Сообщения: 143
Зарегистрирован: Чт фев 06, 2014 9:32 pm
Благодарил (а): 0
Поблагодарили: 5 раз

Re: mysensors

Сообщение binladin » Вт ноя 11, 2014 11:42 pm

jonyzs писал(а):Неужели так трудно хоть одному кто добилсья вывода данных в majordomo запостить скрин настройки mqtt majordomo?
Всё проще пареной репы - пропишите айпишник и # как subscription path и в случае нормальной работы клиента автоматически получите сообщения с него.
Я несколько дней мучался - сначала с эзернет-шилдом на шлюзе, потом с перепутанными проводками к nrf24 на клиенте, а потом с отсутствием сообщений на mqtt. И все проблемы оказались связаны с железками.
Вложения
mqtt.png
mqtt.png (20.01 КБ) 18951 просмотр
За это сообщение автора binladin поблагодарил:
jonyzs (Вт ноя 11, 2014 11:58 pm)
Рейтинг: 1.16%
jonyzs
Сообщения: 86
Зарегистрирован: Чт фев 21, 2013 11:35 pm
Благодарил (а): 4 раза
Поблагодарили: 2 раза

Re: mysensors

Сообщение jonyzs » Вт ноя 11, 2014 11:59 pm

Наконец :)
binladin
Сообщения: 143
Зарегистрирован: Чт фев 06, 2014 9:32 pm
Благодарил (а): 0
Поблагодарили: 5 раз

Re: mysensors

Сообщение binladin » Ср ноя 12, 2014 8:57 pm

Попробовал ещё один вариант MQTT-шлюза отсюда. Отличие в том что на шлюзе крутится не брокер, а клиент. Поднял отдельный mosquitto-брокер на машине с МДМ, сам подключился клиент с ардуинки, подключил клиент МДМ и получил записи с датчика. Ещё хочу выпилить nrf24 и сделать вариант "утонченного" проводного шлюза-MQTT-клиента датчики к которому подключаются напрямую, а не через радио (в моих условиях с проводами проблем нет, эфир за зря загружать не хочу).
AlexeyKr
Сообщения: 28
Зарегистрирован: Сб мар 30, 2013 7:34 am
Благодарил (а): 3 раза
Поблагодарили: 4 раза

Re: mysensors

Сообщение AlexeyKr » Сб ноя 15, 2014 10:28 am

Пытаюсь перевести свои модули на стандарт mqtt с помощью библиотек от mysensors. Второй день не могу добиться переключения V_LIGHT на модуле. С модуля сообщения идут. Подскажите, что надо отправить на шлюз, какой формат команды? То есть работает протоколирование, но управлять этим хозяйством не получается.
binladin
Сообщения: 143
Зарегистрирован: Чт фев 06, 2014 9:32 pm
Благодарил (а): 0
Поблагодарили: 5 раз

Re: mysensors

Сообщение binladin » Сб ноя 15, 2014 2:57 pm

AlexeyKr писал(а):Пытаюсь перевести свои модули на стандарт mqtt с помощью библиотек от mysensors. Второй день не могу добиться переключения V_LIGHT на модуле. С модуля сообщения идут. Подскажите, что надо отправить на шлюз, какой формат команды? То есть работает протоколирование, но управлять этим хозяйством не получается.
На клиенте с релюхой такой скетч залит ?
Если да, то ответ в этом куске кода:

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

#define RELAY_ON 1  // GPIO value to write to turn on attached relay
#define RELAY_OFF 0 // GPIO value to write to turn off attached relay    
Соответственно, я думаю, надо публиковать "1" или "0" в топик "MyMQTT/NodeID/RelayID/V_LIGHT" для переключения реле. Например, чтобы включить реле "MyMQTT/20/0/V_LIGHT/1", а чтобы выключить "MyMQTT/20/0/V_LIGHT/0".
Если не получится и наберетесь терпения подождать, я за сегодня - завтра попробую собрать этот пример.
За это сообщение автора binladin поблагодарил:
AlexeyKr (Сб ноя 15, 2014 8:43 pm)
Рейтинг: 1.16%
AlexeyKr
Сообщения: 28
Зарегистрирован: Сб мар 30, 2013 7:34 am
Благодарил (а): 3 раза
Поблагодарили: 4 раза

Re: mysensors

Сообщение AlexeyKr » Сб ноя 15, 2014 3:46 pm

пробовал разные команды - пока без результатов. вот например сообщение о включении и выключении V_LIGHT в serial на MQTT шлюзе:

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

0;0;3;0;9;read: 20-20-0 s=5,c=1,t=2,pt=1,l=1:1
MyMQTT/20/5/V_LIGHT
>>30 16 00 13 4D 79 4D 51 54 54 2F 32 30 2F 35 2F 56 5F 4C 49 47 48 54 31 
0;0;3;0;9;read: 20-20-0 s=5,c=1,t=2,pt=1,l=1:0
MyMQTT/20/5/V_LIGHT
>>30 16 00 13 4D 79 4D 51 54 54 2F 32 30 2F 35 2F 56 5F 4C 49 47 48 54 30 
это реакция на MyMQTT/20/5/V_LIGHT/1

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

<<30 18 00 01 71 4D 79 4D 51 54 54 2F 32 30 2F 35 2F 56 5F 4C 49 47 48 54 2F 31
на MyMQTT/20/5/VLIGHT/ON:1

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

<<30 1B 00 01 71 4D 79 4D 51 54 54 2F 32 30 2F 35 2F 56 5F 4C 49 47 48 54 2F 4F 4E 3A 31
отправляю команды из приложения MyMQTT для андроида. Видимо по стандарту MQTT где-то надо правильно указать тип сообщения, чтобы на него была реакция.
AlexeyKr
Сообщения: 28
Зарегистрирован: Сб мар 30, 2013 7:34 am
Благодарил (а): 3 раза
Поблагодарили: 4 раза

Re: mysensors

Сообщение AlexeyKr » Сб ноя 15, 2014 4:27 pm

добился положительного результата. ключевая фраза
публиковать "1" или "0" в топик "MyMQTT/NodeID/RelayID/V_LIGHT"
то есть я изначально неправильно указывал в приложении Topic и Message. всю команду указывал в Message. После указания в Topic MyMQTT/20/5/V_LIGHT а в Message 0 или 1 результат:

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

<<30 16 00 13 4D 79 4D 51 54 54 2F 32 30 2F 35 2F 56 5F 4C 49 47 48 54 31 
0;0;3;0;9;send: 0-0-20-20 s=5,c=1,t=2,pt=0,l=1,st=ok:1
<<30 16 00 13 4D 79 4D 51 54 54 2F 32 30 2F 35 2F 56 5F 4C 49 47 48 54 30 
0;0;3;0;9;send: 0-0-20-20 s=5,c=1,t=2,pt=0,l=1,st=ok:0
спасибо за подсказку. продолжаю изыскания.
теперь бы еще правильно внедрить отправку команды в majordomo...
binladin
Сообщения: 143
Зарегистрирован: Чт фев 06, 2014 9:32 pm
Благодарил (а): 0
Поблагодарили: 5 раз

Re: mysensors

Сообщение binladin » Сб ноя 15, 2014 8:28 pm

AlexeyKr писал(а): теперь бы еще правильно внедрить отправку команды в majordomo...
Рад был помочь. Как внедрите в МДМ, поделитесь опытом, очень не хватает конкретных примеров.
AlexeyKr
Сообщения: 28
Зарегистрирован: Сб мар 30, 2013 7:34 am
Благодарил (а): 3 раза
Поблагодарили: 4 раза

Re: mysensors

Сообщение AlexeyKr » Вс ноя 16, 2014 3:09 pm

всё получилось. управление по mqtt работает без дополнительных скриптов и методов.
1. Настраиваем параметры шлюза MyMQTT
СпойлерПоказать
1.png
1.png (12.61 КБ) 18778 просмотров
2. Запускаем на сервере скрипт php mqtt с помощью bat файла
СпойлерПоказать
1b.png
1b.png (2.62 КБ) 18778 просмотров
3. После этого видим публикуемые шлюзом сообщения
СпойлерПоказать
1c.png
1c.png (13.1 КБ) 18778 просмотров
4. Выбираем объект, от которого приходит сообщение и его свойство. У меня например комнатный модуль Node2, температура.
СпойлерПоказать
2.png
2.png (11.84 КБ) 18778 просмотров
5. Открываем на редактирование пришедшее сообщение mqtt
СпойлерПоказать
2a.png
2a.png (9.07 КБ) 18778 просмотров
заполняем поля "Связанный объект" и "Свойство" например для температуры
СпойлерПоказать
3.png
3.png (9.6 КБ) 18778 просмотров
Аналогично для сообщения от источника света
СпойлерПоказать
4.png
4.png (9.22 КБ) 18778 просмотров
6. Управление источником света можно производить изменением свойства объекта, при этом автоматически отправляется в связанный mqtt топик сообщение с новым значением свойства.
для этого для объекта можно создать элемент управления типа переключатель в меню управления
СпойлерПоказать
6.png
6.png (3.85 КБ) 18778 просмотров
настройка переключателя
СпойлерПоказать
5.png
5.png (14.48 КБ) 18778 просмотров
всё работает, НО мы изменяем свойство объекта без контроля выполнения команды. При тестировании обнаружено, что при потере управляющего сообщения, в меню выключатель включен, а фактически источник света выключен. Также по неизвестной причине зависал скрипт mqtt_daemon.php и не реагировал на входящие сообщения.
Думаю требуется другой метод отправки сообщения на mqtt-шлюз, без изменения свойства объекта. А свойство объекта изменять по пришедшему от шлюза сообщению.
За это сообщение автора AlexeyKr поблагодарили (всего 3):
cabat (Вт ноя 18, 2014 9:49 am) • krasnov (Пт ноя 28, 2014 2:38 pm) • mirsum (Сб май 02, 2015 4:23 pm)
Рейтинг: 3.49%
Ответить