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

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

Модератор: immortal

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

Re: Модуль MySensor

Сообщение Ivan » Пт авг 21, 2015 4:58 pm

Можно на VAR1 просто писать текст. Но учтите что длина его может быть 32-7-1=24 символа

Вам нужно сделать так. Переменные var1, var2, .. соответствуют строкам дисплея
И просто слать уже сформированный текст на ноду. А та по приёму пусть меняет строки на дисплее
Linux, Raspberry PI, MySensors
Connect: http://connect.smartliving.ru/profile/53
Мои проекты: http://smartliving.ru/profile/4
cabat
Сообщения: 216
Зарегистрирован: Ср май 28, 2014 12:42 pm
Откуда: Санкт-Петерург
Благодарил (а): 76 раз
Поблагодарили: 28 раз

Re: Модуль MySensor

Сообщение cabat » Пт авг 21, 2015 5:05 pm

Ну да, именно этот метод я и пытался описать, я его уже обдумал.
Сложности будут, если я захочу сделать ротацию строк на дисплее - делать это посылая раз в секунду две новые строки как то вроде не комильфо..
А так составил список из нескольких строк, а нода его по кругу гоняет (ну как бы бегущие строки снизу вверх).

Можно конечно сделать по другому - через VAR1 передавать команды (например добавить строку или удалить строку из списка, который храниться на ноде)
NightRider
Сообщения: 70
Зарегистрирован: Пт авг 21, 2015 2:27 pm
Благодарил (а): 8 раз
Поблагодарили: 4 раза

Re: Модуль MySensor

Сообщение NightRider » Пт авг 21, 2015 5:21 pm

Ivan писал(а):Пожалуйста ответьте у кого linux и serial, работает ли у вас передача?
Обновил модуль... и перестало работать :) После доработки "напильником" все завелось.
Сделал следующие поправки: (да простит меня создатель, глядишь и внесет их в следующее обновление) :)

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

PhpSerial.php 
50:    if ($this->_exec("stty --version") === 0) {

phpMS.php
112:    $this->lastTime = round(microtime(true) * 1000);    

146:    $currentMillis = round(microtime(true) * 1000);

phpMSCom.php
20:     //$serial->confParity("even");    
67:     $lastTime = round(microtime(true) * 1000);
70:     $currentMillis = round(microtime(true) * 1000);
 
зы: у меня cubietruck, на нем lubunta. Заюзан консольный ком-порт (/dev/ttyS0)
Ivan
Сообщения: 1473
Зарегистрирован: Сб окт 12, 2013 11:03 pm
Благодарил (а): 49 раз
Поблагодарили: 327 раз

Re: Модуль MySensor

Сообщение Ivan » Вс авг 23, 2015 10:50 am

Исправил.
Следующая версия будет переносом функций из PhpSerial.php в phpMSCom.php. чтобы сделать единую настройку для win версий
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 » Пн авг 31, 2015 9:37 pm

Все ок, Serial с последними фиксами работает.
AirKing
Сообщения: 87
Зарегистрирован: Вс фев 01, 2015 10:43 pm
Откуда: Муром
Благодарил (а): 16 раз
Поблагодарили: 7 раз

Re: Модуль MySensor

Сообщение AirKing » Пт сен 04, 2015 3:16 pm

Подтверждаю работает, НО.
У меня Малинка и на ней данный модуль жрет 70-85 % CPU.
Соответственно все тормозит. как только его останавливаю все начинает летать.

Что он такой жадный до процессора?
Получи Cashback до 18% с покупок
Ivan
Сообщения: 1473
Зарегистрирован: Сб окт 12, 2013 11:03 pm
Благодарил (а): 49 раз
Поблагодарили: 327 раз

Re: Модуль MySensor

Сообщение Ivan » Пт сен 04, 2015 6:35 pm

В тайменгах стоит читать лишь 4 раза в секунду.

Попробуйте увеличить время ожидания z:\modules\mysensor\phpMSCom.php строка 43
stream_set_timeout($this->Serial->_dHandle, 0, 250000);

250000 - Увеличить в 2 раза или в 4

По сути можно поставить и 1 секунду. Но я специально делал 4 раза в секунду чтобы учесть возможное ожидание ответной реакции для сенсоров с батарейками (когда сенсор ждёт ответа и не усыпает)
Linux, Raspberry PI, MySensors
Connect: http://connect.smartliving.ru/profile/53
Мои проекты: http://smartliving.ru/profile/4
AirKing
Сообщения: 87
Зарегистрирован: Вс фев 01, 2015 10:43 pm
Откуда: Муром
Благодарил (а): 16 раз
Поблагодарили: 7 раз

Re: Модуль MySensor

Сообщение AirKing » Пт сен 04, 2015 9:44 pm

У меня на Малине.
Сейчас посмотрел подровнее, остановил модуль и всеравно загрузка проца 100%
Как выясняется грузит PiGatewaySerial как его останавливаю сразу 10-15 % загрузка

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

Re: Модуль MySensor

Сообщение cabat » Сб сен 05, 2015 4:10 pm

cabat писал(а):Заметил такой момент - вроде все работает, данные от датчика приходят (сделал тестовый сенсор, который просто шлет уровень и напряжение батарейки),
но при этом в логе DebMes постоянно лезет такая ошибка:

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

Warning: socket_read(): unable to read from socket [10060]: Попытка установить соединение была безуспешной, т.к. от другого компьютера за требуемое время не получен нужный отклик, или было разорвано уже установленное соединение из-за неверного отклика уже подключенного компьютера.
 in C:\_majordomo\htdocs\modules\mysensor\phpMSTcp.php on line 68
но при этом среди этих ошибок проскакивают и логи сообщений вида:

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

2015-08-19 20:50:24 Internal: Node:9; Sensor:255; Type:3; Ack:0; Sub:0; Msg:89
2015-08-19 20:50:24 Set: Node:9; Sensor:0; Type:1; Ack:0; Sub:38; Msg:4.0488
Иван, как то надо с этим бороться или забить?
Так и не могу понять, почему валятся ошибки в DebMes..
Сегодня решил проверить - может доступных коннектов не хватает, сделал как тут
http://majordomo.smartliving.ru/forum/v ... 742#p15742

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

Эта проблема решается редактированием конфига UIPEthernet.
Libraries\UIPEthernet\utility\uipethernet-conf.h изменить значение параметра
#define UIP_CONF_MAX_CONNECTIONS 2 (в оригинальной библиотеке было 4, от mysensors поставили 1)    
не помогло..
есть еще надежда, что может при переходе на версию 1.5 библиотек MySensors что то изменится..
AirKing
Сообщения: 87
Зарегистрирован: Вс фев 01, 2015 10:43 pm
Откуда: Муром
Благодарил (а): 16 раз
Поблагодарили: 7 раз

Re: Модуль MySensor

Сообщение AirKing » Пн сен 07, 2015 4:42 pm

Ушел я от подключения NRF напрямую на Малину.
Удалил PiGatewaySerial
Собрал MySensorsSerialGateway. Думал полегчает, не тут-то было.
Модуль продолжает кушать 70-80 процентов CPU.

Ребята у кого данный модуль крутится на Малинке посмотрите загрузку пож.

PS/ время ожидания в файле phpMSCom.php увеличил в два раза.
Получи Cashback до 18% с покупок
Ответить