Четверг, 28.03.2024, 10:56
| RSS
Главная | Радиомодуль - Страница 41 - Форум
Защита, контроль, управление
Форма входа
Логин:
Пароль:
[ Новые сообщения · Участники · Правила форума · Поиск · RSS · Чат

Наш канал в YouTube
]
Форум » ФОРУМ » Домашняя автоматизация на Raspberry Pi » Радиомодуль
Радиомодуль
AlexAWДата: Воскресенье, 06.01.2019, 16:38 | Сообщение # 401
Группа: Пользователи
Сообщений: 310
Статус: Offline
Цитата ppwwdd ()
когда веб сервер не работает, а радиомодуль поймал сработавший датчик. Откуда мы будем знать, что датчик сработал?
Не совсем понял ситуацию. Как это вебсервер не работает? Ваще то на малине должен крутиться какойто скрипт который не только на картинку выдает состояние, но и выполняет определенные действия при обнаружении сигнала с радиомодуля.
Другой вопрос как часто малинка опрашивает по модбус радиомодуль. если нам надо где то управлять включением освещения, то тут требуется проверять состояние не реже секунды, что бы реакция на кнопку (выключатель) была приемлемой. А если что то типа контроля состояния открыто закрыто, протечка та же, то тут можно и по реже контролировать. А что бы не потерялись посылки между опросами модбаса, в радиомодуле предусмотрены буферы принятых и передаваемых радиокоманд и тот и другой на 16 номеров команд. так что и малина может отправлять пачками и потерять принятые команды при редком опросе надо постараться))).В видео я постарался это показать. По модбасу обеспечивается скорость опроса максимальная с периодичностью 20-25 мс. На качество приема и передачи это никак не влияет тк выполняется в "фоновом режиме относительно процедур приема.
Цитата ppwwdd ()
А между прерываниями, как отслеживается, когда был спад у импульса? На 1/4 или на 3/4 периода? Т.е. "0" это или "1".
Тут все совсем просто! мы же уже знаем период. Теперь берем и после обнаружения переднего фронта отсчитываем половину периода и принудительно читаем состояние приемника. Что мы прочтем? Если после фронта был короткий импульс читаем 0, а если длинный читаем 1. И только помеха может нас обмануть, но для этого можно устроить повторное чтение через 1 системный тик, совпало отлично не совпало Либо бросаем прием тк обнаружили ошибку либочитаем еще раз на следующем системном тике И снова сравниваем с предыдущим.(такой "изящный" алгоритм был у меня в начале) Но есть и более надежный и простой способ, который похоже применяется в алгоритмах работы китайских дешифраторов.
Обратили внимание, в диаграммах файла описания, что я приложил в предыдущем посте. Частота осцилятора в 8-16 раз выше частоты модуляции.
Так вот берем измеренный нами период делим на 8 (3 сдвига) получаем период измерительных отсчетов, и теперь после обнаружения переднего фронта читаем  сигнал с приемника с периодичностью в 8 раз быстрее, до обнаружения следующего переднего фронта,  при каждом измерении результат сумируем в счетчике нули отдельно единицы отдельно (можно было бы сразу суммировать или вычитать, но для высокой скорострельности процедуры измерительного прерывания проще просто накапливать нули и единицы в разных счетчиках в прерывании, а обработку (вычисление чего было больше единиц или нулей) производить уже в задаче. Получилось тоже просто, но уже более помехоустойчивее. Можно было бы и 16 отсчетов сделать, но тогда надо было бы кварц на 20 мГц ставить что бы прерывание успевало бы обработать все измерения во всем диапазоне заявленных периодов модуляции.


Сообщение отредактировал AlexAW - Воскресенье, 06.01.2019, 16:46
 


ppwwddДата: Воскресенье, 06.01.2019, 19:27 | Сообщение # 402
Группа: Пользователи
Сообщений: 454
Статус: Offline
Цитата AlexAW ()
Теперь берем и после обнаружения переднего фронта отсчитываем половину периода и принудительно читаем состояние приемника.
Вот это я и хотел и узнать, чтобы долго и нудно не разбираться в программе, как это реалировано. Потому что в исходниках Михаила идешь , как по веревочке. А здесь такой клубок, что распутать самому очень-очень трудно.

Цитата AlexAW ()
Как это вебсервер не работает?
Я имел виду, если веб-страница не загружена, тогда и по RS485 ничего не передается. А если  радиомодуль обнаружил сработавший датчик, то об этом мы узнаем только когда загрузим страничку радиомодуля. То я и думаю чтобы задействовать один выход контроллера, который будет на GPIO передавать сигнал о том, что радиомодуль поймал код.
 
AdminДата: Воскресенье, 06.01.2019, 19:54 | Сообщение # 403
Admin
Группа: Администраторы
Сообщений: 4260
Статус: Offline
Цитата ppwwdd ()
Я имел виду, если веб-страница не загружена, тогда и по RS485 ничего не передается. А если  радиомодуль обнаружил сработавший датчик, то об этом мы узнаем только когда загрузим страничку радиомодуля. То я и думаю чтобы задействовать один выход контроллера, который будет на GPIO передавать сигнал о том, что радиомодуль поймал код.

В последних версиях WHP (с радиомодулем Александра) опрос идет в цикле скрипта. Т.е. если измениться состояние датчика, можно сразк настроить отсылку сообщения. Но не через конфиг. меню, нужно допиливать скрипт
 
ppwwddДата: Понедельник, 07.01.2019, 07:52 | Сообщение # 404
Группа: Пользователи
Сообщений: 454
Статус: Offline
Цитата Admin ()
нужно допиливать скрипт
Будем ждать.


Сообщение отредактировал ppwwdd - Понедельник, 07.01.2019, 07:55
 
VladIДата: Четверг, 21.03.2019, 19:16 | Сообщение # 405
Группа: Пользователи
Сообщений: 4
Статус: Offline
Рекомендую -

Приемник и передатчик 433 МГц на основе esp8266 для Home Assistant и других систем  

https://sprut.ai/client/article/283

Посетите сайт -

https://sprut.ai/client/guide/
 


AdminДата: Четверг, 21.03.2019, 20:03 | Сообщение # 406
Admin
Группа: Администраторы
Сообщений: 4260
Статус: Offline
А именно такие "супергетеродинные" модули Александр (AlexAW) и предлагал использовать в радиомодуле. Мы их где-то год назад тестировали (см. здесь - http://electromost.com/forum/6-93-12719-16-1523117958), результат отличный. Единственная проблема, что и у остальных устройств в радиосети должна быть очень высокая стабильность частоты. А учитывая, что китайцы многие устройства лепят "некварцоваными", то вместе их использовать не всегда возможно.
 
VladIДата: Суббота, 23.03.2019, 07:48 | Сообщение # 407
Группа: Пользователи
Сообщений: 4
Статус: Offline
Цитата VladI ()
Приемник и передатчик 433 МГц на основе esp8266 для Home Assistant и других систем  https://u.to/B-TyFA


Это щлюз.
https://github.com/1technophile/OpenMQTTGateway
Прикрепления: 2928527.jpg (76.4 Kb)


Сообщение отредактировал VladI - Суббота, 23.03.2019, 07:53
 
AlexAWДата: Четверг, 31.10.2019, 09:32 | Сообщение # 408
Группа: Пользователи
Сообщений: 310
Статус: Offline
Цитата VladI ()
Это щлюз.
 Прикольное устройство. Надо будет по колупать инфу по подробнее.
 
ppwwddДата: Понедельник, 30.03.2020, 11:05 | Сообщение # 409
Группа: Пользователи
Сообщений: 454
Статус: Offline
Admin, AlexAW, здравствуйте! Поскажите, кто может. Это только у меня такая проблема или еще у кого-то проявляется. В EEPROM радиомодуля (прошивка AlexAW) регулярно в последнем байте кода команды появляется FF. Перезаписываю EEPROM, но при передаче команд через некоторое время команды престают выполняться. Проверяю EEPROM, а там подмена байта произошла.
Прикрепления: 4611184.png (39.5 Kb)
 
AlexAWДата: Воскресенье, 05.04.2020, 07:42 | Сообщение # 410
Группа: Пользователи
Сообщений: 310
Статус: Offline
Предполагаю что ЕЕПРОМ глючит. Каким питанием питаете и при каком питании программируется?  ЕЕПРОМ Так себя может вести, если пишется при низком питании.
 
Форум » ФОРУМ » Домашняя автоматизация на Raspberry Pi » Радиомодуль
Поиск:



T2M © 2024
Сайт управляется системой uCoz