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

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

Модератор: immortal

mikhail
Сообщения: 15
Зарегистрирован: Вс июн 12, 2016 4:57 pm
Благодарил (а): 3 раза
Поблагодарили: 8 раз

Re: Модуль MySensor

Сообщение mikhail » Пт янв 12, 2018 12:49 pm

Vladimir_st писал(а):У меня напрямую будет через GPIO.

Или лучше ethernet сделать? А не подскажете плюсы и минусы обоих реализаций?
Если через GPIO то надо относительно хорошо разбираться в linux. Экномится порт usb если SerialGateway и экономится (не нужна ) ардуино nano (uno)
Ну и если не черeз GPIO , то просто подключил к USB (или Eternet) и не болит голова с ./configure :)
fandaymon
Сообщения: 1554
Зарегистрирован: Сб янв 13, 2018 5:00 pm
Благодарил (а): 39 раз
Поблагодарили: 574 раза

Re: Модуль MySensor

Сообщение fandaymon » Сб янв 13, 2018 5:40 pm

mikhail писал(а): .
подскажите в какую сторону копать ? чтобы исправить проблему.
Проблема в том что Nano видимо с контроллером ch340 и при открывании USB порта она перезагружается. php цикл то открывает, то закрывает порт и перед каждой отработкой цикла настройки порта сбрасываются. Если же открыть порт и не закрывая его запустить stty, то порт настроится под нужную скорость и начнёт нормально принимать команды от ардуинки.
На просторах интернета люди писали что подпаивали конденсатор, чтобы сбороса не происходило. Наверное можно исправить так. А можно написать простой скрипт на питоне/баше которая будет держать порт всё время открытым и ретранслировать сообщения от ардуинки к мажордомо.
Что-то типа такого

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

import serial
import time
import urllib

ser = serial.Serial('/dev/ttyUSB0', 115200)
while 1 :
    a=ser.readline()
   
    link="http://127.0.0.1" +"ссылка на метод отрабатывающий в мажордомо команды mysensors"+ a
    f=urllib.urlopen(link)
 
За это сообщение автора fandaymon поблагодарил:
mikhail (Сб янв 13, 2018 11:17 pm)
Рейтинг: 1.16%
Аватара пользователя
Eraser
Сообщения: 1085
Зарегистрирован: Вт окт 21, 2014 7:31 pm
Откуда: Киров
Благодарил (а): 14 раз
Поблагодарили: 869 раз
Контактная информация:

Re: Модуль MySensor

Сообщение Eraser » Сб янв 13, 2018 7:36 pm

fandaymon писал(а):
mikhail писал(а): .
подскажите в какую сторону копать ? чтобы исправить проблему.
Проблема в том что Nano видимо с контроллером ch340 и при открывании USB порта она перезагружается. php цикл то открывает, то закрывает порт и перед каждой отработкой цикла настройки порта сбрасываются. Если же открыть порт и не закрывая его запустить stty, то порт настроится под нужную скорость и начнёт нормально принимать команды от ардуинки.
На просторах интернета люди писали что подпаивали конденсатор, чтобы сбороса не происходило. Наверное можно исправить так. А можно написать простой скрипт на питоне/баше которая будет держать порт всё время открытым и ретранслировать сообщения от ардуинки к мажордомо.
Что-то типа такого

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

import serial
import time
import urllib

ser = serial.Serial('/dev/ttyUSB0', 115200)
while 1 :
    a=ser.readline()
   
    link="http://127.0.0.1" +"ссылка на метод отрабатывающий в мажордомо команды mysensors"+ a
    f=urllib.urlopen(link)
 
я делал транспорт com to socket (скрипт во вложении, удалить .zip)
что позволило получить доступ сразу MJD и MYSController
Вложения
com2socket.py.zip
Скрипт транспорта com to socket
(2.12 КБ) 611 скачиваний
За это сообщение автора Eraser поблагодарил:
mikhail (Сб янв 13, 2018 10:39 pm)
Рейтинг: 1.16%
Connect ---- Telegram
ЮMoney для благодарностей за помощь: 410012076838296 или нажмите кнопку "Спасибо"!!! :D
mikhail
Сообщения: 15
Зарегистрирован: Вс июн 12, 2016 4:57 pm
Благодарил (а): 3 раза
Поблагодарили: 8 раз

Re: Модуль MySensor

Сообщение mikhail » Сб янв 13, 2018 11:14 pm

Eraser писал(а): Nano видимо с контроллером ch340 и при открывании USB порта она перезагружается.
Спасибо это помощь. Да действительно у меня Nano с контролером CH340 . Это хоть как-то объясняет мою проблему. Хотя эти перезагрузки начались внезапно. До этого тот же контроллер с тем же миникомпьютером работал без этого "костыля" c stty -F с запуском по нескольку раз. Попробую обе версии и с конденсатором и с транспортом com-to-socket, тогда отпишусь.
mikhail
Сообщения: 15
Зарегистрирован: Вс июн 12, 2016 4:57 pm
Благодарил (а): 3 раза
Поблагодарили: 8 раз

Re: Модуль MySensor

Сообщение mikhail » Вс янв 14, 2018 12:24 am

Попробовал скрипт ser2sckocet.py . В логах скрипта каждые 15 секунд перезапуск или перезагрузка контролера
СпойлерПоказать
2018-01-14 00:02:33+0300 [CommandRx,7,127.0.0.1] ]
2018-01-14 00:02:33+0300 [CommandRx,7,127.0.0.1] Removing <__main__.CommandRx instance at 0xb65ba508>
2018-01-14 00:02:33+0300 [__main__.CommandRxFactory] Connection received from tcp..
2018-01-14 00:02:33+0300 [CommandRx,8,127.0.0.1] Command receive '0;0;3;0;14;Gateway startup complete\n'
2018-01-14 00:02:49+0300 [CommandRx,8,127.0.0.1] Connection lost [Failure instance: Traceback (failure with no frames): <class 'twisted.internet.error.ConnectionDone'>: Connection was closed cleanly.
2018-01-14 00:02:49+0300 [CommandRx,8,127.0.0.1] ]
2018-01-14 00:02:49+0300 [CommandRx,8,127.0.0.1] Removing <__main__.CommandRx instance at 0xb65ba6e8>
2018-01-14 00:02:49+0300 [__main__.CommandRxFactory] Connection received from tcp..
2018-01-14 00:02:49+0300 [CommandRx,9,127.0.0.1] Command receive '0;0;3;0;14;Gateway startup complete\n'
2018-01-14 00:03:06+0300 [CommandRx,9,127.0.0.1] Connection lost [Failure instance: Traceback (failure with no frames): <class 'twisted.internet.error.ConnectionDone'>: Connection was closed cleanly.
2018-01-14 00:03:06+0300 [CommandRx,9,127.0.0.1] ]
2018-01-14 00:03:06+0300 [CommandRx,9,127.0.0.1] Removing <__main__.CommandRx instance at 0xb65ba508>
2018-01-14 00:03:06+0300 [__main__.CommandRxFactory] Connection received from tcp..
2018-01-14 00:03:06+0300 [CommandRx,10,127.0.0.1] Command receive '0;0;3;0;14;Gateway startup complete\n'
2018-01-14 00:03:22+0300 [CommandRx,10,127.0.0.1] Connection lost [Failure instance: Traceback (failure with no frames): <class 'twisted.internet.error.ConnectionDone'>: Connection was closed cleanly.
2018-01-14 00:03:22+0300 [CommandRx,10,127.0.0.1] ]
2018-01-14 00:03:22+0300 [CommandRx,10,127.0.0.1] Removing <__main__.CommandRx instance at 0xb65ba6e8>
2018-01-14 00:03:22+0300 [__main__.CommandRxFactory] Connection received from tcp..
2018-01-14 00:03:22+0300 [CommandRx,11,127.0.0.1] Command receive '0;0;3;0;14;Gateway startup complete\n'
2018-01-14 00:03:38+0300 [CommandRx,11,127.0.0.1] Connection lost [Failure instance: Traceback (failure with no

и пусто в логах модуля mysensors
тогда установил программу apt-get install ser2net
конфиг /etc/ser2net.conf
5003:raw:0:/dev/ttyUSB0:115200 8DATABITS NONE 1STOPBIT
/etc/init.d/ser2net start
и пошли логи в истории событий модуля
Всех со Старым Новым Годом!
За это сообщение автора mikhail поблагодарил:
dip56245 (Вт фев 27, 2018 4:42 pm)
Рейтинг: 1.16%
mrdenis
Сообщения: 31
Зарегистрирован: Чт мар 19, 2015 7:55 am
Благодарил (а): 6 раз
Поблагодарили: 1 раз

Re: Модуль MySensor

Сообщение mrdenis » Вт янв 23, 2018 5:40 am

ahelper писал(а):
mrdenis писал(а): Еще меня крайне не устраивает неработоспособность системы на Mysensors (ноды), если она при запуске не может зарегистрироваться на гейтвее.
Работает, если в скетч немного кода добавить.

Отправлено с моего ZTE A2017 через Tapatalk
Обязательно добавлю этот код, как только пойму что именно добавить. То, что нашел на сегодня, мне пока не помогло.
Спасибо за вашу рекомендацию.
Аватара пользователя
lanket
Сообщения: 1168
Зарегистрирован: Вт окт 14, 2014 11:27 pm
Откуда: Санкт-Петербург
Благодарил (а): 260 раз
Поблагодарили: 163 раза

Re: Модуль MySensor

Сообщение lanket » Вт янв 23, 2018 7:51 am

mrdenis писал(а):
ahelper писал(а):
mrdenis писал(а): Еще меня крайне не устраивает неработоспособность системы на Mysensors (ноды), если она при запуске не может зарегистрироваться на гейтвее.
Работает, если в скетч немного кода добавить.

Отправлено с моего ZTE A2017 через Tapatalk
Обязательно добавлю этот код, как только пойму что именно добавить. То, что нашел на сегодня, мне пока не помогло.
Спасибо за вашу рекомендацию.
Вот вам решение.

Отправлено с моего Redmi Note 4 через Tapatalk
Разработка голосового асистента для Мажордомо по любому ключевому слову.
:arrow: Обсужение
:arrow: gitHub 2й версии терминала
:arrow: GitHub модуля для МД
gitHub сырого модуля 2й версии
:arrow: Connect
Rasberry Pi 2, MDM, MySensors. И говорящий апельсин.
mrdenis
Сообщения: 31
Зарегистрирован: Чт мар 19, 2015 7:55 am
Благодарил (а): 6 раз
Поблагодарили: 1 раз

Re: Модуль MySensor

Сообщение mrdenis » Ср янв 24, 2018 10:50 am

Спасибо за инфу.
lanket писал(а): У Нрф должено быть стабильное питание, а также часто попадаются плохие чипы что приводит к плохому качеству приёма. Исключить подозрение на плохое питание можно запитав Нрф от батарейки. Питать от ардуино плохая идея, лучше через отдельный стабилизатор и обязательно с фильтрами. Идеальное питание я брал из этой схемы.
У самого уже закралась мысль, что чипы далеко не такие одинаковые, как может показаться на внешний вид.
lanket писал(а): Репитор должен быть не спящим, и не важно как отдельным или в составе с датчиками.
1. Неспящие - ясно.
2. Функционал ноды дает задержку в функционал репитера, поэтому, если скетч функций ноды большой, то возможно из-за этого может плохо работать репитер ?
3. И географическая топология меня волнует. Через сколько метров ставить репитер уже пора?
Надо ведь учитывать стены, перекрытия, а если еще с учетом того, что сами модули разные - пипец нетривиальная задача: построить сеть устойчивого приема/передачи.
Можно только эксперементально определить это все..
lanket писал(а): У Нрф нет к сожалению мерилки уровня сигнала, у меня сквозь деревянный пол метров 7 бьёт без проблем. Но уважаемый berk накатал тестер nrf сетей. Чуть позже смогу ссылку скинуть. Если гейт с внешней антеной то тестирование надо на расстоянии не менее чем 2 метра от гейта.
Тестер определенную помощь окажет, но он ведь будет просто показывать, что что-то принял,
а что.. надо знать, что отправлено, иначе будешь принимать 20 пакетов в 5 минут и считать, что это все, что есть, а на самом деле там 60 пакетов.

В целях улучшения функционирования NRF24 с антенной нашел следующие рекомендации:
1. Стабилизация питания (сглаживание и фильтрация - то, что на вашей схеме), обеспечение питания 3,3 В не менее 150 мА, так как модуль с антенной более мощный.
2. Рекомендуют организовать экран на саму плату модуля NRF.
Рекомендации
Пока из этого только пересадил питание на свое стабилизатор +3.3В. Улучшение заметил, но на макетном релизе.. 3 метра до ноды. Без своего стабилизатора была ваще печаль.

Еще обратил внимание на то, что при включении сети (при изменении расположений нод) она запускается с приличной задержкой.
Полагаю, что строит таблицы маршрутизации, подбирает канал связи и еще хрен знает чем занимается.
Вобщем, как правило, на переход сети в более-менее устойчивое состояние уходит время, измеряемое часами, не минутами даже.
mrdenis
Сообщения: 31
Зарегистрирован: Чт мар 19, 2015 7:55 am
Благодарил (а): 6 раз
Поблагодарили: 1 раз

Re: Модуль MySensor

Сообщение mrdenis » Ср янв 24, 2018 10:55 am

lanket писал(а):
mrdenis писал(а): Еще меня крайне не устраивает неработоспособность системы на Mysensors (ноды), если она при запуске не может зарегистрироваться на гейтвее.
Вот вам решение.
Считаю, что такие вещи надо в шапку.. или ФАК :)
Хотя я так глянул.. решение мудреное... :)
Чтобы упихать в свой скетч, надо будет немного посидеть..
Думал, что задача решается прямо в библиотеке.. дефайнами какими-нибудь. по идее так и должно быть :)
mrdenis
Сообщения: 31
Зарегистрирован: Чт мар 19, 2015 7:55 am
Благодарил (а): 6 раз
Поблагодарили: 1 раз

Re: Модуль MySensor

Сообщение mrdenis » Ср янв 24, 2018 10:59 am

lanket писал(а):Возьмите ардуино с Нрф. Залейте эту прошивку. И тестирование свою сеть.
Идеал если будет выдавать один только канал, по умолчанию 76, если не меняли принудительно.
эта прошка для любой ардуины ??? а скетчем незя ? проприетарная ? :)
Ответить