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

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

Модератор: immortal

Matviiv
Сообщения: 5
Зарегистрирован: Вт фев 09, 2016 1:57 pm
Благодарил (а): 3 раза
Поблагодарили: 0

Re: Модуль MySensor

Сообщение Matviiv » Вт фев 09, 2016 2:54 pm

NightRider писал(а):
Anton_kulibin писал(а):Хм. Странно, но у меня TCP гейт и все работает на любой версии.
Сейчас речь идет о том что глючит библиотека для raspberry (https://github.com/mysensors/Raspberry), с помощью которой подключается NRF24 напрямую по SPI. Вопрос почему она глючит :)
Ищу проблему везде. Возможно проблема в библиотеке Arduino/Mysensors. У меня версия 1.4. А у вас?
NightRider
Сообщения: 70
Зарегистрирован: Пт авг 21, 2015 2:27 pm
Благодарил (а): 8 раз
Поблагодарили: 4 раза

Re: Модуль MySensor

Сообщение NightRider » Вт фев 09, 2016 3:07 pm

Matviiv писал(а):Ищу проблему везде. Возможно проблема в библиотеке Arduino/Mysensors. У меня версия 1.4. А у вас?
Версия на сенсорах - 1.5
Версия библиотеки ttyMySensorsGateway - 1.4 (другой к сожалению нет)
Но в любом случае, по мне так, что бы там ни слали сенсоры, это не должно приводить к "отваливанию" шлюза :)
Аватара пользователя
slgeo
Сообщения: 551
Зарегистрирован: Чт фев 05, 2015 2:35 pm
Откуда: РнД
Благодарил (а): 139 раз
Поблагодарили: 74 раза

Re: Модуль MySensor

Сообщение slgeo » Вт фев 09, 2016 6:39 pm

Версия 1.4 везде. 2 дня работало без проблем, сегодня перезагрузил и снова отрубились оба сенсора. Проблема с открытием порта после реконнекта:
СпойлерПоказать
thrown in /var/www/modules/mysensor/phpMSCom.php on line 40
#1 {main}
#0 /var/www/scripts/cycle_mysensor.php(54): MySensorMasterCom->connect()
Stack trace:
Fatal error: Uncaught exception 'Exception' with message 'serrial.open() failed' in /var/www/modules/mysensor/phpMSCom.php:40
Warning: The device must be set before to be open in /var/www/modules/mysensor/PhpSerial.php on line 149
2016-02-09 18:32:47 Connecting COM
Warning: Unable to set flow control mode : the device is either not set or opened in /var/www/modules/mysensor/PhpSerial.php on line 457
Warning: Unable to set the length of a stop bit : the device is either not set or opened in /var/www/modules/mysensor/PhpSerial.php on line 395
Warning: Unable to set parity : the device is either not set or opened in /var/www/modules/mysensor/PhpSerial.php on line 289
Warning: Unable to set length of a character : the device is either not set or opened in /var/www/modules/mysensor/PhpSerial.php on line 342
Warning: Unable to set the baud rate : the device is either not set or opened in /var/www/modules/mysensor/PhpSerial.php on line 221
Warning: Specified serial port is not valid in /var/www/modules/mysensor/PhpSerial.php on line 120
18:32:46 running cycle_mysensor.php
thrown in /var/www/modules/mysensor/phpMSCom.php on line 40
#2 {main}
#1 /var/www/scripts/cycle_mysensor.php(85): MySensorMaster->proc()
#0 /var/www/modules/mysensor/phpMS.php(219): MySensorMasterCom->connect()
Stack trace:
Fatal error: Uncaught exception 'Exception' with message 'serrial.open() failed' in /var/www/modules/mysensor/phpMSCom.php:40
Warning: Unable to open the device in /var/www/modules/mysensor/PhpSerial.php on line 173
2016-02-09 18:26:09 Connecting COM
2016-02-09 18:26:09 Reconnect
2016-02-09 18:26:09 Disconnected
2016-02-09 18:25:55 Send: 1;0;1;0;24;1
2016-02-09 18:25:52 Presentation: Node:0; Sensor:255; Type:0; Ack:0; Sub:17; Msg:1.4.1
PiGatewaySerial.log:
СпойлерПоказать
Feb 9 18:32:03 localhost PiGatewaySerial: Starting PiGatewaySerial...
Feb 9 18:32:03 localhost PiGatewaySerial: Protocol version - 1.4
Feb 9 18:32:03 localhost PiGatewaySerial: Created PTY '/dev/pts/1'
Feb 9 18:32:03 localhost PiGatewaySerial: Gateway tty: /dev/ttyMySensorsGateway
Еще наблюдение, возможно такое происходит из-за какой-нибудь глючной ноды, которая через раз определяется. Попробуйте, у кого проявляется ошибка, выключить все ноды, перезапустить малинку, включать поочередно каждую и наблюдать в логе Presentation и какой NodeID присваивается. Если проскочит строка вида Presentation: Node:0; Sensor:255; - это может быть причиной дальнейших глюков. Иван пока занят, будем биться с ошибкой общими усилиями.
Raspberry Pi2 Model B + NRF24L01 (MySensors) + 1-Wire + Esp8266 (WiFi-IoT)
CONNECT
Ivan
Сообщения: 1473
Зарегистрирован: Сб окт 12, 2013 11:03 pm
Благодарил (а): 49 раз
Поблагодарили: 327 раз

Re: Модуль MySensor

Сообщение Ivan » Вт фев 09, 2016 10:08 pm

У меня действительно мало времени. Но я читаю форум и мониторю ситуацию у себя и еще 5 человек. Активно ищу глюк. Большое спасибо за помощь
Linux, Raspberry PI, MySensors
Connect: http://connect.smartliving.ru/profile/53
Мои проекты: http://smartliving.ru/profile/4
Аватара пользователя
slgeo
Сообщения: 551
Зарегистрирован: Чт фев 05, 2015 2:35 pm
Откуда: РнД
Благодарил (а): 139 раз
Поблагодарили: 74 раза

Re: Модуль MySensor

Сообщение slgeo » Вт фев 09, 2016 10:33 pm

Я думаю проблема отваливания порта именно при нестабильных нодах, им присваивается NodeID=0 и как итог попытка занять Serial, который принадлежит Internal-ноде.
Raspberry Pi2 Model B + NRF24L01 (MySensors) + 1-Wire + Esp8266 (WiFi-IoT)
CONNECT
devoff
Сообщения: 181
Зарегистрирован: Пт апр 04, 2014 10:17 pm
Благодарил (а): 37 раз
Поблагодарили: 54 раза

Re: Модуль MySensor

Сообщение devoff » Вт фев 09, 2016 10:56 pm

slgeo писал(а):Я думаю проблема отваливания порта именно при нестабильных нодах, им присваивается NodeID=0 и как итог попытка занять Serial, который принадлежит Internal-ноде.
id ноде присваивается при её первом включение и записывается в eeprom, в дальнейшем при перезагрузки ноды она уже на запрашивает ID.
NightRider
Сообщения: 70
Зарегистрирован: Пт авг 21, 2015 2:27 pm
Благодарил (а): 8 раз
Поблагодарили: 4 раза

Re: Модуль MySensor

Сообщение NightRider » Ср фев 10, 2016 10:03 am

slgeo писал(а):Я думаю проблема отваливания порта именно при нестабильных нодах, им присваивается NodeID=0 и как итог попытка занять Serial, который принадлежит Internal-ноде.
Не думаю что в этом проблема, т.к. у меня периодически в списках нод появляется новая с номером 0, и от нее как будто бы приходят сообщения. На самом деле это сообщение от одной из имеющихся нод, скорее всего при неустойчивом приеме теряется номер ноды. Вот свежий пример:

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

2016-02-10 08:17:36 Set: Node:12; Sensor:7; Type:1; Ack:0; Sub:0; Msg:53.90
2016-02-10 08:17:38 Set: Node:0; Sensor:1; Type:1; Ack:0; Sub:16; Msg:0
2016-02-10 08:17:40 Set: Node:12; Sensor:2; Type:1; Ack:0; Sub:1; Msg:36.60
NightRider
Сообщения: 70
Зарегистрирован: Пт авг 21, 2015 2:27 pm
Благодарил (а): 8 раз
Поблагодарили: 4 раза

Re: Модуль MySensor

Сообщение NightRider » Ср фев 10, 2016 10:11 am

И еще, кто-нибудь в курсе почему при запущенных циклах MD, выполнив команду cat /dev/ttyMySensorsGateway, можно обнаружить там повторяющиеся записи 0;0;3;0;2;1.4
А остановив циклы они прекращаются. Под спойлером пример:
СпойлерПоказать
root@raspberrypi:~# cat /dev/ttyMySensorsGateway
12;3;1;0;15;0
0;0;3;0;2;1.4
0;0;3;0;2;1.4
0;0;3;0;2;1.4
0;0;3;0;2;1.4
0;0;3;0;2;1.4
0;0;3;0;2;1.4
0;0;3;0;2;1.4
0;0;3;0;2;1.4
0;0;3;0;2;1.4
12;7;1;0;0;51.10
0;0;3;0;2;1.4
0;0;3;0;2;1.4
0;0;3;0;2;1.4
0;0;3;0;2;1.4
0;0;3;0;2;1.4
0;0;3;0;2;1.4
0;0;3;0;2;1.4
0;0;3;0;2;1.4
12;4;1;0;0;25.50
0;0;3;0;2;1.4
0;0;3;0;2;1.4
0;0;3;0;2;1.4
0;0;3;0;2;1.4
0;0;3;0;2;1.4
^C
root@raspberrypi:~# service majordomo stop
Stopping majordomo..
Stopped
root@raspberrypi:~# cat /dev/ttyMySensorsGateway
12;7;1;0;0;51.10
12;3;1;0;15;0
12;6;1;0;15;0
12;4;1;0;0;25.50
12;3;1;0;15;0
12;2;1;0;1;38.20
12;6;1;0;15;0
12;3;1;0;15;0
12;5;1;0;23;2
12;4;1;0;0;25.60
12;5;1;0;23;0
12;3;1;0;15;0
12;4;1;0;0;25.50
12;7;1;0;0;51.00
12;3;1;0;15;0
12;3;1;0;15;0
^C
root@raspberrypi:~#
Ivan
Сообщения: 1473
Зарегистрирован: Сб окт 12, 2013 11:03 pm
Благодарил (а): 49 раз
Поблагодарили: 327 раз

Re: Модуль MySensor

Сообщение Ivan » Ср фев 10, 2016 11:14 am

slgeo писал(а):Я думаю проблема отваливания порта именно при нестабильных нодах, им присваивается NodeID=0 и как итог попытка занять Serial, который принадлежит Internal-ноде.
NodeId = 0 это нормальное явление. У меня гейт имеет на борту датчики. Я думаю зависание происходит именно из-за блокировки порта /dev/ttyMySensorsGateway
Потому как модуль в логе вам пишет что не может открыть порт.
Попробуйте открыть его любой другой программой. Если вам удастся то проблема в модуле MD MySensors. Если нет то нужно понять причину блокировки. Либо php не отпускает порт. Либо порт блокируется службой ttyMySensorsGateway
NightRider писал(а):И еще, кто-нибудь в курсе почему при запущенных циклах MD, выполнив команду cat /dev/ttyMySensorsGateway, можно обнаружить там повторяющиеся записи 0;0;3;0;2;1.4
А остановив циклы они прекращаются
Эти запросы делает модуль специально для определения обрыва между компьютером и гейтом. Свои образный Keep-Alive
Linux, Raspberry PI, MySensors
Connect: http://connect.smartliving.ru/profile/53
Мои проекты: http://smartliving.ru/profile/4
NightRider
Сообщения: 70
Зарегистрирован: Пт авг 21, 2015 2:27 pm
Благодарил (а): 8 раз
Поблагодарили: 4 раза

Re: Модуль MySensor

Сообщение NightRider » Ср фев 10, 2016 2:42 pm

Ivan писал(а):NodeId = 0 это нормальное явление. У меня гейт имеет на борту датчики. Я думаю зависание происходит именно из-за блокировки порта /dev/ttyMySensorsGateway
Потому как модуль в логе вам пишет что не может открыть порт.
Попробуйте открыть его любой другой программой. Если вам удастся то проблема в модуле MD MySensors. Если нет то нужно понять причину блокировки. Либо php не отпускает порт. Либо порт блокируется службой ttyMySensorsGateway
1. У меня нет в сети ноды с номером 0.
2. После того как модуль пишет что не может подключиться порту, даже cat /dev/ttyMySensorsGateway не выполняется. Только ребут.
Ivan писал(а):Эти запросы делает модуль специально для определения обрыва между компьютером и гейтом. Свои образный Keep-Alive
м... хотел бы понять технологию... Модуль отправляет гейту... а проверка на живучесть на каком моменте? Если не удалось отправить? Или дальше гейт должен что-то на это сообщение ответить?
Ответить