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

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

Модератор: immortal

geor
Сообщения: 83
Зарегистрирован: Сб май 17, 2014 2:52 am
Откуда: Новосибирск
Благодарил (а): 10 раз
Поблагодарили: 4 раза

Re: Модуль MySensor

Сообщение geor » Ср окт 12, 2016 2:15 pm

Решил перейти с ethernet getwey на WiFi Gateway ESP8266.
Модуль mysensors не видит данные. Цикл работает, по "sudo cat /dev/ttyUSB0" вижу
СпойлерПоказать
root@cubieboard2:~# sudo cat /dev/ttyUSB0
0;255;3;0;9;TSP:SANCHK:OK
0;255;3;0;9;TSP:SANCHK:OK
0;255;3;0;9;TSP:MSG:READ 10-10-0 s=3,c=1,t=2,pt=2,l=2,sg=0:0
0;255;3;0;9;TSP:MSG:ACK msg
0;255;3;0;9;TSP:MSG:SEND 0-0-10-10 s=3,c=1,t=2,pt=2,l=2,sg=0,ft=0,st=ok:0
0;255;3;0;9;TSP:MSG:READ 10-10-0 s=3,c=1,t=2,pt=2,l=2,sg=0:1
0;255;3;0;9;TSP:MSG:ACK msg
0;255;3;0;9;TSP:MSG:SEND 0-0-10-10 s=3,c=1,t=2,pt=2,l=2,sg=0,ft=0,st=ok:1
0;255;3;0;9;TSP:MSG:READ 10-10-0 s=3,c=1,t=2,pt=2,l=2,sg=0:0
0;255;3;0;9;TSP:MSG:ACK msg
0;255;3;0;9;TSP:MSG:SEND 0-0-10-10 s=3,c=1,t=2,pt=2,l=2,sg=0,ft=0,st=ok:0
0;255;3;0;9;TSP:MSG:READ 10-10-0 s=3,c=1,t=2,pt=2,l=2,sg=0:1
0;255;3;0;9;TSP:MSG:ACK msg
0;255;3;0;9;TSP:MSG:SEND 0-0-10-10 s=3,c=1,t=2,pt=2,l=2,sg=0,ft=0,st=ok:1
0;255;3;0;9;TSP:MSG:READ 10-10-0 s=3,c=1,t=2,pt=2,l=2,sg=0:0
0;255;3;0;9;TSP:MSG:ACK msg
0;255;3;0;9;TSP:MSG:SEND 0-0-10-10 s=3,c=1,t=2,pt=2,l=2,sg=0,ft=0,st=ok:0
0;255;3;0;9;TSP:MSG:READ 10-10-0 s=2,c=1,t=2,pt=2,l=2,sg=0:1
0;255;3;0;9;TSP:MSG:ACK msg
0;255;3;0;9;TSP:MSG:SEND 0-0-10-10 s=2,c=1,t=2,pt=2,l=2,sg=0,ft=0,st=ok:1
0;255;3;0;9;TSP:MSG:READ 10-10-0 s=2,c=1,t=2,pt=2,l=2,sg=0:0
0;255;3;0;9;TSP:MSG:ACK msg
0;255;3;0;9;TSP:MSG:SEND 0-0-10-10 s=2,c=1,t=2,pt=2,l=2,sg=0,ft=0,st=ok:0
0;255;3;0;9;TSP:MSG:READ 10-10-0 s=1,c=1,t=2,pt=2,l=2,sg=0:1
0;255;3;0;9;TSP:MSG:ACK msg
0;255;3;0;9;TSP:MSG:SEND 0-0-10-10 s=1,c=1,t=2,pt=2,l=2,sg=0,ft=0,st=ok:1
0;255;3;0;9;TSP:MSG:READ 10-10-0 s=1,c=1,t=2,pt=2,l=2,sg=0:0
0;255;3;0;9;TSP:MSG:ACK msg
0;255;3;0;9;TSP:MSG:SEND 0-0-10-10 s=1,c=1,t=2,pt=2,l=2,sg=0,ft=0,st=ok:0
0;255;3;0;9;TSP:MSG:READ 10-10-0 s=1,c=1,t=2,pt=2,l=2,sg=0:1
0;255;3;0;9;TSP:MSG:ACK msg
0;255;3;0;9;TSP:MSG:SEND 0-0-10-10 s=1,c=1,t=2,pt=2,l=2,sg=0,ft=0,st=ok:1
0;255;3;0;9;TSP:MSG:READ 10-10-0 s=1,c=1,t=2,pt=2,l=2,sg=0:0
0;255;3;0;9;TSP:MSG:ACK msg
0;255;3;0;9;TSP:MSG:SEND 0-0-10-10 s=1,c=1,t=2,pt=2,l=2,sg=0,ft=0,st=ok:0
0;255;3;0;9;TSP:SANCHK:OK
Данные идут.
В строке "stty -F /dev/ttyUSB0 cs8 115200 ignbrk -brkint -icrnl -imaxbel -opost -onlcr -isig -icanon -iexten -echo -echoe -echok -echoctl -echoke noflsh -ixon -crtscts" пробовал менять скорость- не помогло.
Может у кого-нибудь есть мысли по решению этой проблемы?
Ivan
Сообщения: 1473
Зарегистрирован: Сб окт 12, 2013 11:03 pm
Благодарил (а): 49 раз
Поблагодарили: 324 раза

Re: Модуль MySensor

Сообщение Ivan » Ср окт 12, 2016 4:46 pm

Попробуйте настройку порта в модуле сделать 1 командой. У кого то были уже такие проблемы. Либо нет доступа к порту от юзера который запускает цикл. Запустите в консоли
php /var/www/scripts/cycle_mysensor.php
Linux, Raspberry PI, MySensors
Connect: http://connect.smartliving.ru/profile/53
Мои проекты: http://smartliving.ru/profile/4
geor
Сообщения: 83
Зарегистрирован: Сб май 17, 2014 2:52 am
Откуда: Новосибирск
Благодарил (а): 10 раз
Поблагодарили: 4 раза

Re: Модуль MySensor

Сообщение geor » Чт окт 13, 2016 7:44 am

Ivan писал(а):Попробуйте настройку порта в модуле сделать 1 командой. У кого то были уже такие проблемы. Либо нет доступа к порту от юзера который запускает цикл. Запустите в консоли
php /var/www/scripts/cycle_mysensor.php
Спасибо,Ivan за ответ.
Доступ к порту я сделал от www-data:
root@cubieboard2:~# cat /etc/group | grep www-data
dialout:x:20:www-data
audio:x:29:www-data
www-data:x:33:
root@cubieboard2:~#

В истории событий - 2016-10-13 08:56:26 Connecting COM
08:56:26 running cycle_mysensor.php

Запускаю в консоли php /srv/www/scripts/cycle_mysensor.php,
выдает
СпойлерПоказать
php /srv/www/scripts/cycle_mysensor.php
08:59:16 running cycle_mysensor.php
PHP Warning: Specified serial port is not valid in /srv/www/modules/mysensor/Ph pSerial.php on line 120
PHP Stack trace:
PHP 1. {main}() /srv/www/scripts/cycle_mysensor.php:0
PHP 2. MySensorMasterCom->MySensorMasterCom() /srv/www/scripts/cycle_mysensor. php:34
PHP 3. PhpSerial->deviceSet() /srv/www/modules/mysensor/phpMSCom.php:16
PHP 4. trigger_error() /srv/www/modules/mysensor/PhpSerial.php:120
PHP Warning: Unable to set the baud rate : the device is either not set or open ed in /srv/www/modules/mysensor/PhpSerial.php on line 221
PHP Stack trace:
PHP 1. {main}() /srv/www/scripts/cycle_mysensor.php:0
PHP 2. MySensorMasterCom->MySensorMasterCom() /srv/www/scripts/cycle_mysensor. php:34
PHP 3. PhpSerial->confBaudRate() /srv/www/modules/mysensor/phpMSCom.php:18
PHP 4. trigger_error() /srv/www/modules/mysensor/PhpSerial.php:221
PHP Warning: Unable to set length of a character : the device is either not set or opened in /srv/www/modules/mysensor/PhpSerial.php on line 342
PHP Stack trace:
PHP 1. {main}() /srv/www/scripts/cycle_mysensor.php:0
PHP 2. MySensorMasterCom->MySensorMasterCom() /srv/www/scripts/cycle_mysensor. php:34
PHP 3. PhpSerial->confCharacterLength() /srv/www/modules/mysensor/phpMSCom.php :19
PHP 4. trigger_error() /srv/www/modules/mysensor/PhpSerial.php:342
PHP Warning: Unable to set parity : the device is either not set or opened in / srv/www/modules/mysensor/PhpSerial.php on line 289
PHP Stack trace:
PHP 1. {main}() /srv/www/scripts/cycle_mysensor.php:0
PHP 2. MySensorMasterCom->MySensorMasterCom() /srv/www/scripts/cycle_mysensor. php:34
PHP 3. PhpSerial->confParity() /srv/www/modules/mysensor/phpMSCom.php:20
PHP 4. trigger_error() /srv/www/modules/mysensor/PhpSerial.php:289
PHP Warning: Unable to set the length of a stop bit : the device is either not set or opened in /srv/www/modules/mysensor/PhpSerial.php on line 395
PHP Stack trace:
PHP 1. {main}() /srv/www/scripts/cycle_mysensor.php:0
PHP 2. MySensorMasterCom->MySensorMasterCom() /srv/www/scripts/cycle_mysensor. php:34
PHP 3. PhpSerial->confStopBits() /srv/www/modules/mysensor/phpMSCom.php:21
PHP 4. trigger_error() /srv/www/modules/mysensor/PhpSerial.php:395
PHP Warning: Unable to set flow control mode : the device is either not set or opened in /srv/www/modules/mysensor/PhpSerial.php on line 457
PHP Stack trace:
PHP 1. {main}() /srv/www/scripts/cycle_mysensor.php:0
PHP 2. MySensorMasterCom->MySensorMasterCom() /srv/www/scripts/cycle_mysensor. php:34
PHP 3. PhpSerial->confFlowControl() /srv/www/modules/mysensor/phpMSCom.php:22
PHP 4. trigger_error() /srv/www/modules/mysensor/PhpSerial.php:457
2016-10-13 08:59:16 Connecting COM
PHP Warning: The device must be set before to be open in /srv/www/modules/mysen sor/PhpSerial.php on line 149
PHP Stack trace:
PHP 1. {main}() /srv/www/scripts/cycle_mysensor.php:0
PHP 2. MySensorMasterCom->connect() /srv/www/scripts/cycle_mysensor.php:54
PHP 3. PhpSerial->deviceOpen() /srv/www/modules/mysensor/phpMSCom.php:37
PHP 4. trigger_error() /srv/www/modules/mysensor/PhpSerial.php:149
PHP Fatal error: Uncaught exception 'Exception' with message 'serrial.open() fa iled' in /srv/www/modules/mysensor/phpMSCom.php:40
Stack trace:
#0 /srv/www/scripts/cycle_mysensor.php(54): MySensorMasterCom->connect()
#1 {main}
thrown in /srv/www/modules/mysensor/phpMSCom.php on line 40
root@cubieboard2:~#
cycle_mysensor.php
Это для меня "лес густой", что-то не то с настройками?
Что я еще не сделал?

*** Сообщение запрещено. Содержит контактную информацию. Сообщение похоже на спам. ***
Profd
Сообщения: 34
Зарегистрирован: Пн авг 22, 2016 9:41 am
Благодарил (а): 15 раз
Поблагодарили: 2 раза

Re: Модуль MySensor

Сообщение Profd » Чт окт 27, 2016 11:13 pm

Посмотри от какого юзера стартуют циклы ........ например через htop
Потом процесс cycle_mysensor.php и запускается от того же пользователя - ему права и надо дать (добавить в группу dialout).
mirsum
Сообщения: 65
Зарегистрирован: Вс янв 12, 2014 12:54 pm
Откуда: Белгород
Благодарил (а): 110 раз
Поблагодарили: 1 раз

Re: Модуль MySensor

Сообщение mirsum » Пн ноя 14, 2016 3:45 pm

подскажите почему стали подставлять одинаковые данные к значениям?
узел-сенсоры-значение
то что выделено одинаковое во всех датчиках.
Вложения
Безымянный2.jpg
фото2
Безымянный2.jpg (27.93 КБ) 10150 просмотров
Безымянный.jpg
фото
Безымянный.jpg (27.98 КБ) 10151 просмотр
Ivan
Сообщения: 1473
Зарегистрирован: Сб окт 12, 2013 11:03 pm
Благодарил (а): 49 раз
Поблагодарили: 324 раза

Re: Модуль MySensor

Сообщение Ivan » Чт дек 22, 2016 1:15 pm

В новой версии модуля
  • Прошивка по воздуху (Проверялась только на MYSBootloader)
  • Поиск нод (I_DISCOVER_REQUEST / I_DISCOVER_RESPONSE)
  • Debug: Frequency (mHz), Voltage (mV), FreeMemory (B), Routing table, !!Clean eprom!! (I_DEBUG)
  • Исправление ошибок
Внимание прошивка не проверялась на DualOtiboot

Как прошивать по воздуху
- Вам нужно прошить бутлоадер: MYSBootloader или DualOtiboot
- Настроить AdruinoIDE так чтобы он компилировал в определённую директорию (Файл preferences.txt в конец добавить build.path=C:\Arduino-Output\)
- Откомпилировать скетч, после чего в папке C:\Arduino-Output\ получите .hex файл
- Добавить .hex в модуль в закладке "Прошивка"
- Выбрать прошивку в настройках ноды (поле "Прошивка")
- Перезагрузить ноду
1.PNG
1.PNG (8 КБ) 9982 просмотра
2.PNG
2.PNG (14.92 КБ) 9982 просмотра
3.PNG
3.PNG (34.88 КБ) 9982 просмотра
За это сообщение автора Ivan поблагодарили (всего 6):
cabat (Чт дек 22, 2016 1:16 pm) • Eraser (Чт дек 22, 2016 1:56 pm) • Anton_kulibin (Пт дек 23, 2016 7:36 pm) • ipz (Ср янв 11, 2017 11:27 pm) • Molostov (Ср янв 11, 2017 11:45 pm) • slgeo (Чт янв 12, 2017 9:18 am)
Рейтинг: 7.06%
Linux, Raspberry PI, MySensors
Connect: http://connect.smartliving.ru/profile/53
Мои проекты: http://smartliving.ru/profile/4
ipz
Сообщения: 238
Зарегистрирован: Чт ноя 26, 2015 10:54 pm
Благодарил (а): 38 раз
Поблагодарили: 45 раз

Re: Модуль MySensor

Сообщение ipz » Чт янв 12, 2017 2:04 am

Вот еще, в скетче (версии библиотеки 2.0) надо прописать, оказывается))

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

#define MY_OTA_FIRMWARE_FEATURE  
UPD: был не прав (This feature requires external flash and the DualOptiBoot boot-loader)
Последний раз редактировалось ipz Чт янв 12, 2017 12:03 pm, всего редактировалось 1 раз.
Ivan
Сообщения: 1473
Зарегистрирован: Сб окт 12, 2013 11:03 pm
Благодарил (а): 49 раз
Поблагодарили: 324 раза

Re: Модуль MySensor

Сообщение Ivan » Чт янв 12, 2017 7:17 am

ipz писал(а):Вот еще, в скетче (версии библиотеки 2.0) надо прописать, оказывается))

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

#define MY_OTA_FIRMWARE_FEATURE  
Это если у вас DualOptiBoot.
У вас получилось с ним прошить?
Linux, Raspberry PI, MySensors
Connect: http://connect.smartliving.ru/profile/53
Мои проекты: http://smartliving.ru/profile/4
ipz
Сообщения: 238
Зарегистрирован: Чт ноя 26, 2015 10:54 pm
Благодарил (а): 38 раз
Поблагодарили: 45 раз

Re: Модуль MySensor

Сообщение ipz » Чт янв 12, 2017 12:02 pm

У меня MYSBootloader ))
Но тоже пока не получилось, т.к. не правильно использовал MY_OTA_FIRMWARE_FEATURE.
получил на стороне ноды

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

fw update
flash init fail
буду перекомпилировать

UPD: Попытка не удалась. В логах ноды вообще не видно попыток обменяться информацией о прошивке. Пробовал через MDM и через MysController.
UPD: Получилось прошивать по воздуху только с версией MySensors 2.1.0 на тестовой ноде и на Ethernet гейте (по пути заменил и MYS Bootloader на версию 1.3.beta 3 из ветки development)
В версии скетчей Mysensors 2.0.0 прошивка по воздуху постоянно зависала на 10%-60%

Ivan, я не знаю нужна ли эта информация, но в качестве прикола: Я пытался прошивать из-под MysController'а, ничего не получалось, обновил версии библиотек, бутлоадер и в какой-то момент заметил, что при обновлении прошивается старая версия скетча (версии 2.0.0), на которой обновление зависает. Что я только ни делал - чистил папки tmp, несколько раз перекомпилировал *.hex - все равно прошивались старые версии. Откуда (???) Я удалил эти файлы везде, где только мог придумать... Кроме Модуля MySensors в MDM))). Похоже, модуль MySensors быстрее чем MYSController реагировал на запрос прошивки и подсовывал старую версию каждый раз при перезагрузке ноды...
Разорвать порочный круг удалось только, прошившись из модуля MySensor.

UPD: Похоже все проблемы были из-за того, что при запущенном модуле MySensors MDM не может работать MyController. Т.к. MySensors пытается делать то же самое... И даже если убрать прошивку в настройках модуля, он все равно после перезагрузки скажет `Binary для <NodeID> не найден` и, видимо, прерывает процесс. Почему со стороны MDM прошивка работает в этих условиях - кто бы знал...))

Мне кажется, можно было бы различать ситуацию `файл с прошивкой не найден` и `файл с прошивкой не задан`. И во втором случае не вмешиваться.

А так все Ок. Было интересно.
Ivan
Сообщения: 1473
Зарегистрирован: Сб окт 12, 2013 11:03 pm
Благодарил (а): 49 раз
Поблагодарили: 324 раза

Re: Модуль MySensor

Сообщение Ivan » Пт янв 13, 2017 8:39 pm

MySensor модель вместе с MYControl запускать нельзя. Прошивка сохраняется в память модуля до конца прошивки. Иначе вы можете во время прошивки заменить в настройках и будет ошибка даных от чего ваша нода перестанет работать (прошивка только черещ rx/tx)
Я вставлю заплатку чтобы память чистилась если нода успешно стартовала

Я поверял на 2.0 и 2.1
Linux, Raspberry PI, MySensors
Connect: http://connect.smartliving.ru/profile/53
Мои проекты: http://smartliving.ru/profile/4
Ответить