Страница 52 из 72

Re: Модуль MySensor

Добавлено: Пт янв 12, 2018 12:49 pm
mikhail
Vladimir_st писал(а):У меня напрямую будет через GPIO.

Или лучше ethernet сделать? А не подскажете плюсы и минусы обоих реализаций?
Если через GPIO то надо относительно хорошо разбираться в linux. Экномится порт usb если SerialGateway и экономится (не нужна ) ардуино nano (uno)
Ну и если не черeз GPIO , то просто подключил к USB (или Eternet) и не болит голова с ./configure :)

Re: Модуль MySensor

Добавлено: Сб янв 13, 2018 5:40 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)
 

Re: Модуль MySensor

Добавлено: Сб янв 13, 2018 7:36 pm
Eraser
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

Re: Модуль MySensor

Добавлено: Сб янв 13, 2018 11:14 pm
mikhail
Eraser писал(а): Nano видимо с контроллером ch340 и при открывании USB порта она перезагружается.
Спасибо это помощь. Да действительно у меня Nano с контролером CH340 . Это хоть как-то объясняет мою проблему. Хотя эти перезагрузки начались внезапно. До этого тот же контроллер с тем же миникомпьютером работал без этого "костыля" c stty -F с запуском по нескольку раз. Попробую обе версии и с конденсатором и с транспортом com-to-socket, тогда отпишусь.

Re: Модуль MySensor

Добавлено: Вс янв 14, 2018 12:24 am
mikhail
Попробовал скрипт ser2sckocet.py . В логах скрипта каждые 15 секунд перезапуск или перезагрузка контролера
SPOILERSPOILER_SHOW
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
и пошли логи в истории событий модуля
Всех со Старым Новым Годом!

Re: Модуль MySensor

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

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

Re: Модуль MySensor

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

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

Отправлено с моего Redmi Note 4 через Tapatalk

Re: Модуль MySensor

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

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

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

Re: Модуль MySensor

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

Re: Модуль MySensor

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