mysensors
-
- Сообщения: 28
- Зарегистрирован: Сб мар 30, 2013 7:34 am
- Благодарил (а): 3 раза
- Поблагодарили: 4 раза
Re: mysensors
Попробовал SOFT SPI для nRF24, без изменений. от гейта к MD сообщения проходят, от MD управление не распознается.
-
- Сообщения: 143
- Зарегистрирован: Чт фев 06, 2014 9:32 pm
- Благодарил (а): 0
- Поблагодарили: 5 раз
Re: mysensors
Пардоньте за глупый вопрос, но mqtt_daemon.php у Вас запущен ? Вы уверены?AlexeyKr писал(а):Попробовал SOFT SPI для nRF24, без изменений. от гейта к MD сообщения проходят, от MD управление не распознается.
У меня так было - первый раз все ок, а на следующий день, я 2 часа поратил, чтобы понять, что надо запустить скрипт.
-
- Сообщения: 28
- Зарегистрирован: Сб мар 30, 2013 7:34 am
- Благодарил (а): 3 раза
- Поблагодарили: 4 раза
Re: mysensors
mqtt_daemon.php - для приема сообщений от брокера. Это работает, и сообщения в MD появляются.
Не работает другое - брокер с W5100: управление от MD через брокер в ноду, управление светом, не проходит, а с enc28j60 - проходит.
На логах видно...
это с enc28j60 - с ним работает
а это с w5100: - реакции на входящий пакет << нет
это с W5100, андроид приложение отправляет пакет короче, только топик и значение, и управление проходит:
Не работает другое - брокер с W5100: управление от MD через брокер в ноду, управление светом, не проходит, а с enc28j60 - проходит.
На логах видно...
это с enc28j60 - с ним работает
Код: Выделить всё
<<10 23 00 06 4D 51 49 73 64 70 03 02 00 0A 00 15 4D 61 6A 6F 72 44 6F 4D 6F 20 4D 51 54 54 20 43 6C 69 65 6E 74
>>20 02 00 00
<<30 16 00 13 4D 79 4D 51 54 54 2F 32 30 2F 35 2F 56 5F 4C 49 47 48 54 31 E0 00
0;0;3;0;9;send: 0-0-20-20 s=5,c=1,t=2,pt=0,l=2,st=ok:1а
Код: Выделить всё
<<10 23
>>20 02 00 00
<<00 06 4D 51 49 73 64 70 03 02 00 0A 00 15 4D 61 6A 6F 72 44 6F 4D 6F 20 4D 51 54 54 20 43 6C 69 65 6E 74 30 16 00 13 4D 79 4D 51 54 54 2F 32 30 2F 35 2F 56 5F 4C 49 47 48 54 30 E0 00
Код: Выделить всё
<<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
-
- Сообщения: 1473
- Зарегистрирован: Сб окт 12, 2013 11:03 pm
- Благодарил (а): 49 раз
- Поблагодарили: 327 раз
Re: mysensors
Дошли руки до попытки передачи. И тут всё стало.
Оказывается mySensors/MQTTGateway поддерживает только одно соединение
А MajorDomo занимает это соединение скриптом просушки событий.
То есть при передачи значения из MD идёт попытка сделать соединение на MQTTGateway
Как быть в этой ситуации?
Как вариант поставить промежуточную службу mosquitto. Но вот с настройками у меня как то нелады. Сама служба запускается. А как настроить Bridges на MQTTGateway 192.168.1.66 ??
-----
также копался с библиотекой команда request не обрабатывается в MQTTGateway.
Да и в самой mqtt не совсем понятно как это сделать (только публикацией свойства и последующей публикацией обратно в клиент)
Оказывается mySensors/MQTTGateway поддерживает только одно соединение
А MajorDomo занимает это соединение скриптом просушки событий.
То есть при передачи значения из MD идёт попытка сделать соединение на MQTTGateway
Как быть в этой ситуации?
Как вариант поставить промежуточную службу mosquitto. Но вот с настройками у меня как то нелады. Сама служба запускается. А как настроить Bridges на MQTTGateway 192.168.1.66 ??
-----
также копался с библиотекой команда request не обрабатывается в MQTTGateway.
Да и в самой mqtt не совсем понятно как это сделать (только публикацией свойства и последующей публикацией обратно в клиент)
Linux, Raspberry PI, MySensors
Connect: http://connect.smartliving.ru/profile/53
Мои проекты: http://smartliving.ru/profile/4
Connect: http://connect.smartliving.ru/profile/53
Мои проекты: http://smartliving.ru/profile/4
-
- Сообщения: 143
- Зарегистрирован: Чт фев 06, 2014 9:32 pm
- Благодарил (а): 0
- Поблагодарили: 5 раз
Re: mysensors
А где это посмотреть ?Ivan писал(а):Дошли руки до попытки передачи. И тут всё стало.
Оказывается mySensors/MQTTGateway поддерживает только одно соединение
А MajorDomo занимает это соединение скриптом просушки событий.
Зачем Вам Бридж ? Воспользуйтесь на шлюзе скетчем MQTTClientGateway (он есть на форуме).То есть при передачи значения из MD идёт попытка сделать соединение на MQTTGateway
Как быть в этой ситуации?
Как вариант поставить промежуточную службу mosquitto. Но вот с настройками у меня как то нелады. Сама служба запускается. А как настроить Bridges на MQTTGateway 192.168.1.66 ??
Функциональность запрос/ответ можно организовать, соответствующим образом видоизменив структуру топиков MQTT. Т.е. запросчик должен публиковать свой запрос в топик вида "MyMQTT/20/0/V_LIGHT/REQUEST", и получать ответ от ноды в топике "MyMQTT/20/0/V_LIGHT/RESPONSE".также копался с библиотекой команда request не обрабатывается в MQTTGateway.
Да и в самой mqtt не совсем понятно как это сделать (только публикацией свойства и последующей публикацией обратно в клиент)
Например в Гаджеткипере функционал RPC реализован так:
Либо искать вариант прикрутить WAMP, я так понимаю он умеет и RPC и Routed RPC.Communication Protocols: MQTT RPC Protocol: JSON-RPC 2.0
How it works: (GadgetKeeper sends request, device responds)
Device (Thing) subscribes to a request topic on MQTT message broker
GadgetKeeper subscribes to the response topic on MQTT message broker
GadgetKeeper sends (publishes) a command to the request topic
Device receives command from the request topic
Device sends (publishes) a response to the response topic
GadgetKeeper receives the response
GadgetKeeper disconnects from MQTT message broker
(Device sends request, GadgetKeeper responds)
GadgetKeeper subscribes to a request topic on MQTT message broker
Device (Thing) subscribes to the response topic on MQTT message broker
Device sends (publishes) a command to the request topic
GadgetKeeper receives command from the request topic
GadgetKeeper sends (publishes) a response to the response topic
Device receives the response
GadgetKeeper disconnects from MQTT message broker
По ссылке ниже можно посмотреть реализацию клиента Autobahn на JS: https://github.com/tavendo/AutobahnJS
Вот гляньте на картинку и сразу поймёте, чего нам не хватает для счастья - http://wamp.ws/static/img/gen/unified_r ... mp_iot.svg
А вот либа клиента и роутера на php - https://github.com/voryx/Thruway, есть ещё Ratchet.
-
- Сообщения: 28
- Зарегистрирован: Сб мар 30, 2013 7:34 am
- Благодарил (а): 3 раза
- Поблагодарили: 4 раза
Re: mysensors
Эта проблема решается редактированием конфига UIPEthernet.Оказывается mySensors/MQTTGateway поддерживает только одно соединение
А MajorDomo занимает это соединение скриптом просушки событий.
Libraries\UIPEthernet\utility\uipethernet-conf.h изменить значение параметра
#define UIP_CONF_MAX_CONNECTIONS 2 (в оригинальной библиотеке было 4, от mysensors поставили 1)
это позволит и слушать подписку и публиковать сообщения в топик.
Если не будет получаться из MD, рекомендую попробовать андроид приложение MyMQTT, чтобы убедиться, что mqtt-gate работает.
-
- Сообщения: 1473
- Зарегистрирован: Сб окт 12, 2013 11:03 pm
- Благодарил (а): 49 раз
- Поблагодарили: 327 раз
Re: mysensors
Спасибо!!! Заработало. (Нужно все глюки куда то описывать)UIPEthernet
Мне не нужен. т.к. сервер (мастер) должен быть MajorDomoMQTTClientGateway
Попробую сделать REQ\RES
Только нельзя их так делать как вы предложили. Библиотека поддерживает пути только [MQTT_BROKER_PREFIX]/[NodeID]/[SensorID]/V_[SensorType]
Нужно делать как то так:
MyMQTT/20/1/V_VAR1 - (send) Запрос на сервер
MyMQTT/20/1/V_VAR2 - (incomingMessage) Ответ сервера
Linux, Raspberry PI, MySensors
Connect: http://connect.smartliving.ru/profile/53
Мои проекты: http://smartliving.ru/profile/4
Connect: http://connect.smartliving.ru/profile/53
Мои проекты: http://smartliving.ru/profile/4
-
- Сообщения: 143
- Зарегистрирован: Чт фев 06, 2014 9:32 pm
- Благодарил (а): 0
- Поблагодарили: 5 раз
Re: mysensors
А причём тут это ? Клиент на шлюзе нужен, если у вас используется отдельный полноценный mqtt-брокер, например mosquitto.Мне не нужен. т.к. сервер (мастер) должен быть MajorDomoMQTTClientGateway
Ну почему нельзя, разработчики mysensors обидятся ? Моё предложение было только для иллюстрации принципа.Попробую сделать REQ\RES
Только нельзя их так делать как вы предложили. Библиотека поддерживает пути только [MQTT_BROKER_PREFIX]/[NodeID]/[SensorID]/V_[SensorType]
Если получится - будет замечательно иметь рабочий пример.Нужно делать как то так:
MyMQTT/20/1/V_VAR1 - (send) Запрос на сервер
MyMQTT/20/1/V_VAR2 - (incomingMessage) Ответ сервера
PS: А WAMP всё таки очень вкусная штука.
-
- Сообщения: 1473
- Зарегистрирован: Сб окт 12, 2013 11:03 pm
- Благодарил (а): 49 раз
- Поблагодарили: 327 раз
Re: mysensors
Продолжаю изучать библиотеку
Сделал и протестировал ещё одно устройство DHT
Arduino Pro Mini. На картинке справа
RF24 - Рядом с ардуинкой в термоусадке
DHT21 - пока болтается на проводах. В дальнейшем приклею к коробке
PowerBank - Коробка + зарядник, слева
Аккумулятор - LR123A 2000мА - по серединке
работает в спящем режиме. Потребляет 0.002 мА в спящемрежиме. То есть должно хватит года на 2
Всё помещается в маленькую коробочку
Сделал и протестировал ещё одно устройство DHT
СпойлерПоказать
RF24 - Рядом с ардуинкой в термоусадке
DHT21 - пока болтается на проводах. В дальнейшем приклею к коробке
PowerBank - Коробка + зарядник, слева
Аккумулятор - LR123A 2000мА - по серединке
работает в спящем режиме. Потребляет 0.002 мА в спящемрежиме. То есть должно хватит года на 2
Всё помещается в маленькую коробочку
Linux, Raspberry PI, MySensors
Connect: http://connect.smartliving.ru/profile/53
Мои проекты: http://smartliving.ru/profile/4
Connect: http://connect.smartliving.ru/profile/53
Мои проекты: http://smartliving.ru/profile/4