Ищу проблему везде. Возможно проблема в библиотеке Arduino/Mysensors. У меня версия 1.4. А у вас?NightRider писал(а):Сейчас речь идет о том что глючит библиотека для raspberry (https://github.com/mysensors/Raspberry), с помощью которой подключается NRF24 напрямую по SPI. Вопрос почему она глючитAnton_kulibin писал(а):Хм. Странно, но у меня TCP гейт и все работает на любой версии.
[Модуль] MySensors (mysensor)
Модератор: immortal
-
- Сообщения: 5
- Зарегистрирован: Вт фев 09, 2016 1:57 pm
- Благодарил (а): 3 раза
- Поблагодарили: 0
Re: Модуль MySensor
-
- Сообщения: 70
- Зарегистрирован: Пт авг 21, 2015 2:27 pm
- Благодарил (а): 8 раз
- Поблагодарили: 4 раза
Re: Модуль MySensor
Версия на сенсорах - 1.5Matviiv писал(а):Ищу проблему везде. Возможно проблема в библиотеке Arduino/Mysensors. У меня версия 1.4. А у вас?
Версия библиотеки ttyMySensorsGateway - 1.4 (другой к сожалению нет)
Но в любом случае, по мне так, что бы там ни слали сенсоры, это не должно приводить к "отваливанию" шлюза

- slgeo
- Сообщения: 551
- Зарегистрирован: Чт фев 05, 2015 2:35 pm
- Откуда: РнД
- Благодарил (а): 139 раз
- Поблагодарили: 74 раза
Re: Модуль MySensor
Версия 1.4 везде. 2 дня работало без проблем, сегодня перезагрузил и снова отрубились оба сенсора. Проблема с открытием порта после реконнекта:
PiGatewaySerial.log:
Еще наблюдение, возможно такое происходит из-за какой-нибудь глючной ноды, которая через раз определяется. Попробуйте, у кого проявляется ошибка, выключить все ноды, перезапустить малинку, включать поочередно каждую и наблюдать в логе Presentation и какой NodeID присваивается. Если проскочит строка вида Presentation: Node:0; Sensor:255; - это может быть причиной дальнейших глюков. Иван пока занят, будем биться с ошибкой общими усилиями.
СпойлерПоказать
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
#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
СпойлерПоказать
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
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
Raspberry Pi2 Model B + NRF24L01 (MySensors) + 1-Wire + Esp8266 (WiFi-IoT)
CONNECT
CONNECT
-
- Сообщения: 1473
- Зарегистрирован: Сб окт 12, 2013 11:03 pm
- Благодарил (а): 49 раз
- Поблагодарили: 327 раз
Re: Модуль MySensor
У меня действительно мало времени. Но я читаю форум и мониторю ситуацию у себя и еще 5 человек. Активно ищу глюк. Большое спасибо за помощь
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
- slgeo
- Сообщения: 551
- Зарегистрирован: Чт фев 05, 2015 2:35 pm
- Откуда: РнД
- Благодарил (а): 139 раз
- Поблагодарили: 74 раза
Re: Модуль MySensor
Я думаю проблема отваливания порта именно при нестабильных нодах, им присваивается NodeID=0 и как итог попытка занять Serial, который принадлежит Internal-ноде.
Raspberry Pi2 Model B + NRF24L01 (MySensors) + 1-Wire + Esp8266 (WiFi-IoT)
CONNECT
CONNECT
-
- Сообщения: 181
- Зарегистрирован: Пт апр 04, 2014 10:17 pm
- Благодарил (а): 37 раз
- Поблагодарили: 54 раза
Re: Модуль MySensor
id ноде присваивается при её первом включение и записывается в eeprom, в дальнейшем при перезагрузки ноды она уже на запрашивает ID.slgeo писал(а):Я думаю проблема отваливания порта именно при нестабильных нодах, им присваивается NodeID=0 и как итог попытка занять Serial, который принадлежит Internal-ноде.
-
- Сообщения: 70
- Зарегистрирован: Пт авг 21, 2015 2:27 pm
- Благодарил (а): 8 раз
- Поблагодарили: 4 раза
Re: Модуль MySensor
Не думаю что в этом проблема, т.к. у меня периодически в списках нод появляется новая с номером 0, и от нее как будто бы приходят сообщения. На самом деле это сообщение от одной из имеющихся нод, скорее всего при неустойчивом приеме теряется номер ноды. Вот свежий пример:slgeo писал(а):Я думаю проблема отваливания порта именно при нестабильных нодах, им присваивается NodeID=0 и как итог попытка занять Serial, который принадлежит Internal-ноде.
Код: Выделить всё
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
-
- Сообщения: 70
- Зарегистрирован: Пт авг 21, 2015 2:27 pm
- Благодарил (а): 8 раз
- Поблагодарили: 4 раза
Re: Модуль MySensor
И еще, кто-нибудь в курсе почему при запущенных циклах 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:~#
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:~#
-
- Сообщения: 1473
- Зарегистрирован: Сб окт 12, 2013 11:03 pm
- Благодарил (а): 49 раз
- Поблагодарили: 327 раз
Re: Модуль MySensor
NodeId = 0 это нормальное явление. У меня гейт имеет на борту датчики. Я думаю зависание происходит именно из-за блокировки порта /dev/ttyMySensorsGatewayslgeo писал(а):Я думаю проблема отваливания порта именно при нестабильных нодах, им присваивается NodeID=0 и как итог попытка занять Serial, который принадлежит Internal-ноде.
Потому как модуль в логе вам пишет что не может открыть порт.
Попробуйте открыть его любой другой программой. Если вам удастся то проблема в модуле MD MySensors. Если нет то нужно понять причину блокировки. Либо php не отпускает порт. Либо порт блокируется службой ttyMySensorsGateway
Эти запросы делает модуль специально для определения обрыва между компьютером и гейтом. Свои образный Keep-AliveNightRider писал(а):И еще, кто-нибудь в курсе почему при запущенных циклах MD, выполнив команду cat /dev/ttyMySensorsGateway, можно обнаружить там повторяющиеся записи 0;0;3;0;2;1.4
А остановив циклы они прекращаются
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
-
- Сообщения: 70
- Зарегистрирован: Пт авг 21, 2015 2:27 pm
- Благодарил (а): 8 раз
- Поблагодарили: 4 раза
Re: Модуль MySensor
1. У меня нет в сети ноды с номером 0.Ivan писал(а):NodeId = 0 это нормальное явление. У меня гейт имеет на борту датчики. Я думаю зависание происходит именно из-за блокировки порта /dev/ttyMySensorsGateway
Потому как модуль в логе вам пишет что не может открыть порт.
Попробуйте открыть его любой другой программой. Если вам удастся то проблема в модуле MD MySensors. Если нет то нужно понять причину блокировки. Либо php не отпускает порт. Либо порт блокируется службой ttyMySensorsGateway
2. После того как модуль пишет что не может подключиться порту, даже cat /dev/ttyMySensorsGateway не выполняется. Только ребут.
м... хотел бы понять технологию... Модуль отправляет гейту... а проверка на живучесть на каком моменте? Если не удалось отправить? Или дальше гейт должен что-то на это сообщение ответить?Ivan писал(а):Эти запросы делает модуль специально для определения обрыва между компьютером и гейтом. Свои образный Keep-Alive