MySensors для новичков

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

Re: MySensors для новичков

Сообщение ipz » Чт мар 09, 2017 11:01 am

Добавьте в скетч Gateway строку

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

#define MY_GATEWAY_MAX_CLIENTS 4  
(до инклюда библиотеки MySensor).
Не знаю сколько там по умолчанию будет, если не указать явно. Надо исходники смотреть.
Вы подключаетесь к GateWay MysController'ом и модулем МДМ это уже два клиента.
Я еще подключался putty и один клиент про запас - это четыре.

Если проблема не уйдет, то, скорее всего, дело в питании Gateway, как замечено выше. Попробуйте заменить источник питания.
В любом случае проблема на его стороне.
Скомпилируйте скетч Gateway c опцией

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

#define MY_DEBUG 
и посмотрите, что вывалится в серийный порт:
- просто перегружается, без видимой причины
- ругается на модуль Nrf (но тогда бы он вообще не запускался)
- что-то еще.
(Это я гадаю, т.к. никогда не отлаживал Gate)
DimSun75
Сообщения: 318
Зарегистрирован: Вс янв 01, 2017 8:32 pm
Откуда: Москва
Благодарил (а): 7 раз
Поблагодарили: 44 раза

Re: MySensors для новичков

Сообщение DimSun75 » Чт мар 09, 2017 11:13 am

ipz писал(а):Добавьте в скетч Gateway'я строку

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

#define MY_GATEWAY_MAX_CLIENTS 4  
(до инклюда библиотеки MySensor).
Не знаю сколько там по умолчанию будет, если не указать явно. Надо исходники смотреть.
Вы подключаетесь к GateWay MysController'ом и модулем МДМ это уже два клиента.
Я еще подключался putty и один клиент про запас - это четыре.

Если проблема не уйдет, то, скорее всего, дело в питании Gateway, как замечено выше. В любом случае проблема на его стороне.
По умолчанию клиентов 1. 4 клиента - это многова-то для ардуины. Для запуска сети нужно вырубить модуль mdm и смотреть контроллером. Что есть подключение putty?
ipz
Сообщения: 238
Зарегистрирован: Чт ноя 26, 2015 10:54 pm
Благодарил (а): 38 раз
Поблагодарили: 45 раз

Re: MySensors для новичков

Сообщение ipz » Чт мар 09, 2017 11:26 am

Четыре - это максимальное количество клиентов. Памяти для скетча хватает:

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

Скетч использует 10 898 байт (33%) памяти устройства. Всего доступно 32 256 байт.
Глобальные переменные используют 605 байт (29%) динамической памяти, оставляя 1 443 байт для локальных переменных. Максимум: 2 048 байт.
В штатной ситуации, когда не нужно отладки подключен только модуль МДМ. Поэтому здесь нет проблемы.
У меня так скомпилирован Ethernet Gate с самого начала.

putty - это SSH, telnet клиент. Поначалу им тоже пользовался для мониторинга - пошел обмен или нет. Совсем не обязательно им пользоваться.

Модуль МДМ как вырубить: цикл отключить? МДМ остановить? - лишний расход калорий)))
DimSun75
Сообщения: 318
Зарегистрирован: Вс янв 01, 2017 8:32 pm
Откуда: Москва
Благодарил (а): 7 раз
Поблагодарили: 44 раза

Re: MySensors для новичков

Сообщение DimSun75 » Чт мар 09, 2017 11:37 am

ipz писал(а):Четыре - это максимальное количество клиентов. Памяти для скетча хватает:

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

Скетч использует 10 898 байт (33%) памяти устройства. Всего доступно 32 256 байт.
Глобальные переменные используют 605 байт (29%) динамической памяти, оставляя 1 443 байт для локальных переменных. Максимум: 2 048 байт. 
В штатной ситуации, когда не нужно отладки подключен только модуль МДМ. Поэтому здесь нет проблемы.
У меня так скомпилирован Ethernet Gate с самого начала.

putty - это SSH, telnet клиент. Поначалу им тоже пользовался для мониторинга - пошел обмен или нет. Совсем не обязательно им пользоваться.

Модуль МДМ как вырубить: цикл отключить? МДМ остановить? - лишний расход калорий)))
1. Я еще досконально код библиотеки не изучал, но на ардуине лишние клиенты это зло.
2. При первом запуске сети модуль в MDM лучше вообще не ставить, сеть нужно сначала запустить, а уж потом настраивать MDM. Дальше, при настроенном MDM, двух клинтов достаточно будет (MDM И MYSController)
3. Что есть putty я знаю, непонятно нафига он тут.
ipz
Сообщения: 238
Зарегистрирован: Чт ноя 26, 2015 10:54 pm
Благодарил (а): 38 раз
Поблагодарили: 45 раз

Re: MySensors для новичков

Сообщение ipz » Чт мар 09, 2017 11:58 am

DimSun75 писал(а): 2. При первом запуске сети модуль в MDM лучше вообще не ставить
Зло, лучше, хуже - дуете на воду.

Я когда первые датчики собирал - вообще не знал, что есть MysController. Модуль Mysensor не сразу заработал. Инструкций, как отмечено выше, никаких нет. Как это должно выглядеть, на что это должно быть похоже не понятно. Куда смотреть можно было разобраться только из исходников библиотек. Но, в основном, все по наитию.
Ветка MySensor еле живая. Ссылка на гитхаб Ивана, вещь хорошая, но как она поможет запуститься? Из этой же серии русско-язычная платформа - приходите завтра.

Что касается топика:
- закомментируйте строчку `#define MY_CONTROLLER_IP_ADDRESS 192, 168, 0, 101` - она Вам не нужна (с этой опцией гейт работает как клиент, а нам нужен сервер). Скорее всего заработает.
Если не заработало:
- проверьте в веб-интерфейсе роутера появилось ли устройство с параметрами, указанными в скетче гейта:

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

#define MY_IP_ADDRESS 192,168,0,120
#define MY_MAC_ADDRESS 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED      
- увеличивайте максимальное число клиентов, или, если религия этого не позволяет, одновременно подключайтесь только одним клиентом.
- проверяйте, чтобы гейт не был запитан от дешевой китайской зарядки на 200mA
- <strike> вроде видно, что гейт стартует (New node descovered...) ХЗ.</strike> Как DimSun75 ниже заметил, эта строчка проходит еще до попытки коннекта к гейту. Что этим имел ввиду MysController - не важно.
- нужно искать проблему на стороне гейта - компилируйте с опцией MY_DEBUG и смотрите вывод в мониторе порта Arduino IDE. (По крайней мере будет видно стартует ли гейт, проходит ли инициализация Nrf, получает ли гейт IP, и, если падает, то в какой момент)
Последний раз редактировалось ipz Чт мар 09, 2017 1:36 pm, всего редактировалось 6 раз.
За это сообщение автора ipz поблагодарил:
Shaitan (Чт мар 15, 2018 5:37 pm)
Рейтинг: 1.16%
DimSun75
Сообщения: 318
Зарегистрирован: Вс янв 01, 2017 8:32 pm
Откуда: Москва
Благодарил (а): 7 раз
Поблагодарили: 44 раза

Re: MySensors для новичков

Сообщение DimSun75 » Чт мар 09, 2017 12:02 pm

ipz писал(а): - вроде видно, что гейт стартует (New node descovered...) ХЗ.
Да нифига он не стартует, ну или скажем так: этого пока не видно. Стартует MYSController - это видно, сконектиться со шлюзом у него не получается. Подождем Roman_13j, его тема, что он нам нового для анализа подкинет ;)
Roman_13j
Сообщения: 32
Зарегистрирован: Пт мар 25, 2016 11:34 pm
Благодарил (а): 5 раз
Поблагодарили: 0

Re: MySensors для новичков

Сообщение Roman_13j » Чт мар 09, 2017 1:12 pm

Перепрошил на сериалгейт. Удалил модуль с мдм. Подал питание на ноду с датчиком движения. Вот что в myscontroller выдает http://prntscr.com/ehsa7r. Насколько я понял, что гейт включился, но я не вижу сообщений о наличии движения с ноды. Вот также скрин с debug http://prntscr.com/ehsbhm
ipz
Сообщения: 238
Зарегистрирован: Чт ноя 26, 2015 10:54 pm
Благодарил (а): 38 раз
Поблагодарили: 45 раз

Re: MySensors для новичков

Сообщение ipz » Чт мар 09, 2017 1:50 pm

Дополнил предыдущее сообщение. Ethernet Gate, скорее всего не работал из-за `#define MY_CONTROLLER_IP_ADDRESS 192, 168, 0, 101`.

Обмен пошел это хорошо.
Видно что нода не получила ID. NodeID =255 это девственно чистая нода))
Можно задать в скетче номер ноды явно

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

#define MY_NODE_ID  1     
Номер ноды от 1 до 254

Для того, чтобы нода прописалась:
- Отключаете MysController
- Включаете MDM
- MySensor MDM- >Настроить->AutoID->On
- MySensor MDM->Inclusion mode
- Перезагружаете ноду
- MySensor MDM- >История событий

Должно быть видно, что нода получит ID (или первый свободный или прописанный явно в скетче)
Остальное будет зависеть от того, на что вы запрограммируете ноду.

Если все Ок:
- MySensor MDM- >Настроить->AutoID->Off
- На первой странице находим в списке строку с нашим новым номером ноды, двойным кликом на номере ноды попадаем в редактирование параметров, задаем имя ноды (по умолчанию в имени ноды будет ее номер)
Последний раз редактировалось ipz Чт мар 09, 2017 2:27 pm, всего редактировалось 1 раз.
За это сообщение автора ipz поблагодарил:
serghei (Чт мар 09, 2017 2:54 pm)
Рейтинг: 1.16%
serghei
Сообщения: 2575
Зарегистрирован: Пт ноя 06, 2015 10:22 am
Откуда: Кишинёв
Благодарил (а): 303 раза
Поблагодарили: 282 раза

Re: MySensors для новичков

Сообщение serghei » Чт мар 09, 2017 2:02 pm

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

Re: MySensors для новичков

Сообщение ipz » Чт мар 09, 2017 2:14 pm

Птичий язык MY_DEBUG надо расшифровывать со справочниками с MySensors.org)))

На вскидку у нод не задан ID. Попробуйте корректно прописать их в МДМ (см. мой предыдущий пост)
Если ноды корректно прописались и получили свой номер в модуле M…Показать
tmp.jpg
tmp.jpg (46.74 КБ) 6477 просмотров
Допустимые номера (в первой колонке) 0-гейт, остальные от 1 до 254

Я предпочитаю прописывать номер ноды в скетче явно: #define MY_NODE_ID <номер ноды>

UPD: На втором мониторе порта (com10) видно, что запрос ID не проходит - нужно включить в модуле MySensors Inclusion mode...
На первом мониторе порта не понятно что происходит (мне не понятно :D ) - я бы посмотрел самое начало лога, после того как Nrf проиницилизировался и нода должна запрашивать ID... Лекарство, думаю, такое же...
Последний раз редактировалось ipz Чт мар 09, 2017 2:57 pm, всего редактировалось 1 раз.
Ответить