Страница 6 из 25

Re: mysensors

Добавлено: Сб ноя 22, 2014 1:29 am
AlexeyKr
Попробовал SOFT SPI для nRF24, без изменений. от гейта к MD сообщения проходят, от MD управление не распознается.

Re: mysensors

Добавлено: Сб ноя 22, 2014 9:24 am
binladin
AlexeyKr писал(а):Попробовал SOFT SPI для nRF24, без изменений. от гейта к MD сообщения проходят, от MD управление не распознается.
Пардоньте за глупый вопрос, но mqtt_daemon.php у Вас запущен ? Вы уверены?
У меня так было - первый раз все ок, а на следующий день, я 2 часа поратил, чтобы понять, что надо запустить скрипт.

Re: mysensors

Добавлено: Сб ноя 22, 2014 9:54 am
AlexeyKr
mqtt_daemon.php - для приема сообщений от брокера. Это работает, и сообщения в MD появляются.
Не работает другое - брокер с 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а
а это с w5100: - реакции на входящий пакет << нет

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

<<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
это с W5100, андроид приложение отправляет пакет короче, только топик и значение, и управление проходит:

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

<<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

Re: mysensors

Добавлено: Сб ноя 22, 2014 12:04 pm
binladin
Освобожусь, зацеплю релюху на ноду и попробую управлять.

Re: mysensors

Добавлено: Пн ноя 24, 2014 4:33 pm
Ivan
Дошли руки до попытки передачи. И тут всё стало.

Оказывается mySensors/MQTTGateway поддерживает только одно соединение
А MajorDomo занимает это соединение скриптом просушки событий.

То есть при передачи значения из MD идёт попытка сделать соединение на MQTTGateway

Как быть в этой ситуации?

Как вариант поставить промежуточную службу mosquitto. Но вот с настройками у меня как то нелады. Сама служба запускается. А как настроить Bridges на MQTTGateway 192.168.1.66 ??

-----
также копался с библиотекой команда request не обрабатывается в MQTTGateway.
Да и в самой mqtt не совсем понятно как это сделать (только публикацией свойства и последующей публикацией обратно в клиент)

Re: mysensors

Добавлено: Пн ноя 24, 2014 5:26 pm
binladin
Ivan писал(а):Дошли руки до попытки передачи. И тут всё стало.

Оказывается mySensors/MQTTGateway поддерживает только одно соединение
А MajorDomo занимает это соединение скриптом просушки событий.
А где это посмотреть ?
То есть при передачи значения из MD идёт попытка сделать соединение на MQTTGateway

Как быть в этой ситуации?

Как вариант поставить промежуточную службу mosquitto. Но вот с настройками у меня как то нелады. Сама служба запускается. А как настроить Bridges на MQTTGateway 192.168.1.66 ??
Зачем Вам Бридж ? Воспользуйтесь на шлюзе скетчем MQTTClientGateway (он есть на форуме).
также копался с библиотекой команда request не обрабатывается в MQTTGateway.
Да и в самой mqtt не совсем понятно как это сделать (только публикацией свойства и последующей публикацией обратно в клиент)
Функциональность запрос/ответ можно организовать, соответствующим образом видоизменив структуру топиков MQTT. Т.е. запросчик должен публиковать свой запрос в топик вида "MyMQTT/20/0/V_LIGHT/REQUEST", и получать ответ от ноды в топике "MyMQTT/20/0/V_LIGHT/RESPONSE".
Например в Гаджеткипере функционал 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
Либо искать вариант прикрутить WAMP, я так понимаю он умеет и RPC и Routed RPC.
По ссылке ниже можно посмотреть реализацию клиента 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.

Re: mysensors

Добавлено: Пн ноя 24, 2014 8:44 pm
AlexeyKr
Оказывается mySensors/MQTTGateway поддерживает только одно соединение
А MajorDomo занимает это соединение скриптом просушки событий.
Эта проблема решается редактированием конфига UIPEthernet.
Libraries\UIPEthernet\utility\uipethernet-conf.h изменить значение параметра
#define UIP_CONF_MAX_CONNECTIONS 2 (в оригинальной библиотеке было 4, от mysensors поставили 1)

это позволит и слушать подписку и публиковать сообщения в топик.
Если не будет получаться из MD, рекомендую попробовать андроид приложение MyMQTT, чтобы убедиться, что mqtt-gate работает.

Re: mysensors

Добавлено: Пн ноя 24, 2014 9:20 pm
Ivan
UIPEthernet
Спасибо!!! Заработало. (Нужно все глюки куда то описывать)
MQTTClientGateway
Мне не нужен. т.к. сервер (мастер) должен быть MajorDomo

Попробую сделать REQ\RES
Только нельзя их так делать как вы предложили. Библиотека поддерживает пути только [MQTT_BROKER_PREFIX]/[NodeID]/[SensorID]/V_[SensorType]

Нужно делать как то так:
MyMQTT/20/1/V_VAR1 - (send) Запрос на сервер
MyMQTT/20/1/V_VAR2 - (incomingMessage) Ответ сервера

Re: mysensors

Добавлено: Пн ноя 24, 2014 9:40 pm
binladin
MQTTClientGateway
Мне не нужен. т.к. сервер (мастер) должен быть MajorDomo
А причём тут это ? Клиент на шлюзе нужен, если у вас используется отдельный полноценный mqtt-брокер, например mosquitto.
Попробую сделать REQ\RES
Только нельзя их так делать как вы предложили. Библиотека поддерживает пути только [MQTT_BROKER_PREFIX]/[NodeID]/[SensorID]/V_[SensorType]
Ну почему нельзя, разработчики mysensors обидятся ? :) Моё предложение было только для иллюстрации принципа.
Нужно делать как то так:
MyMQTT/20/1/V_VAR1 - (send) Запрос на сервер
MyMQTT/20/1/V_VAR2 - (incomingMessage) Ответ сервера
Если получится - будет замечательно иметь рабочий пример.

PS: А WAMP всё таки очень вкусная штука.

Re: mysensors

Добавлено: Пт ноя 28, 2014 2:36 pm
Ivan
Продолжаю изучать библиотеку

Сделал и протестировал ещё одно устройство DHT
SPOILERSPOILER_SHOW
DSCN9728.jpg
DSCN9728.jpg (657.06 КБ) 18659 просмотров
Arduino Pro Mini. На картинке справа
RF24 - Рядом с ардуинкой в термоусадке
DHT21 - пока болтается на проводах. В дальнейшем приклею к коробке
PowerBank - Коробка + зарядник, слева
Аккумулятор - LR123A 2000мА - по серединке

работает в спящем режиме. Потребляет 0.002 мА в спящемрежиме. То есть должно хватит года на 2

Всё помещается в маленькую коробочку