Блок чтения кода радио датчиков 433 МГц.
Блок чтения кода радио датчиков 433 МГц.
Предлагаю создать блок для работы (чтения, записи, обработки) с распространенными беспроводными датчиками на 433 МГц (так же касается датчиков на 315МГц) разного назначения (датчики дыма, движения, герконовые и т.д.). Такие датчики используются в домашних GSM сигнализациях.
Блок был бы очень полезен для конструкций типа "Умный дом" и интеграции с уже установленными подобными системами.
К тому же, эти датчики свободно продаются и доступны для всех начинающих и опытных конструкторов.
P.S. Блок либо самодельный (для тех, кто хорошо знает вопрос и протокол связи), либо Разработчик создаст. И вообще, возможно ли создать такой блок?
Блок был бы очень полезен для конструкций типа "Умный дом" и интеграции с уже установленными подобными системами.
К тому же, эти датчики свободно продаются и доступны для всех начинающих и опытных конструкторов.
P.S. Блок либо самодельный (для тех, кто хорошо знает вопрос и протокол связи), либо Разработчик создаст. И вообще, возможно ли создать такой блок?
Последний раз редактировалось Max 12 апр 2016, 08:11, всего редактировалось 1 раз.
- Boroda
- Капитан
- Сообщения: 836
- Зарегистрирован: 01 май 2016, 01:04
- Откуда: Коломна
- Имя: Станислав
- Контактная информация:
Блок чтения кода радио датчиков 433 МГц.
Ну сделать пользовательский блок несложно, единственная проблема - в приемнике необходимо использовать аппаратный 16-разрядный таймер с тиками 1 мкс (ну +- можно поиграться) и необходимо довольно часто (максимум через 80мкс) запускать подпрограмму сканирования выхода приемника. В приложении кусок кода для самописного протокола (прием-пердача) на PicBasic, который легко переносится на СИ. Нужно немного поиграться с таймингами и данными, чтоб получился протокол SC2262 или EV1527).
П.С. на вылавливание сигнала по прерыванию на входе не стоит надеяться, микроконтроллер навсегда зависнет в обработчике прерываний из-за шума на выходе приемника.
П.С. на вылавливание сигнала по прерыванию на входе не стоит надеяться, микроконтроллер навсегда зависнет в обработчике прерываний из-за шума на выходе приемника.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось Boroda 04 май 2016, 19:54, всего редактировалось 1 раз.
- Boroda
- Капитан
- Сообщения: 836
- Зарегистрирован: 01 май 2016, 01:04
- Откуда: Коломна
- Имя: Станислав
- Контактная информация:
Блок чтения кода радио датчиков 433 МГц.
Вот нарисовал тут пользовательский блок для приема сигнала с кодеров SC2262 или EV1527. Описание и рекомендации внутри, надеюсь Автор FLProg доработает как надо. Я, к сожалению, с AVR и СИ не дружу, всю свою сознательную жизнь кодил под ПИКи на Бейсике и АСМе.
версия FLProg 1.11.1
Оптимизировал код, обновил версию
версия FLProg 1.11.1
Оптимизировал код, обновил версию
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось Boroda 05 май 2016, 13:43, всего редактировалось 1 раз.
- Boroda
- Капитан
- Сообщения: 836
- Зарегистрирован: 01 май 2016, 01:04
- Откуда: Коломна
- Имя: Станислав
- Контактная информация:
Блок чтения кода радио датчиков 433 МГц.
Ну а эта версия СИ+FBD должна более лояльно относиться к загроможденности программы, т.к. фильтр входных импульсов выполнен на стандартных таймерах.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось Boroda 05 май 2016, 13:44, всего редактировалось 1 раз.
- Boroda
- Капитан
- Сообщения: 836
- Зарегистрирован: 01 май 2016, 01:04
- Откуда: Коломна
- Имя: Станислав
- Контактная информация:
Блок чтения кода радио датчиков 433 МГц.
Ну и еще одна версия с выходом Unsigned Long и String. Немного оптимизировал код.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось Boroda 05 май 2016, 13:45, всего редактировалось 1 раз.
- Boroda
- Капитан
- Сообщения: 836
- Зарегистрирован: 01 май 2016, 01:04
- Откуда: Коломна
- Имя: Станислав
- Контактная информация:
Блок чтения кода радио датчиков 433 МГц.
Перевел все на СИ, объединил блоки, привязал к глобальному таймеру micros(). Работает намного стабильнее. На этом, я думаю, надо закончить.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось Boroda 05 май 2016, 17:48, всего редактировалось 1 раз.
-
- Лейтенант
- Сообщения: 674
- Зарегистрирован: 10 сен 2015, 21:51
- Благодарил (а): 1 раз
- Поблагодарили: 1 раз
Блок чтения кода радио датчиков 433 МГц.
Может все это сделать на библиотеках? Может будет работать понадежней?
https://dzrmo.wordpress.com/2012....android
https://github.com/smartin....s1527.h
http://statusorel.ru/technol....ch.html
https://github.com/sui77/rc-switch
https://dzrmo.wordpress.com/2012....android
https://github.com/smartin....s1527.h
http://statusorel.ru/technol....ch.html
https://github.com/sui77/rc-switch
- Boroda
- Капитан
- Сообщения: 836
- Зарегистрирован: 01 май 2016, 01:04
- Откуда: Коломна
- Имя: Станислав
- Контактная информация:
Блок чтения кода радио датчиков 433 МГц.
Да и так хорошо работает. К библиотекам отношусь скептически, не оптимально люди-человеки иногда делают, да и Delay() очень любят использовать. Поэтому стараюсь писАть сам.
-
- Подполковник
- Сообщения: 1202
- Зарегистрирован: 14 фев 2016, 14:16
- Откуда: kazahstan
- Благодарил (а): 32 раза
- Поблагодарили: 6 раз
Блок чтения кода радио датчиков 433 МГц.
Для приема блок работает отлично ,не могли бы вы сделать блок для передачи?Boroda писал(а):Да и так хорошо работает. К библиотекам отношусь скептически, не оптимально люди-человеки иногда делают, да и Delay() очень любят использовать. Поэтому стараюсь писАть сам.
-
- Лейтенант
- Сообщения: 674
- Зарегистрирован: 10 сен 2015, 21:51
- Благодарил (а): 1 раз
- Поблагодарили: 1 раз
Блок чтения кода радио датчиков 433 МГц.
Какой датчик пробовали подключать?vovka1973 писал(а):Для приема блок работает отлично
Да было бы неплохо. Можна тогда делать беспроводные датчики и привязывать к китайским сигнализациям.vovka1973 писал(а):не могли бы вы сделать блок для передачи?
Попробовал подключить пульт от сигналки 1527. Очень плохо работает. Код отправляет в уарт через 3-4 раза, при щелканье одной кнопкой. Если щелкать четыре кнопки одна за другой с интервалом 1 сек. то тогда срабатывает через раз. Иногда с одной кнопки принимает разные значения. Ростояние пульта от приемника 40см.
Последний раз редактировалось CraCk 11 май 2016, 15:13, всего редактировалось 1 раз.
- Boroda
- Капитан
- Сообщения: 836
- Зарегистрирован: 01 май 2016, 01:04
- Откуда: Коломна
- Имя: Станислав
- Контактная информация:
Блок чтения кода радио датчиков 433 МГц.
CraCk, попробуйте нормальный приемник поставить, а не китайскую поделку с катушками за 15 рублей. Причем его надо запитать через катушку 100мкГ и поставить кондеры 100мкФ и 0,1, иначе он забивается генератором Ардуины. Нормальный приемник раскачивается со второй-пятой посылки, а китайские модули с десятой и ловят метров на 10. Да и вообще протокол 2262 и 1527 совсем никудышный. Нет преамбулы для раскачки приемника, нет контрольной суммы. Посмотрите во втором сообщении картинку - так должен выглядель нормальнай протокол (преамбула,адрес, данные,контрольная сумма). По такому принципу парнишке собирал приемник/передатчик, так он на несколько километров связь 433 кидал. Все это было сделано на PIC12F629 - аналог тини13.
Добавлено (11.05.2016, 16:34)
---------------------------------------------
И резисторы надо посмотрель частотозадающие, может длина импульсов в посылке другая. А может у Вас что-то тяжелое еще в программе крутится. К моему блоку процессор должен обращаться хотябы раз в 80-100 мкс.
Добавлено (11.05.2016, 17:10)
---------------------------------------------
Должен нормально работать с 1527 с резистором 330кОм. Дома буду, расширю диапазон принимаемых импульсов до 2,2мс.
Добавлено (11.05.2016, 16:34)
---------------------------------------------
И резисторы надо посмотрель частотозадающие, может длина импульсов в посылке другая. А может у Вас что-то тяжелое еще в программе крутится. К моему блоку процессор должен обращаться хотябы раз в 80-100 мкс.
Добавлено (11.05.2016, 17:10)
---------------------------------------------
Должен нормально работать с 1527 с резистором 330кОм. Дома буду, расширю диапазон принимаемых импульсов до 2,2мс.
Последний раз редактировалось Boroda 11 май 2016, 17:15, всего редактировалось 1 раз.
- Boroda
- Капитан
- Сообщения: 836
- Зарегистрирован: 01 май 2016, 01:04
- Откуда: Коломна
- Имя: Станислав
- Контактная информация:
Блок чтения кода радио датчиков 433 МГц.
Расширил диапазон ширины принимаемых импульсов. Должен нормально принимать сигналы с 1527 с резисторами 300..470кОм и с 2262 с резисторами 2,2..4,7МОм. Тестируйте. В архиве блок, проект FLProg_1.11.1 и тест китайского приемника (с ним работает только на расстоянии 10 см).
Добавлено (11.05.2016, 21:03)
---------------------------------------------
Модули SYN480R и SYN115 должны быть не хуже DRA887RX и DRA888TX.
DRA тут 10 комплектов за 900 рублей (самое дешевое, что нашел), ну а SYN на ebay полно.
Добавлено (11.05.2016, 21:03)
---------------------------------------------
Модули SYN480R и SYN115 должны быть не хуже DRA887RX и DRA888TX.
DRA тут 10 комплектов за 900 рублей (самое дешевое, что нашел), ну а SYN на ebay полно.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось Boroda 11 май 2016, 20:55, всего редактировалось 1 раз.
-
- Лейтенант
- Сообщения: 674
- Зарегистрирован: 10 сен 2015, 21:51
- Благодарил (а): 1 раз
- Поблагодарили: 1 раз
Блок чтения кода радио датчиков 433 МГц.
Все заработало!!! Данные цифры летят ка с пулемета) Иногда проскакивают другие цифры. Еще проблема flprog монитора, он не успевает обрабатывать такое количество данных. При отпускание кнопки на брелке. Данные в мониторе еще продолжают приходить. В IDE мониторе такого нет.Boroda
Тестируйте.
Но для домашних поделок хватитает и транзисторного приемника. И еще, блок будет работать с приемником в диапазоне 315мГц?Boroda
Нормальный приемник раскачивается со второй-пятой посылки, а китайские модули с десятой и ловят метров на 10Какая цена такой и сигнал.
А такие модули подойдут?Boroda писал(а):Модули SYN480R и SYN115 должны быть не хуже DRA887RX и DRA888TX.
http://ru.aliexpress.com/item....2060402
У меня работает на 10м без прямой видимости и без антенны. Попробуйте модную зеленую катушку покрутить, возможно частота сбита.Boroda
В архиве блок, проект FLProg_1.11.1 и тест китайского приемника (с ним работает только на расстоянии 10 см)
Вот реализация на таких приемниках радиореле.
https://www.youtube.com/watch?v=qp1SpD9vGn4
https://www.youtube.com/watch?v=R8oyZ5E3hEY
На форуме очень не хватает знатоков по радиочастотной связи знающих программирование. А автор программы не успевает за всеми хотелками пользователей. Если есть желание и время, можете реализовать в Flprog разные протоколы беспроводной передачи данных, в том числе и Rolling code?Boroda
Да и вообще протокол 2262 и 1527 совсем никудышный
Последний раз редактировалось CraCk 12 май 2016, 15:16, всего редактировалось 1 раз.
-
- Подполковник
- Сообщения: 1202
- Зарегистрирован: 14 фев 2016, 14:16
- Откуда: kazahstan
- Благодарил (а): 32 раза
- Поблагодарили: 6 раз
Блок чтения кода радио датчиков 433 МГц.
У меня работает ! Ну а как с передачей быть, кто нибудь знает?Но для домашних поделок хватитает и транзисторного приемника. И еще, блок будет работать с приемником в диапазоне 315мГц?
- Boroda
- Капитан
- Сообщения: 836
- Зарегистрирован: 01 май 2016, 01:04
- Откуда: Коломна
- Имя: Станислав
- Контактная информация:
Блок чтения кода радио датчиков 433 МГц.
Подойдут.CraCk писал(а):А такие модули подойдут?
С делаю чуть попозже.CraCk писал(а):реализовать в Flprog разные протоколы беспроводной передачи данных
Сделаю чуть попозже. Хотите датчики к какой-то системе сделать?vovka1973 писал(а):Ну а как с передачей быть, кто нибудь знает?
- Boroda
- Капитан
- Сообщения: 836
- Зарегистрирован: 01 май 2016, 01:04
- Откуда: Коломна
- Имя: Станислав
- Контактная информация:
Блок чтения кода радио датчиков 433 МГц.
Тестируйте передатчик 2262.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- Лейтенант
- Сообщения: 674
- Зарегистрирован: 10 сен 2015, 21:51
- Благодарил (а): 1 раз
- Поблагодарили: 1 раз
Блок чтения кода радио датчиков 433 МГц.
Можете по простому обяснить разницу между протоколом 2262 и 1527. Отличаються только количеством передаваемых данных?
По этих протоколах можна передавать данные от датчиков например температуру?
Ели я хочу скопировать какой нибудь датчик, я получаю данные в виде long int. После этого можно передавать цифры в блок TX прямо на сигналку?
По этих протоколах можна передавать данные от датчиков например температуру?
Ели я хочу скопировать какой нибудь датчик, я получаю данные в виде long int. После этого можно передавать цифры в блок TX прямо на сигналку?
- Boroda
- Капитан
- Сообщения: 836
- Зарегистрирован: 01 май 2016, 01:04
- Откуда: Коломна
- Имя: Станислав
- Контактная информация:
Блок чтения кода радио датчиков 433 МГц.
Вот как-то так выглядит протокол 2262/1527.
Температуру или еще какие-либо данные передать с помощью него сложно, только дискретные сигналы (сработало/не сработало). Для данных сделаю другие блоки приема/передачи на 1,2,3,4,5 интов с адресом и контрольной суммой. С помощью инта спокойно можно передавать и влажность, и температуру с точностью до двух знаков после запятой (+/-327.67). В передатчике (Float*100) -> Int, в приемнике Int->Float и результат делим на 100.
Температуру или еще какие-либо данные передать с помощью него сложно, только дискретные сигналы (сработало/не сработало). Для данных сделаю другие блоки приема/передачи на 1,2,3,4,5 интов с адресом и контрольной суммой. С помощью инта спокойно можно передавать и влажность, и температуру с точностью до двух знаков после запятой (+/-327.67). В передатчике (Float*100) -> Int, в приемнике Int->Float и результат делим на 100.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- Лейтенант
- Сообщения: 674
- Зарегистрирован: 10 сен 2015, 21:51
- Благодарил (а): 1 раз
- Поблагодарили: 1 раз
Блок чтения кода радио датчиков 433 МГц.
В вашем блоке написано что Boroda писал(а):Тестируйте передатчик 2262.
А в даташите 2262Подаваемое на вход число ULong не более 16777215 (24 бит единиц)
Так понимаю 12 бит и число не более 531441.PT2262 is a remote control encoder paired with PT2272 utilizing CMOS Technology. Itencodes data and address pins into a serial coded waveform suitable for RF or IR
modulation. PT2262 has a maximum of 12 bits of tri-state address pins providing up to
531,441 (or 312) address codes; thereby, drastically reducing any code collision and
unauthorized code scanning possibilities.
Как понимать?
Еще в примере Вы создали симметричный генератор 50мсек. Это значение моно менять, или оно разное для разных радиочастот.
- Boroda
- Капитан
- Сообщения: 836
- Зарегистрирован: 01 май 2016, 01:04
- Откуда: Коломна
- Имя: Станислав
- Контактная информация:
Блок чтения кода радио датчиков 433 МГц.
В 2262 1 бит это 2 импульса (короткий_короткий - 0, длинный_длинный - 1, короткий_длинный - F), таким образом комбинаций получается 3^12. При этом для настройки используется всего 12 ног. В 1527 один бит это 1 импульс. Я их приравнял и принимаю 24 импульса отдельно, и передаю 24 импульса отдельно, поэтому число комбинаций получается 2^24=16777215, как у 1527 с учетом битов кнопок ((2^20)*(2^4)). Генератор - период передачи посылок. У стандартного пульта 2262 период около 80мс. В моем варианте 100мс.
Последний раз редактировалось Boroda 13 май 2016, 17:14, всего редактировалось 1 раз.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 3 гостя