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

Наш канал в YouTube
]
Форум » ФОРУМ » Домашняя автоматизация на Raspberry Pi » Радиомодуль
Радиомодуль


ppwwddДата: Среда, 02.01.2019, 06:13 | Сообщение # 391
Группа: Пользователи
Сообщений: 453
Статус: Offline
Утро вечера мудренее. Заработали исполнительные устройства. Наверное, радиомодуль "притерся". Одно только осталось, что в поле Transmitter не отображается информация о нажатых кнопках.
Прикрепления: 9498676.png(155.5 Kb)
 
AlexAWДата: Среда, 02.01.2019, 10:46 | Сообщение # 392
Группа: Пользователи
Сообщений: 310
Статус: Offline
Цитата ppwwdd ()
а с радиомодулем AlexAW-версии, в который я записал коды брелков не хотят,
С новым годом! С новым устройством.
Каким образом вы записали сигналы с брелков в радиомодуль? Копированием или записью кодов в ЕЕПРОМ? И какие параметры модуляции у брелков с которых копировали?
Для приемников нет разницы будет преамбула впереди или сзади, в любом из протоколов чтение кода начинается после преамбулы. Длительность преамбулы должна быть 32а где а длительность импульса, те в ваших измерениях это 400us импульс 12400us пауза. Но для приемника высокая точность соблюдения паузы не важна, но лучше придерживаться. 
Если передача с радиомодуля не заработала, тому может быть две причины. Не верная частота несущей передатчика, не правильно записан код или частота модуляции сообщения.
Что касается устройств датчиков протечек и датчиков окон вот тут измененые прошивки для варианта схемотехники Михаила.
 
ppwwddДата: Среда, 02.01.2019, 16:53 | Сообщение # 393
Группа: Пользователи
Сообщений: 453
Статус: Offline
AlexAW, записывал я коды с брелков путем копирования в режиме программирования. Например, у меня брелок 315 мГц с адресом 01, который закомутирован на плате пайкой перемычек, имеет коды в двух версиях:
                                     A                            B                           C                          D

ADMIN-версия           03 00 03                 03 00 0С                03 00 30                03 00 С0

AlexAW-версия         С0 00 С0                С0 00 30                С0 00 0С                С0 00 03,
 
в принципе коды идентичные, только в ADMIN-версии вверх ногами и задом наперед. Но передается все одинаково. Первым байтом для этого брелка стоит 0В. я так понял, что это параметр, который в первом столбце таблицы "Таблица расчета периода". 

    Александр, в принципе, радиомодуль с Вашей прошивкой заработал. Я доволен. Дело в том, что то что передает контроллер на трансивер и что получит с ресивера контроллер на приемной стороне - оно будет отличаться. Параметры сигнала на приемной стороне сильно отличаются. я когда-то изучал это с помощью лог. анализатора. 
    Плохо распознает команды от радиомодуля устройство, которое стоит на улице, притом в металлическом ящике. Но с этим я справлюсь.
А вот почему в поле Transmitter ничего не пишется - вот это для меня загадка.
 
AlexAWДата: Четверг, 03.01.2019, 13:37 | Сообщение # 394
Группа: Пользователи
Сообщений: 310
Статус: Offline
Цитата ppwwdd ()
Первым байтом для этого брелка стоит 0В. я так понял, что это параметр, который в первом столбце таблицы "Таблица расчета периода".
 Да правильно поняли Код который вы выбрали будет соответствовать периоду 1600 мкс.  Если ваш брелок выдает с тем же периодом то все верно.
Вообще можно было и не париться с записью кодов а просто записать коды в радиомодуль методом который показан на видео. Он сам бы и коды прописал и константу ближайшую подходящую подобрал. 
Цитата ppwwdd ()
Дело в том, что то что передает контроллер на трансивер и что получит с ресивера контроллер на приемной стороне - оно будет отличаться.
Вот тут что то не понял. Почему это будет отличаться и в чем?
 
AdminДата: Четверг, 03.01.2019, 15:50 | Сообщение # 395
Admin
Группа: Администраторы
Сообщений: 4255
Статус: Offline
Как-то уже давно наткнулся  на вот такие девайсы Broadlink:

https://mysku.ru/blog/china-stores/40732.html (эмулятор радио и ИК-пульта)

https://mysku.ru/blog/china-stores/41102.html (эмулятор ИК-пульта)

Вполне можно рассматривать как альтернативу радиомодулю (первая ссылка), если научить его еще и обрабатывать принимать команды (приемник там уже встроен). Только вот категорически не нравится мне работа через «облачные» ресурсы, несмотря на красочное приложение и очень широкие возможности по адаптации различных девайсов и создание сценариев работы. Вот если бы «облако» Broadlink можно было бы развернуть локально, тогда другое дело biggrin

Тем не менее, может и закажу один из таких контроллеров и попробую интегрировать его в WHP. Скорее всего, все там построено на протоколе MQTT, а значит можно обойтись и без «облака».
 


ppwwddДата: Четверг, 03.01.2019, 18:13 | Сообщение # 396
Группа: Пользователи
Сообщений: 453
Статус: Offline
Цитата AlexAW ()
Вот тут что то не понял. Почему это будет отличаться и в чем?
Отличие будет во временных параметрах. Длина импульса сокращается пауза растягивается. Я думаю из-за специфики работы самого передатчика. Некоторое время идет на "разгон".
 
AlexAWДата: Пятница, 04.01.2019, 09:38 | Сообщение # 397
Группа: Пользователи
Сообщений: 310
Статус: Offline
Запуск генератора передатчика происходит довольно быстро это практически не должно повлиять на величину импульса  до критических величин. разницей в десяток микросекунд можно пренебречь, алгоритмы дешифраторов приемников и радиомодуля благополучно справляются с этим.
 
ppwwddДата: Суббота, 05.01.2019, 18:10 | Сообщение # 398
Группа: Пользователи
Сообщений: 453
Статус: Offline
Устранил  проблему из-за которой не отображалась информация в поле Transmitter при посылании команд с вебстраницы Radio control. Подпаял электролит 100,0х25В и керамич. на 0,1 мкф прямо к выводам передатчика +Uпит. и GND и пошла информация о нажатых кнопках на вебстранице. Может кому-то будет полезная информация, кто не знал таких нюансов. Я с таким сталкивался, когда использовал модули NRF24L01.

Добавлено (05.01.2019, 18:55)
---------------------------------------------
Александр, помогите разобраться. Не могу "въехать" никак. Я об исходнике. Включили радоиомодуль. Прошел сброс, инициализация. Поблымали семафорами. Пошел первый импульс (предположим протокол 2262), - прерывание  по RB0, выходим на подпрограмму обработки, а счетчик TMR1 давно уже считает. Я думал он должен начинать считать с момента прихода прерывания. Я так понимаю, что самый первый импульс не в счет. Счетчик сбрасывается в конце обработки прерывания и затем считывается в начале следующего прерывания. Т.е. измеряется не длина импульса, а период между двумя прерываниями. И так до тех пор, пока не выловится длинный период между двумя прерываниями. Это будет преамбула. Затем уже начинается прием информации. А как определяется длина импульса, если измеряется только период между прерываниями?

Добавлено (05.01.2019, 19:08)
---------------------------------------------
AlexAW, от радиомодуля я в восторге. Ловит все, что летает. Вывод RB7 можно задействовать для подачи на какой-нибудь вход GPIO, чтобы sms приходила, когда радиомодуль поймал знакомый код.

Прикрепления: 4669228.png(335.5 Kb)
 
AlexAWДата: Воскресенье, 06.01.2019, 05:41 | Сообщение # 399
Группа: Пользователи
Сообщений: 310
Статус: Offline
Цитата ppwwdd ()
Поблымали семафорами.
Семафоры работают всегда. Они дают информацию задачам и  диспетчеру задач о состоянии и необходимости запуска в роботу. ТМ0 создает системные тики 100 мкс. По ним происходит контроль состояний задач, а задачей генерации пауз вычисляются и создаются все необходимые длинные (более 100 мкс) паузы.  Паузы тоже разруливаются своими флагами. Вообще большинство задач снабжены флаговыми регистрами.
Контроль переднего фронта происходит по прерыванию с входа приемника (по обработке у него наивысший приоритет, для обеспечения большей точности отсчета ТМ1.  От фронта до фронта таймером ТМ1 считается период.  Знание периода достаточно что бы знать величину импульса и паузы. Нам же известно что их соотношение должно быть 1/4 и 3/4.(делим на 4 это два сдвига вправо вот вам и четверь она и есть базовая величина) Для более точного определения периода считаем среднее из двух измерений (сложить и сдвинуть вправо 1 раз, значения суммы не превышают байта плюс флаг переноса)
Цитата ppwwdd ()
выходим на подпрограмму обработки, а счетчик TMR1 давно уже считает.
Он считает с тех пор как мы его инициализировали, а инициализировали  мы его тоже тут в прерывании, и если он даже чего то насчитал не того алгоритм обработки проигнорирует некорректные данные. ведь на входе может быть и просто шум.И так непрерывно идет обработка расчета периода,  а вот если обнаружится преамбула тогда алгоритм запустит расшифровку кодов с текущим вычисленным периодом.
Цитата ppwwdd ()
Вывод RB7 можно задействовать для подачи на какой-нибудь вход GPIO
Это вывод контроль приема. Он включается всегда когда верно прошла принята последовательность и на знакомый и на не знакомый код.
Прикрепления: PT2262_5.pdf(590.6 Kb)
 


ppwwddДата: Воскресенье, 06.01.2019, 06:12 | Сообщение # 400
Группа: Пользователи
Сообщений: 453
Статус: Offline
Цитата AlexAW ()
Нам же известно что их соотношение должно быть 1/4 и 3/4
Действительно!!!  Я об этом знаю, но даже не догадался о том, что это можно использовать в алгоритме. Как говорится: "Одна голова - хорошо, но... лучше с туловищем." Гениальное - все простое. Но не все простое гениальное.13510
Цитата AlexAW ()
Он включается всегда когда верно прошла принята последовательность и на знакомый и на не знакомый код
Я имел ввиду, что когда веб сервер не работает, а радиомодуль поймал сработавший датчик. Откуда мы будем знать, что датчик сработал? Пока не зайдем на сервер. А так будет уже предупреждение, что радиомодуль обнаружил сработавший датчик. А дальше уже нужно зайти на сервер, чтобы определить, какой из датчиков сработал. По крайней мере мне это необходимо будет.

Добавлено (06.01.2019, 06:55)
---------------------------------------------

Цитата AlexAW ()
Знание периода достаточно что бы знать величину импульса и паузы.
Цитата AlexAW ()
Нам же известно что их соотношение должно быть 1/4 и 3/4
 А между прерываниями, как отслеживается, когда был спад у импульса? На 1/4 или на 3/4 периода? Т.е. "0" это или "1".
 
Форум » ФОРУМ » Домашняя автоматизация на Raspberry Pi » Радиомодуль
Поиск:



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