Страница 1 из 5

RCSwitch Ethernet gate

Добавлено: Пн июл 28, 2014 12:28 pm
Ivan
Вот моё решение
DSCN9709_1.jpg
DSCN9709_1.jpg (30.47 КБ) 30509 просмотров
Может как принимать так и передавать RCSwitch данные

Достоинства:
  • Использование готовых устройств
  • Возможность использовать совместно с системой сигнализации (готовым набором)
Недостатки:
  • Малая дальность 7-15 метров (хотя заявлено 60 на открытом, и 15 со стенами)
  • Не кодированный сигнал
  • Нет обратной связи
  • Нет подтверждения. (Некоторые устройства поэтому дают последовательность из 3 сигналов)
Проверенно и работает на: Работает с 28 июл 2014

Можно использовать следующие Ethernet модули
  • HR911105A
  • w5100
Для этого нужно раскомментировать и комментировать соответствующие Include библиотек

Подключение
СпойлерПоказать
ENC28J60/W5100
  • GND —> GND
  • 3V3 —> VCC - бывают сетевые карты +5v
  • 10 —> SS/CS/NSS
  • 11 —> MOSI/SI/MO
  • 12 —> MISO/SO/SI
  • 14 —> SCK
  • Приёмник D3 (Подключается только к выводам с внешним прерыванием)
  • Передатчик D4
    Упаковано это всё в электромонтажную коробку

    Также работает на Arduino ProMini - но уже на пределе из-за памяти
    Рекомендуется перешить плату в optiboot т.к. вешалась раз в 2 дня по причине не ответа головного контролера raspberry

    Исходники: https://github.com/Shagrat2/RCSwitchGate.git

    Подключение MajorDomo
    Приём кодов:
    1. Создать скрипт "RCSwitch"
      СпойлерПоказать

      Код: Выделить всё

      $id=$params['rcswitch'];
      
      // RCSwitch movment sensors
      $obj = getObject($id);
      if ($obj){
        sg($id.".status", 1);
        clearTimeOut($id.'_move');
        setTimeOut("$id._move","sg(\"$id.status\",0);", 20);
        exit;
      }
      
      DebMes("Unknown RCSwitch signal: $id"); 
    2. Создать объект с названием датчика. Например "3257866-24bit-P1". У которого будет меняться свойство Status
    [/list][/list]

    Формат приёма:

    Код: Выделить всё

    [ID]-[IDBITS]bit-P1
    Где: ID - код устройства, IDBITS - битовый протокол
    Пример: 3257866-24bit-P1[/indent]
    Формат передачи:

    Код: Выделить всё

    Осуществляется по url адресу http://[RcGWIP]/?RCSwitch,[ID],[IDBITS]
    Где: RCGWIP - адрес устройства; ID - код устройства, IDBITS - битовый протокол
    Пример: http://10.9.0.250/?RCSwitch,3257866,24          
    Более сложное взаимодействие с объектами, можно увидеть у меня в Connect

    Фото готового устройства
    СпойлерПоказать
    20141006_114813[1].jpg
    20141006_114813[1].jpg (1.62 МБ) 30085 просмотров
    20141006_114933[1].jpg
    20141006_114933[1].jpg (1.25 МБ) 30085 просмотров
    20141006_114943[1].jpg
    20141006_114943[1].jpg (1.29 МБ) 30085 просмотров

    Re: RCSwitch Ethernet gate

    Добавлено: Пн авг 18, 2014 1:04 pm
    Ivan
    Новое:
    • Проект выложен на GitHub
    Добавлено:
    • Повтор команды 3 раза

    Re: RCSwitch Ethernet gate

    Добавлено: Вт сен 09, 2014 6:44 am
    Pooh
    Ivan писал(а):..Кому интересна конфигурация в МД напишите отпишусь ниже..
    Очень интересно! Жду пример реализации! Спасибо!

    Re: RCSwitch Ethernet gate

    Добавлено: Вт сен 09, 2014 6:52 am
    Ivan
    Всё в исходниках

    Кроме ого вида в коробке

    Re: RCSwitch Ethernet gate

    Добавлено: Вт сен 23, 2014 11:50 am
    sergejey
    Попытался в подобный гейт поставить два приёмника -- на D2 на 433Mhz и на D3 на 315Mhz и нифига не получилось :(
    Похоже, RCSwitch не может работать с двумя приёмниками одновременно, т.к. если комментирую в коде блоки отвечающие за приём одного или второго приёмника (не трогая железо), то всё работает, но два одновременно никак -- данные получает только один. Жалко, придётся второй приёмник заводить в отдельный гейт.
    Так сказать, информация к размышлению.

    Re: RCSwitch Ethernet gate

    Добавлено: Вт сен 23, 2014 2:51 pm
    Ivan
    Я уже думал на эту тему. Там не получится. т.к. RC библиотека использует выход на которой можно делать прерывания. Чтобы не упустить сигнал. Есть варианты использовать 2 ногу прерывания, но нужно пробовать

    Re: RCSwitch Ethernet gate

    Добавлено: Вт сен 23, 2014 3:22 pm
    sergejey
    Ivan писал(а):Я уже думал на эту тему. Там не получится. т.к. RC библиотека использует выход на которой можно делать прерывания. Чтобы не упустить сигнал. Есть варианты использовать 2 ногу прерывания, но нужно пробовать
    Не получится, дело не в прерывании. У меня оба приёмника висят на ногах, которые поддерживают прерывания (D2 = Interrupt 0, D3 = Interrupt 1). Сама библиотека сделана так, что не поддерживает несколько экземпляров приёмников.

    Re: RCSwitch Ethernet gate

    Добавлено: Вт сен 23, 2014 3:44 pm
    Ivan
    Придётся делать в устройства.

    Я на RF2.4 буду делать отдельное устройство

    А ещё у меня 2 приёмника/передатчика 433. Один на 1 этаже, 2 на втором

    Re: RCSwitch Ethernet gate

    Добавлено: Пн окт 06, 2014 12:24 pm
    Ivan
    Добавил описание

    Re: RCSwitch Ethernet gate

    Добавлено: Пн ноя 10, 2014 7:54 pm
    CimVit
    Люди добрые. Прошу совета, я новичок в этом деле но почитав ваш форум загорелся идеей начал подбирать железо у китайцев вот хочу знать ваше мнение
    Nettop
    http://ru.aliexpress.com/item/New-Fanle ... 36759.html

    RF-module для управления 433mhz
    http://ru.aliexpress.com/item/SV613-100 ... 90068.html
    С Arduino пока не знаком для меня это пока темный лес
    Но в дальнейшем хотел бы освоить. Посоветуйте где можно ознакомиться что да как на самом простейшем уровне, какую нибудь програму для програмирование на визуальном уровне может даже на русском языке.
    С nettop ом все понятно, а вот с RF модуль подойдет ли он и вообще то ли это что нужно