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

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

Модератор: immortal

ipz
Сообщения: 238
Зарегистрирован: Чт ноя 26, 2015 10:54 pm
Благодарил (а): 38 раз
Поблагодарили: 45 раз

Re: Модуль MySensor

Сообщение ipz » Вт янв 17, 2017 8:31 pm

Может потому, что
serghei писал(а):На сайте написано использовать IDE 1.6.5 такое же как и для АМС.
))))

В примерах нод и гейтов вообще приводят только самый минимум. Эти примеры работают, но их всегда приходится допиливать.
Гейт Mysensors по умолчанию ничего не делает, по этому setup и loop пустые. Весь функционал гейта зашит в библиотеках. При этом, в гейт также можно добавлять любые датчики, но самому.
ipz
Сообщения: 238
Зарегистрирован: Чт ноя 26, 2015 10:54 pm
Благодарил (а): 38 раз
Поблагодарили: 45 раз

Re: Модуль MySensor

Сообщение ipz » Чт янв 19, 2017 9:20 pm

Кто-нибудь пробовал компилировать MysBootloader с

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

#define SPI_PINS_CSN7_CE8 
?

На четыре байта больше бутлоадер получается и не вписывается в размер. Может что-то выпилить?
serghei
Сообщения: 2575
Зарегистрирован: Пт ноя 06, 2015 10:22 am
Откуда: Кишинёв
Благодарил (а): 303 раза
Поблагодарили: 282 раза

Re: Модуль MySensor

Сообщение serghei » Чт янв 19, 2017 10:12 pm

Заметил одну веселую штуку - при компиляции скетча версией платы 1.6.15 остается 4 кило памяти, а 1.6.7 не влезает 2 килобайта. ( для сенсора АМС). Попробуй поменять версию , может быть поможет.
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
ipz
Сообщения: 238
Зарегистрирован: Чт ноя 26, 2015 10:54 pm
Благодарил (а): 38 раз
Поблагодарили: 45 раз

Re: Модуль MySensor

Сообщение ipz » Чт янв 19, 2017 10:23 pm

Это не про компиляцию скетча в Arduino)), а про компиляцию исходников бутлоудера под другие параметры...
https://github.com/mysensors/MySensorsBootloaderRF24
ipz
Сообщения: 238
Зарегистрирован: Чт ноя 26, 2015 10:54 pm
Благодарил (а): 38 раз
Поблагодарили: 45 раз

Re: Модуль MySensor

Сообщение ipz » Ср янв 25, 2017 5:20 pm

Иван, можно добавить в раздел MySensors->Прошивка: поля `blocks` и `crc` (справочно, без возможности редактирования)

UPD: заодно на закладке Презентация ноды
- исправить подпись `Отчистить` на `Очистить`)))
- там же добавить кнопку `Запросить`
Ivan
Сообщения: 1473
Зарегистрирован: Сб окт 12, 2013 11:03 pm
Благодарил (а): 49 раз
Поблагодарили: 327 раз

Re: Модуль MySensor

Сообщение Ivan » Сб фев 04, 2017 9:40 am

Тема перемещена в "Модули и приложения" - Должна быть где все темы по модулям
Linux, Raspberry PI, MySensors
Connect: http://connect.smartliving.ru/profile/53
Мои проекты: http://smartliving.ru/profile/4
Ivan
Сообщения: 1473
Зарегистрирован: Сб окт 12, 2013 11:03 pm
Благодарил (а): 49 раз
Поблагодарили: 327 раз

Re: Модуль MySensor

Сообщение Ivan » Сб фев 04, 2017 10:27 am

ipz писал(а):Иван, можно добавить в раздел MySensors->Прошивка: поля `blocks` и `crc` (справочно, без возможности редактирования)

UPD: заодно на закладке Презентация ноды
- исправить подпись `Отчистить` на `Очистить`)))
- там же добавить кнопку `Запросить`
`blocks` и `crc` - Добавил. Но эти данные будут только для текшей прошивки

Подробнее о работе прошивки:
- Нода спрашивает CRC
- Пересчёт прошивки и складывается во временный кеш для ноды
- Во время прошивки данные берутся не общие а из кеша для конкретной ноды
Это предотвращает вариант когда нода ещё прошивается а вы поменяли прошивку в модуле. Нода продолжит шьется той прошивкой с которой начала

Очистить - исправлено (Спасибо большое)
Запросить презентацию есть на первой странице. Продублировал
За это сообщение автора Ivan поблагодарил:
ipz (Сб фев 04, 2017 2:08 pm)
Рейтинг: 1.16%
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 » Вс фев 05, 2017 1:44 am

Иван, 'blocks` было бы удобней видеть в шеснадцатиричном виде. Нода, ведь, когда договаривается пишет в HEX. (в интерфейсе, кстати, написано `bloks` а не `blocks`)))

Возможно риторический вопрос:
можно рассчитывать, что firmware version, firmware type не будут проверяться\фильтроваться при запросе прошивки?
(сейчас не проверяются)

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

                                // Type
                                $CType = substr ( $val, 0, 4 );
                                $CVer = substr ( $val, 4, 4 );
                                ...

                                // Test version
/*
                                if (($CVer != "0100") || ($CVer != "01FF") || ($CVer != "FFFF")){
                                        echo date("Y-m-d H:i:s")." Unknow boot version $NId - $CVer\n";
                                        return;
                                }
*/
 
Не хочется бутлоадеры обратно переделывать)))
ipz
Сообщения: 238
Зарегистрирован: Чт ноя 26, 2015 10:54 pm
Благодарил (а): 38 раз
Поблагодарили: 45 раз

Re: Модуль MySensor

Сообщение ipz » Пн фев 13, 2017 1:13 am

Всплыла новая напасть. Однажды случайно заметил, что в истории событий модуля проходят сообщения 10 минутной (!) давности. Отправил ноде сообщение о перезагрузке, она перезагрузилась, а презентация прошла через 10 минут. Потом были еще поводы обратить внимание на задержку.

При этом сеть сенсоров работает. Между собой ноды нормально общаются. Жизнь кипит. Датчики движения срабатывают. Свет включается. С пультов ноды управляются. А в истории событий все как-то, мягко говоря, тухло... Соответственно в MDM отражается картинка непонятно какой давности.

Сделал тестовую ноду, которой отправляю из MDM текущее время в секундах. Нода отправляет его назад. При получении в МДМ вычисляю задержку:
Как вам задержка в 1000 секунд?Показать
Delays.jpg
Delays.jpg (11.96 КБ) 8940 просмотров
В 20:00 я рестартанул МДМ. А так я видел и значение в 4000 секунд)))
Как мониторить и отловить проблему теперь понятно.
Не понятно как ее решить.

Load average, %Cpu(s) в выводе top, проценты c разбивкой по процессам ничего критичного не выявили. Малина трудится и, в целом, справляется. Настроил ежеминутную запись. Еще помониторю.

Всего в сети 12 нод, которые с разной степенью назойливости вещают в эфир.
В среднем, в истории событий проходит 20-25 сообщений в обе стороны в минуту. При OTA количество сообщений у хорошей ноды доходит до 1000-1500, так что это даже не нагрузка на сеть.

К модулю MySensor вопросов нет. Если не считать, что есть подозрение на увеличение времени чтения сокета TCP. Сокет не отваливается, но начинает жутко тормозить...
Кстати, одновременно с появлением задержки в чтении сокета Mysensor отваливается и сервер Websocket'ов основной страницы (он отваливается совсем)

Спинным мозгом чувствую, что проблема в Rpi3, а где - не чувствую...
Может кто посоветует?
Ivan
Сообщения: 1473
Зарегистрирован: Сб окт 12, 2013 11:03 pm
Благодарил (а): 49 раз
Поблагодарили: 327 раз

Re: Модуль MySensor

Сообщение Ivan » Вт фев 14, 2017 7:12 am

ipz писал(а):Всплыла новая напасть. Однажды случайно заметил, что в истории событий модуля проходят сообщения 10 минутной (!) давности. Отправил ноде сообщение о перезагрузке, она перезагрузилась, а презентация прошла через 10 минут. Потом были еще поводы обратить внимание на задержку.
Уже писалось не однократно. Проблема в накоплении задержки WebSocket

Как отключить WebSocket:
В config.php добавляем строчку Define('DISABLE_WEBSOCKETS', 1);
И перегружаем систему
За это сообщение автора Ivan поблагодарил:
ipz (Вт фев 14, 2017 2:22 pm)
Рейтинг: 1.16%
Linux, Raspberry PI, MySensors
Connect: http://connect.smartliving.ru/profile/53
Мои проекты: http://smartliving.ru/profile/4
Ответить