Радиомодуль
|
|
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
Сообщение отредактировал 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, а там подмена байта произошла.
|
|
| |
AlexAW | Дата: Воскресенье, 05.04.2020, 07:42 | Сообщение # 410 |
Группа: Пользователи
Сообщений: 310
Статус: Offline
| Предполагаю что ЕЕПРОМ глючит. Каким питанием питаете и при каком питании программируется? ЕЕПРОМ Так себя может вести, если пишется при низком питании.
|
|
| |