[Модуль] MySensors (mysensor)

Разработка дополнительных модулей, подключение различных приложений.

Модератор: immortal

olehs
Сообщения: 1115
Зарегистрирован: Вс июн 14, 2015 11:08 am
Благодарил (а): 85 раз
Поблагодарили: 342 раза

Re: Модуль MySensor

Сообщение olehs » Ср мар 02, 2016 1:03 am

В мониторе скорость 115200 поставили?
Аватара пользователя
lanket
Сообщения: 1168
Зарегистрирован: Вт окт 14, 2014 11:27 pm
Откуда: Санкт-Петербург
Благодарил (а): 260 раз
Поблагодарили: 163 раза

Re: Модуль MySensor

Сообщение lanket » Ср мар 02, 2016 9:39 am

olehs писал(а):В мониторе скорость 115200 поставили?
Нет не знал о таких тонкостях.
Там по умолчанию стоит 9600.
Но ковыряясь с примерами нашол описание как работать с портом.

Надо в сетапе указать что будешь им пользоваться, и скорость объявить.

Все равно мусор вместо нормальных сообщений.

Решил по другому.

Накотал из примера блинк простой скетч перемигивать светодиодами по очереди так как они уже были подключены и паралельно в порт соправаждал комментами.

В порт сообщения сыпались нормально и чттаемо.

А в тех двух скетчах где используется радио нифега нормального.

Решил попробовать с другой мегай думая что мало ли дохлая.

Собрал новый стенд.
Тоже самое.
Подключил к ней другое радио.
Ожидал что появиться новый нод.

Но в результате вообще мдм не реагирует на новый нод.
В порте тот же мусор.

Подумал что радио дохлое.
Присоединил новое.
Результат тотже.

Отправлено с моего HM NOTE 1LTEW через Tapatalk
Разработка голосового асистента для Мажордомо по любому ключевому слову.
:arrow: Обсужение
:arrow: gitHub 2й версии терминала
:arrow: GitHub модуля для МД
gitHub сырого модуля 2й версии
:arrow: Connect
Rasberry Pi 2, MDM, MySensors. И говорящий апельсин.
olehs
Сообщения: 1115
Зарегистрирован: Вс июн 14, 2015 11:08 am
Благодарил (а): 85 раз
Поблагодарили: 342 раза

Re: Модуль MySensor

Сообщение olehs » Ср мар 02, 2016 10:31 am

MySensors сам по умолчанию включаает Serial на скорости 115200.
Мусор в терминале - признак неправильной скорости.

Без логов с самой ноды очень трудно Вам помочь.
cabat
Сообщения: 216
Зарегистрирован: Ср май 28, 2014 12:42 pm
Откуда: Санкт-Петерург
Благодарил (а): 76 раз
Поблагодарили: 28 раз

Re: Модуль MySensor

Сообщение cabat » Ср мар 02, 2016 11:03 am

Вот здесь задается скорость порта: https://github.com/mysensors/Arduino/bl ... nfig.h#L33
Я там всегда сразу ставлю 9600, так как на 115000 у меня иногда подглючивал вывод..
За это сообщение автора cabat поблагодарил:
lanket (Ср мар 02, 2016 11:15 pm)
Рейтинг: 1.16%
Аватара пользователя
lanket
Сообщения: 1168
Зарегистрирован: Вт окт 14, 2014 11:27 pm
Откуда: Санкт-Петербург
Благодарил (а): 260 раз
Поблагодарили: 163 раза

Re: Модуль MySensor

Сообщение lanket » Ср мар 02, 2016 12:27 pm

olehs писал(а):MySensors сам по умолчанию включаает Serial на скорости 115200.
Мусор в терминале - признак неправильной скорости.

Без логов с самой ноды очень трудно Вам помочь.
cabat писал(а):Вот здесь задается скорость порта: https://github.com/mysensors/Arduino/bl ... nfig.h#L33
Я там всегда сразу ставлю 9600, так как на 115000 у меня иногда подглючивал вывод..

Спасибо. Всем откликнувшимся.

Вечером буду дальше эксперементировать.

Пока тупил в очереди почитал про библиотеку которая сбила с ног.
писал(а): Currently there is only one implementation for the ATMega328p (which also works fine for AtMega 2560). Construct the class like this:

MyHwATMega328 hw;
Получается должно работать.

Буду разбираться.




Отправлено с моего HM NOTE 1LTEW через Tapatalk
Разработка голосового асистента для Мажордомо по любому ключевому слову.
:arrow: Обсужение
:arrow: gitHub 2й версии терминала
:arrow: GitHub модуля для МД
gitHub сырого модуля 2й версии
:arrow: Connect
Rasberry Pi 2, MDM, MySensors. И говорящий апельсин.
Аватара пользователя
lanket
Сообщения: 1168
Зарегистрирован: Вт окт 14, 2014 11:27 pm
Откуда: Санкт-Петербург
Благодарил (а): 260 раз
Поблагодарили: 163 раза

Re: Модуль MySensor

Сообщение lanket » Ср мар 02, 2016 11:20 pm

cabat писал(а):Вот здесь задается скорость порта: https://github.com/mysensors/Arduino/bl ... nfig.h#L33
Я там всегда сразу ставлю 9600, так как на 115000 у меня иногда подглючивал вывод..
Скорость поменял.
Дебаг стал читаем:
СпойлерПоказать
send: 13-13-0-0 s=255,c=3,t=15,pt=2,l=2,sg=0,st=fail:0
send: 13-13-0-0 s=255,c=0,t=18,pt=0,l=5,sg=0,st=fail:1.5.4
send: 13-13-0-0 s=255,c=3,t=6,pt=1,l=1,sg=0,st=fail:0
repeater started, id=13, parent=0, distance=1
send: 13-13-0-0 s=255,c=3,t=11,pt=0,l=10,sg=0,st=fail:RelaySitok
send: 13-13-0-0 s=255,c=3,t=12,pt=0,l=3,sg=0,st=fail:1.3
send: 13-13-0-0 s=1,c=0,t=3,pt=0,l=0,sg=0,st=fail:
find parent
send: 13-13-255-255 s=255,c=3,t=7,pt=0,l=0,sg=0,st=bc:
send: 13-13-0-0 s=2,c=0,t=3,pt=0,l=0,sg=0,st=fail:
send: 13-13-0-0 s=3,c=0,t=3,pt=0,l=0,sg=0,st=fail:
send: 13-13-0-0 s=4,c=0,t=3,pt=0,l=0,sg=0,st=fail:
send: 13-13-0-0 s=5,c=0,t=3,pt=0,l=0,sg=0,st=fail:
send: 13-13-0-0 s=6,c=0,t=3,pt=0,l=0,sg=0,st=fail:
send: 13-13-0-0 s=7,c=0,t=3,pt=0,l=0,sg=0,st=fail:
find parent
send: 13-13-255-255 s=255,c=3,t=7,pt=0,l=0,sg=0,st=bc:
send: 13-13-0-0 s=8,c=0,t=3,pt=0,l=0,sg=0,st=fail:
send: 13-13-0-0 s=9,c=0,t=3,pt=0,l=0,sg=0,st=fail:
send: 13-13-0-0 s=10,c=0,t=3,pt=0,l=0,sg=0,st=fail:
send: 13-13-0-0 s=11,c=0,t=3,pt=0,l=0,sg=0,st=fail:
send: 13-13-0-0 s=12,c=0,t=3,pt=0,l=0,sg=0,st=fail:
send: 13-13-0-0 s=13,c=0,t=3,pt=0,l=0,sg=0,st=fail:
find parent
send: 13-13-255-255 s=255,c=3,t=7,pt=0,l=0,sg=0,st=bc:
send: 13-13-0-0 s=14,c=0,t=3,pt=0,l=0,sg=0,st=fail:
send: 13-13-0-0 s=15,c=0,t=3,pt=0,l=0,sg=0,st=fail:
send: 13-13-0-0 s=16,c=0,t=3,pt=0,l=0,sg=0,st=fail:
send: 13-13-0-0 s=17,c=0,t=3,pt=0,l=0,sg=0,st=fail:
send: 13-13-0-0 s=18,c=0,t=3,pt=0,l=0,sg=0,st=fail:
send: 13-13-0-0 s=19,c=0,t=3,pt=0,l=0,sg=0,st=fail:
find parent
send: 13-13-255-255 s=255,c=3,t=7,pt=0,l=0,sg=0,st=bc:
send: 13-13-0-0 s=20,c=0,t=3,pt=0,l=0,sg=0,st=fail:
send: 13-13-0-0 s=21,c=0,t=3,pt=0,l=0,sg=0,st=fail:
send: 13-13-0-0 s=22,c=0,t=3,pt=0,l=0,sg=0,st=fail:
Setup complite
Сам скетч:
СпойлерПоказать

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

#include <MySigningNone.h>
#include <MyTransportNRF24.h>
#include <MyHwATMega328.h>
#include <MySensor.h>
#include <SPI.h>

#define RELAY_1  22  // Arduino Digital I/O pin number for first relay (second on pin+1 etc)
#define NUMBER_OF_RELAYS 22 // Total number of attached relays
#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

MyTransportNRF24 radio(RF24_CE_PIN, RF24_CS_PIN, RF24_PA_LEVEL_GW);  
//MyTransportRFM69 radio;
// Message signing driver (none default)
// MySigningNone signer;
// Select AtMega328 hardware profile
MyHwATMega328 hw;
// Construct MySensors library
MySensor gw(radio, hw);

void setup()  
{   
  // Initialize library and add callback for incoming messages
  gw.begin(incomingMessage, AUTO, true);
  // Send the sketch version information to the gateway and Controller
  gw.sendSketchInfo("RelaySitok", "1.3");

  // Fetch relay status
  for (int sensor=1, pin=RELAY_1; sensor<=NUMBER_OF_RELAYS;sensor++, pin++) {
    // Register all sensors to gw (they will be created as child devices)
    gw.present(sensor, S_LIGHT);
    // Then set relay pins in output mode
    pinMode(pin, OUTPUT);   
    // Set relay to last known state (using eeprom storage) 
    digitalWrite(pin, gw.loadState(sensor)?RELAY_ON:RELAY_OFF);
  }
  Serial.println("Setup complite");
}


void loop() 
{
  // Alway process incoming messages whenever possible
  gw.process();
}

void incomingMessage(const MyMessage &message) {
  Serial.println("Incomung");
  // We only expect one type of message from controller. But we better check anyway.
  if (message.type==V_LIGHT) {
     // Change relay state
     digitalWrite(message.sensor-1+RELAY_1, message.getBool()?RELAY_ON:RELAY_OFF);
     // Store state in eeprom
     gw.saveState(message.sensor, message.getBool());
     Serial.print("Incoming change for sensor:");
     Serial.print(message.sensor);
     Serial.print(", New status: ");
     Serial.println(message.getBool());
   } 
}
Сам МДМ видит сенсоры, тобиш они рапортуют что они есть.
МДМ туда шлет команды:
СпойлерПоказать
2016-03-02 23:17:08 Send: 13;2;1;0;2;1
2016-03-02 23:17:07 Send: 13;1;1;0;2;1
2016-03-02 23:17:04 Send: 13;1;1;0;2;0
2016-03-02 23:17:03 Send: 13;2;1;0;2;0
Поидее должна сработать "функция" incomingMessage
и в дебаге написать сначала Incomung а потом отреагировать и в дебаг добавить что сделано.

Но дебаг как и вывод №22 и 23 не меняют состояния.

Пример вроде как почти дословно загружен но что не нравиться ардуинке я не понимаю

уж после gw.process();
добавил Serial.println("loop");

В дебаге посыпались надписи loop

я так понимаю не отрабатывается incomingMessage по какойто причине
Разработка голосового асистента для Мажордомо по любому ключевому слову.
:arrow: Обсужение
:arrow: gitHub 2й версии терминала
:arrow: GitHub модуля для МД
gitHub сырого модуля 2й версии
:arrow: Connect
Rasberry Pi 2, MDM, MySensors. И говорящий апельсин.
olehs
Сообщения: 1115
Зарегистрирован: Вс июн 14, 2015 11:08 am
Благодарил (а): 85 раз
Поблагодарили: 342 раза

Re: Модуль MySensor

Сообщение olehs » Ср мар 02, 2016 11:31 pm

В этом дебаге нода не видит гейт (все статусы fail), т.е. она ничего не отправила.
Можете снять синхронные логи ноды и МДМ?
Аватара пользователя
lanket
Сообщения: 1168
Зарегистрирован: Вт окт 14, 2014 11:27 pm
Откуда: Санкт-Петербург
Благодарил (а): 260 раз
Поблагодарили: 163 раза

Re: Модуль MySensor

Сообщение lanket » Ср мар 02, 2016 11:41 pm

olehs писал(а):В этом дебаге нода не видит гейт (все статусы fail), т.е. она ничего не отправила.
Можете снять синхронные логи ноды и МДМ?
МДМ
СпойлерПоказать
2016-03-02 23:37:25 Presentation: Node:13; Sensor:22; Type:0; Ack:0; Sub:3; Msg:
2016-03-02 23:37:25 Presentation: Node:13; Sensor:21; Type:0; Ack:0; Sub:3; Msg:
2016-03-02 23:37:25 Presentation: Node:13; Sensor:20; Type:0; Ack:0; Sub:3; Msg:
2016-03-02 23:37:23 Presentation: Node:13; Sensor:19; Type:0; Ack:0; Sub:3; Msg:
2016-03-02 23:37:23 Presentation: Node:13; Sensor:18; Type:0; Ack:0; Sub:3; Msg:
2016-03-02 23:37:23 Presentation: Node:13; Sensor:17; Type:0; Ack:0; Sub:3; Msg:
2016-03-02 23:37:23 Presentation: Node:13; Sensor:16; Type:0; Ack:0; Sub:3; Msg:
2016-03-02 23:37:23 Presentation: Node:13; Sensor:15; Type:0; Ack:0; Sub:3; Msg:
2016-03-02 23:37:22 Presentation: Node:13; Sensor:14; Type:0; Ack:0; Sub:3; Msg:
2016-03-02 23:37:20 Presentation: Node:13; Sensor:13; Type:0; Ack:0; Sub:3; Msg:
2016-03-02 23:37:20 Presentation: Node:13; Sensor:12; Type:0; Ack:0; Sub:3; Msg:
2016-03-02 23:37:25 Presentation: Node:13; Sensor:22; Type:0; Ack:0; Sub:3; Msg:
2016-03-02 23:37:25 Presentation: Node:13; Sensor:21; Type:0; Ack:0; Sub:3; Msg:
2016-03-02 23:37:25 Presentation: Node:13; Sensor:20; Type:0; Ack:0; Sub:3; Msg:
2016-03-02 23:37:23 Presentation: Node:13; Sensor:19; Type:0; Ack:0; Sub:3; Msg:
2016-03-02 23:37:23 Presentation: Node:13; Sensor:18; Type:0; Ack:0; Sub:3; Msg:
2016-03-02 23:37:23 Presentation: Node:13; Sensor:17; Type:0; Ack:0; Sub:3; Msg:
2016-03-02 23:37:23 Presentation: Node:13; Sensor:16; Type:0; Ack:0; Sub:3; Msg:
2016-03-02 23:37:23 Presentation: Node:13; Sensor:15; Type:0; Ack:0; Sub:3; Msg:
2016-03-02 23:37:22 Presentation: Node:13; Sensor:14; Type:0; Ack:0; Sub:3; Msg:
2016-03-02 23:37:20 Presentation: Node:13; Sensor:13; Type:0; Ack:0; Sub:3; Msg:
2016-03-02 23:37:20 Presentation: Node:13; Sensor:12; Type:0; Ack:0; Sub:3; Msg:
2016-03-02 23:37:20 Presentation: Node:13; Sensor:11; Type:0; Ack:0; Sub:3; Msg:
2016-03-02 23:37:20 Presentation: Node:13; Sensor:10; Type:0; Ack:0; Sub:3; Msg:
2016-03-02 23:37:20 Presentation: Node:13; Sensor:9; Type:0; Ack:0; Sub:3; Msg:
2016-03-02 23:37:20 Presentation: Node:13; Sensor:8; Type:0; Ack:0; Sub:3; Msg:
2016-03-02 23:37:18 Presentation: Node:13; Sensor:7; Type:0; Ack:0; Sub:3; Msg:
2016-03-02 23:37:17 Presentation: Node:13; Sensor:6; Type:0; Ack:0; Sub:3; Msg:
2016-03-02 23:37:17 Presentation: Node:13; Sensor:5; Type:0; Ack:0; Sub:3; Msg:
2016-03-02 23:37:17 Presentation: Node:13; Sensor:4; Type:0; Ack:0; Sub:3; Msg:
2016-03-02 23:37:17 Presentation: Node:13; Sensor:3; Type:0; Ack:0; Sub:3; Msg:
2016-03-02 23:37:17 Presentation: Node:13; Sensor:2; Type:0; Ack:0; Sub:3; Msg:
2016-03-02 23:37:15 Presentation: Node:13; Sensor:1; Type:0; Ack:0; Sub:3; Msg:
2016-03-02 23:37:15 Internal: Node:13; Sensor:255; Type:3; Ack:0; Sub:12; Msg:1.3
2016-03-02 23:37:15 Internal: Node:13; Sensor:255; Type:3; Ack:0; Sub:11; Msg:RelaySitok
2016-03-02 23:37:13 Send: 13;255;3;0;6;M
2016-03-02 23:37:13 Internal: Node:13; Sensor:255; Type:3; Ack:0; Sub:6; Msg:0
2016-03-02 23:37:13 Presentation: Node:13; Sensor:255; Type:0; Ack:0; Sub:18; Msg:1.5.4
2016-03-02 23:37:12 Internal: Node:13; Sensor:255; Type:3; Ack:0; Sub:15; Msg:0
Нода в дебаге:
СпойлерПоказать
send: 13-13-0-0 s=255,c=3,t=15,pt=2,l=2,sg=0,st=fail:0
send: 13-13-0-0 s=255,c=0,t=18,pt=0,l=5,sg=0,st=fail:1.5.4
send: 13-13-0-0 s=255,c=3,t=6,pt=1,l=1,sg=0,st=fail:0
repeater started, id=13, parent=0, distance=1
send: 13-13-0-0 s=255,c=3,t=11,pt=0,l=10,sg=0,st=fail:RelaySitok
send: 13-13-0-0 s=255,c=3,t=12,pt=0,l=3,sg=0,st=fail:1.3
send: 13-13-0-0 s=1,c=0,t=3,pt=0,l=0,sg=0,st=fail:
find parent
send: 13-13-255-255 s=255,c=3,t=7,pt=0,l=0,sg=0,st=bc:
send: 13-13-0-0 s=2,c=0,t=3,pt=0,l=0,sg=0,st=fail:
send: 13-13-0-0 s=3,c=0,t=3,pt=0,l=0,sg=0,st=fail:
send: 13-13-0-0 s=4,c=0,t=3,pt=0,l=0,sg=0,st=fail:
send: 13-13-0-0 s=5,c=0,t=3,pt=0,l=0,sg=0,st=fail:
send: 13-13-0-0 s=6,c=0,t=3,pt=0,l=0,sg=0,st=fail:
send: 13-13-0-0 s=7,c=0,t=3,pt=0,l=0,sg=0,st=fail:
find parent
send: 13-13-255-255 s=255,c=3,t=7,pt=0,l=0,sg=0,st=bc:
send: 13-13-0-0 s=8,c=0,t=3,pt=0,l=0,sg=0,st=fail:
send: 13-13-0-0 s=9,c=0,t=3,pt=0,l=0,sg=0,st=fail:
send: 13-13-0-0 s=10,c=0,t=3,pt=0,l=0,sg=0,st=fail:
send: 13-13-0-0 s=11,c=0,t=3,pt=0,l=0,sg=0,st=fail:
send: 13-13-0-0 s=12,c=0,t=3,pt=0,l=0,sg=0,st=fail:
send: 13-13-0-0 s=13,c=0,t=3,pt=0,l=0,sg=0,st=fail:
find parent
send: 13-13-255-255 s=255,c=3,t=7,pt=0,l=0,sg=0,st=bc:
send: 13-13-0-0 s=14,c=0,t=3,pt=0,l=0,sg=0,st=fail:
send: 13-13-0-0 s=15,c=0,t=3,pt=0,l=0,sg=0,st=fail:
send: 13-13-0-0 s=16,c=0,t=3,pt=0,l=0,sg=0,st=fail:
send: 13-13-0-0 s=17,c=0,t=3,pt=0,l=0,sg=0,st=fail:
send: 13-13-0-0 s=18,c=0,t=3,pt=0,l=0,sg=0,st=fail:
send: 13-13-0-0 s=19,c=0,t=3,pt=0,l=0,sg=0,st=fail:
find parent
send: 13-13-255-255 s=255,c=3,t=7,pt=0,l=0,sg=0,st=bc:
send: 13-13-0-0 s=20,c=0,t=3,pt=0,l=0,sg=0,st=fail:
send: 13-13-0-0 s=21,c=0,t=3,pt=0,l=0,sg=0,st=fail:
send: 13-13-0-0 s=22,c=0,t=3,pt=0,l=0,sg=0,st=fail:
Setup complite
Странно она же обявляет МДМу обо всех своих релюшках.
Разработка голосового асистента для Мажордомо по любому ключевому слову.
:arrow: Обсужение
:arrow: gitHub 2й версии терминала
:arrow: GitHub модуля для МД
gitHub сырого модуля 2й версии
:arrow: Connect
Rasberry Pi 2, MDM, MySensors. И говорящий апельсин.
olehs
Сообщения: 1115
Зарегистрирован: Вс июн 14, 2015 11:08 am
Благодарил (а): 85 раз
Поблагодарили: 342 раза

Re: Модуль MySensor

Сообщение olehs » Ср мар 02, 2016 11:43 pm

А передатчик в гейте у Вас точно работает?
Гейт на какой ардуине?
Ethernet или Serial?
Аватара пользователя
lanket
Сообщения: 1168
Зарегистрирован: Вт окт 14, 2014 11:27 pm
Откуда: Санкт-Петербург
Благодарил (а): 260 раз
Поблагодарили: 163 раза

Re: Модуль MySensor

Сообщение lanket » Ср мар 02, 2016 11:47 pm

olehs писал(а):А передатчик в гейте у Вас точно работает?
Да.

В паралеле и без другого макета все ОК.

Там датчик дыма, отрывания двери, освещенности на фоторезисторе, датчик движения, температуры и влажности.

И все это правда на проМини. это мой первый прототип. да и скетч пришлось на основе примеров самому делать. и вроде как смог разобраться без помощи гуру. А тут тупик какойто.

А вот с этим эксперементом что-то не получается.
Разработка голосового асистента для Мажордомо по любому ключевому слову.
:arrow: Обсужение
:arrow: gitHub 2й версии терминала
:arrow: GitHub модуля для МД
gitHub сырого модуля 2й версии
:arrow: Connect
Rasberry Pi 2, MDM, MySensors. И говорящий апельсин.
Ответить