Беспроводные датчики и модуль связи на 433МГц

Тема в разделе "Проводная и беспроводная связь", создана пользователем X-Dron, 10 янв 2015.

  1. X-Dron

    X-Dron Гик

    Хочу сделать систему дачной автоматизации. Задумывается, что будет работать в двух режимах:
    1. включать на определенное время освещение в темное время суток.
    2. работать в режиме охранной сигнализации.
    Переключение режимов хочется сделать по беспроводке, и датчики движения тоже хочу сделать беспроводными. Была идея использовать hc-sr501, но их нужно 2-3 и разнесены датчики от модуля управления должны быть на 5-10м. Делать и питание датчика и сигнал с него на 5В и передавать этот потенциал на указанное количество метров мне кажется не надежным, может переубедите.

    Для реализации нашел такие китайские поделки:
    Беспроводной датчик движение.
    http://www.aliexpress.com/item/Wire...System-Security-Free-Shipping/1630969980.html
    Не надо заморачиваться с корпусом датчика, теоретически это автономное устройство работающее на батарейке. Но мне нужно ставить вне помещения. В зимнее время батарея прикажет долго жить, поэтому собираюсь запитать 12-ю вольтами, а батарею выкинуть.
    Беспроводной переключатель режимов
    http://www.aliexpress.com/item/Wire...mote-Controller-Free-Shipping/1631445533.html
    И то и другое работает на 433MHZ.
    К Аrduino в модуле управления собираюсь подключить приемник-передатчик для 433MHZ на nRF905.
    http://www.aliexpress.com/item/NRF9...SE-Free-Shipping-Dropshipping/1144861717.html
    Библиотека для nRF905
    https://github.com/zkemble/nRF905/tree/master/arduino/nRF905
    Внимание, вопрос. Поймут ли эти устройства друг друга. Частота частотой, а вот протоколы могут быть разными. Или достаточно организовать прослушку эфира при передаче сообщения от датчика.
     
  2. altex

    altex Гик

    В целом это должно заработать, но есть несколько узких мест
    С точки зрения информационной безопасности эти приёмопередатчики не подойдут для "охранной сигнализации", так как данные никак не шифруются.
    И с точки зрения пожарной и электрической безопасности не понятно как вы хотите "запитать 12-ю вольтами" если нужно ставить вне помещения в зимнее время.
     
  3. X-Dron

    X-Dron Гик

    Спасибо за ответ.
    Немного сарказма.
    Странно, что указав на информационную, электрическую и пожарную безопасность не упомянули антивандальную защиту. Срубить топором или фомкой датчик движения намного проще, чем заниматься взломом беспроводной сети.
    Целью "охранки" - отпугнуть непрошенных посетителей. Два года назад вынесли весь алюминий. Холодильник не унесл, а раскурочили, выломав холодильную камеру и трубки. В прошлом году лишился 2-х велосипедов и некоторых инструментов. Все находилось под замками, но было взломано. Залезают чаще всего "гости" из южных республик. Включение света, а через минуту сирены может оказаться психологическим фактором. Возможно, привлечет сторожа. Хоть какая-то защита.
    У китайцев сделаны комплекты "охранных" систем на таких датчиках. Вот пример:
    http://www.aliexpress.com/item/New-...Dialer-DHL-Dropship-Promotion/1026460182.html
    За $90 основной блок с GSM-модулем и системой автонабора номера по телефонной сети. 5 беспроводных датчиков движение, 14 беспроводных датчиков открытия окон и дверей, 4 ключа.
    Для охраны банка это естественно не годится, но для простой квартиры на первых этажах можно подумать. Не надо опутывать все проводами.

    Стал копаться дальше. Для передачи дискретных сигналов по беспроводке там используется кодирование по протоколу pt2262/pt2272.
    Нашел интересную статью по этому поводу
    https://dzrmo.wordpress.com/2012/07/08/remote-control-pt2272-for-android/
    Там советуют пользоваться библиотекой.
    https://code.google.com/p/rc-switch/
    По поводу пожарной и электрической безопасности действительно есть нюансы.
    Запитать датчики 12В по двух-проводке не проблема. Они будут стоять под навесами и влага на них попадать не будет. Плюс будут запитываться через 100-миллиамперные предохранители (максимальный ток в режиме передачи 15мА).
    Проблема в 12В лампочках, которые собирался ставить на освещение. Они тоже должны стоять на улице. И для них как раз трудно найти плафон с нужным IP по защите. Стал смотреть в сторону светодиодных ламп и чуть плохо не стало от ценника. 12-ти вольтовые только на 10Ватт. Маловато будет.
    Пока остановился на
    http://www.aliexpress.com/store/pro...amp-Outdoor-Waterproof/537091_1331134653.html
    20Ватт, 220В. На 2 лампы $40 (2500руб). Это будет чуть ли не половина всего бюджета.
    Все-таки, наверное проще взять НПП-48 и обыкновенные лампы накаливания на 40Ватт.
    http://www.elec.ru/market/Svetilniki-NPP-48-1h60-ovalnoj-formy-14938098842.html
     
    Последнее редактирование: 11 янв 2015
  4. X-Dron

    X-Dron Гик

    Не буду создавать новую тему.
    Теперь вопрос по беспроводным реле. типа такого
    http://www.aliexpress.com/item/AK-R...ontrol-Switch-System-315-MHz/32230602590.html
    Кто-нибудь пробовал?
    Есть идея подключить его через ZF-3 к Arduino. Но пока есть сомнения в том, что будет работать как мне надо.
    Вещь на самом деле очень прикольная.
    В комплект входит ключ с 4-мя кнопками и коробка с беспроводными реле. Все работает на частотах 315МГц/433МГц с кодированием 2262,1527 или похожим. (библиотека RC-Switch работает с чипами SC5262 / SC5272, HX2262 / HX2272, PT2262 / PT2272, EV1527, RT1527, FP1527 or HS1527).
    Меня интересует режим работы JOG - нажал клавишу - реле замкнулось, отпустил - разомкнулось.
    А что будет, если в этом режиме нажать 2 клавиши, сработают ли два реле???
    Теоретически, по спецификации кодировки 2262 это возможно. Последние 8 байт посылки содержат состояние 4-х каналов дискретных данных.
    Все инструкции по обучению какие-то убогие: нажал клавишу обучения, загорелся индикатор, нажал кнопку на пульте. Индикатор мигнет 3 раза, обучение закончено.
    А как назначить определенную кнопку на определенное реле?
    У кого-нибудь был опыт?
     
  5. kolosvl

    kolosvl Нуб

    Господа! Не буду создавать новую тему... Проконсультируйте по беспроводным модулям связи на 433 Мгц (http://amperka.ru/product/rf-433-transmitter). Конструирую на дачу автоматику которая заполнят накопительную бочку водопровода при ее опустошении, включая насос находящийся на расстоянии около 80 метров (у насоса электричество есть, информационный провод тянуть не хочется). Хотел поставить две ардуины с модулями связи. Одна ардуина отслеживает уровень воды по инфрокрасному датчику, вторая включает насос. Правильно ли я понимаю что модуль связи может передать логическую единицу на расстояние (т.е. когда первая ардуина отправляет на определенный порт к которому подключен передатчик логическую единицу, вторая ардуина с приемником через определенный пин эту единицу может получить)?
     
  6. geher

    geher Гуру

    В теории оно так, но в силу наличия радиопомех (а данный диапазон достаточно зашумлен) могут возникнуть проблемы с детекцией этой единицей на принимающем конце. А потому для надежности связи придется делать какой-нибудь помехоустойчивый протокол или делать команды достаточно избыточными, чтобы можно было бы их определить в условиях помех.
     
    Последнее редактирование: 18 янв 2015
  7. kolosvl

    kolosvl Нуб

    Уточню (возможно вопрос глупый)... При идеальном варианте после перехода первой андруины из 0 в 1 на второй андруине я буду видеть 1? Или на второй андруине будет краткосрочный скачек из 0 в 1 в момент перехода?

    Хотел когда насос надо включать заслать это единицу в виде константы в эфир, а на второй андруине эту единицу принимать (например если 3 сек. единица продержалась в эфире то пора включаться, 3 сек. единицы не было - пора выключаться)...
     
  8. geher

    geher Гуру

    Если я правильно понимаю работу данных приемника и передатчика, то они работают по принципу 1 - есть несущая, 0 - нет несущей. Соответственно, в идеальных условиях установленная на одном конце единица будет все время приниматься на другом конце. Вопрос лишь в том, как на это дело могут влиять помехи, как на помехи отреагирует приемник, не возникнет ли помеха, которая будет интерпретирована приемником как единица длительностью три секунды.
    Наверное, лучше в таком случае передавать не единицу, а меандр с заданной длиной импульсов и пауз, которому "прощать" небольшие нарушения вроде пропуска, изменения длительности, прерывания на время, существенно меньшее собственной длины, или небольшого запаздывания одного-двух-трех импульсов.
     
    Последнее редактирование: 18 янв 2015
  9. упускается один момент, как это принимать, приемник не дает 1 строго когда передатчик включает 1, там помехи, от чего приемник шлет в порт всякий мусор, есть регулировка усиления, и если там будет слишком долго 1, то через время она пропадет и тд.
     
    Последнее редактирование: 18 янв 2015
  10. altex

    altex Гик

    Этот передатчик (и соответствующий ему приёмник) не передают состояние (логическую 1 или 0), а передают изменение состояния (переход от 1 к 0 или наоборот). И да, работать можно с пинами, читая или записывая значение в пин, и представлять себе, что две ардуины соединены одним пином друг с другом проводом (грубое описание, сильно упрощённое, чтобы проще было представить).
    Для работы с этими приёмопередатчиками хорошо подходит библитека
    http://www.airspayce.com/mikem/arduino/VirtualWire/

    Но для вашей задачи было бы не правильно работать с такими приёмопередатчиками, так как никакой информационной защиты эти приёмопередатчики не предоставляют. Вариант - самостоятельно реализовывать протокол шифрования, но это может оказаться сложнее, чем потратить тоже самое время, чтобы заработать на более дорогой приёмопередатчик с уже реализованной защитой.
     
    Последнее редактирование: 18 янв 2015
  11. kolosvl

    kolosvl Нуб

    Господа! Спасибо за разъяснения...
    К сожалению X Bее для чайников, в частности для меня, несколько сложен.
    Наверно придется начать с меандра и изучения данной библиотеки...
    Думаю в сельской местности приколистов, которые захотят повторить меандр определенной частоты, не найдется....
     
  12. X-Dron

    X-Dron Гик

    Частота 315/433МГц это всего лишь среда передачи данных. Для того, чтобы что-то передать используются протоколы передачи данных. Их существует большое количество. В данном диапазоне частот наиболее распространена передача данных по протоколам 2262/2272, 1527. Изначально это "аппаратное" кодирование передачи битовых данных. Максимально можно передать 6 бит при адресном пространстве устройств 3^6=729. Чаще всего используется передача 4 бит сигналов при адресном пространстве устройств 3^8=6561. Каждое сообщение передается источником 4 раза. Приемник должен получить минимум 2 одинаковых пакета, чтобы воспринять данные. Передатчик может слать посылки постоянно при установке одного из сигналов данных в 1, а может послать только одну серию пакетов при изменении состояния сигналов. Приемники тоже бывают разные. В "древние времена" все зависело от суффикса используемой микросхемы (M4, L4 и т.д)
    Если хотите погрузиться в эту хренотень глубже, то читайте статью
    https://dzrmo.wordpress.com/2012/07/08/remote-control-pt2272-for-android/
    Вопрос к старожилам. :) В статье есть утверждение
    Как связано Decimal и Binary понятно, думаю любому. А вот почему эти значения эквивалентны "Tri-State" коду? Я ломал над этим голову пару часов. :)

    Если статья не осилена, то рассматривать вопрос о написании собственного протокола, тем более криптованного нет никакого смысла.

    Далее по теме.
    Связать 2 ардуино по протоколу 2262/2272 можно вообще не задумываясь о библиотеках передачи данных.
    На ардуино-передатчик ставится плата 315/433МГц со встроенным энкодером и фиксированным адресом. Входы D0...D3 цепляются на выхода контроллера. И работают с ними как с обыкновенными выходами. Типа такого
    http://www.dx.com/p/tdl-9902-315mhz...ping&utm_medium=pcs&utm_campaign=myshoppingau.
    На ардуино-приемнике ставится плата плата 315/433МГц со встроенным декодером и обучаемым адресом. Выходы D0...D3 цепляются на входа контроллера. И работают с ними как с обыкновенными входами.

    На самом деле в вашем случае все еще намного проще. Достаточно одного контроллера. На стороне насоса он не нужен. Заказывается беспроводное реле. Типа такого
    http://www.aliexpress.com/item/Remo...-220V-1CH-10A-Relay-Receiver/32254454227.html
    http://www.aliexpress.com/item/New-...-remote-control-315mhz-433mhz/2041812773.html
    Существуют и на 12В. Главное чтобы в брелке было 2 кнопки, а на реле Interlock-режим. Одна команда на включение, одна на выключение. Основная засада - дальность передачи комплекта. В брелке малое напряжение запитывающее схему. Пишут о 100метрах, но добавляют, что теоретически. На ардуино цепляется передатчик типа MX-05. Его лучше запитывать от 12B. Если ардуино запитан от 12V, то передатчик можно посадить на Vin контроллера. В этом случае говорят о 200М передачи.
    Короче, пока не попробуешь, не узнаешь.
    Диапазон 315МГц менее зашумлен, лучше отдать предпочтение ему.
    Пока идут посылки изучаем канал Дмитрия Осипова по удаленному управлению устройствами
    http://www.youtube.com/playlist?list=PLcBEB0EOlNqXvJgI_wbhaAG9g8zjVefJx
     
    Последнее редактирование: 18 янв 2015
  13. kolosvl

    kolosvl Нуб

    Что-то меня радиомодули после прочтения раздела ввели в уныние....

    О беспроводных реле... Разбирать пульты очень не хочется... Нашел хорошую штуковину от фирмы Teleco ...

    http://www.smartron.ru/katalog/smar...modul-relejnyj-rozetochnyj-vypolnjaet-komandy

    http://www.smartron.ru/katalog/smar...rannoe/datchik-magnitno-kontaktnyj-radio-8681

    Все замечательно (кроме 3 вольт в датчике контакта) .. но цена !!!!!
    Может кто знает китайские аналоги?
     
  14. X-Dron

    X-Dron Гик

    На самом деле все просто.
    Пульты разбирать не надо, они только источник кода для кнопок. Считал коды, потом посылаешь их же через передатчик.
    Понадобится только беспроводное реле, передатчик MX-05, приемник для считывания кода. В сумме ~$12-15.
    Смотрите видео Осипова, там все разжевано и тексты скетчей есть.

    Teleco использует частоту 868.1 МГц, их сложнее подключить к ардуино. Если бы были на 433, то я на 99% сказал бы, что это тоже самое беспроводное реле, засунутое в корпус.
     
    Последнее редактирование: 20 янв 2015