rf_gpio
Презентация
rf_gpio Имитация RFLink с передатчиком и приемником, подключенным непосредственно к порту GPIO raspberry pi.
Установка:
cd /home/pi
git clone https://github.com/jmichault/rf_gpio.git
cd rf_gpio
sudo cp -p rf_gpio.sh /etc/init.d
sudo update-rc.d rf_gpio.sh defaults
sudo service rf_gpio.sh start
Подключите приемник к gpio2 bcm27 ( PIN-код 13 )
Подключите передатчик к gpio0 bcm17 ( PIN-код 11 )
Используйте с domoticz :
Добавьте материал типа «RFLink Gateway with LAN interface»
Удаленный адрес: 127.0.0.1
Порт: 10000
Если аппаратное обеспечение распознается, интеграция с domoticz проста: достаточно использовать “ автоматическое обнаружение “ на вкладке “ “, или активировать Опция “ разрешается 5 минут “
Проверены трансиверы:
-
Китайская передача с реактором реактора ( ASIN = B00Z9SZNP0, MX-05V + MX-FS-03V ), рассматривается в Amazon при 1 евро.
Передатчик в порядке, но приемник очень низкий (диапазон около 4 м), для использования только для учебных кодов.
-
WL101-341 + WL102-341, супергеротедин 433 МГц, видимый на Aliexpress при 1 евро.
Приемник имеет лучшую чувствительность, чем предыдущий.
Примечание. Для хороших результатов получатель должен быть защищен от вредителей, выданных raspberry-pi. Для тестирования вы можете использовать алюминиевое пальто на листе бумаги, сложенного пополам.
Признанные материалы:
был успешно проверен:
-
Возьмите KYG (_ ASIN: B07DPVWW1 _ , отмечен Intertek, представления amazon)( подтверждены как «Impuls»)
-
Термометр-гигометр Aneng ( Китайская низкая стоимость, с ЖК-экраном, просмотрена на aliexpress. )
-
Термометр-гигометр Digoo RG-8B ( Китайская низкая стоимость, без экрана, просмотрена на aliexpress. )
Другие датчики предопределены в датчиках. Дини, но не были проверены.
Чтобы добавить новый датчик:
Протокол передачи данных и формат данных должен быть идентифицирован.
Опция 1:
Следуйте по выходу из РЧ_gpio, soit en le lançant dans une fenêtre shell, soit en s’y connectant avec la commande «telnet 127.0.0.1 10000».
Когда датчик отправляет данные, и протокол передачи признан, вы увидите то, что выглядит так:
20; 00; P0102, BITS = 36, D0 = 529, D1 = 949, D2 = 1926, DS = 3865; binare = 011100110000100000, hex = 7300d8f20;
20; = Любая рамка выбросов RFLINK начинается так.
00; = Первая структура опубликована.
p0102, биты = 36, d0 = 529, d1 = 949, d2 = 1926, ds = 3865 = Rf _gpio a identifié un protocole du type :
бит 0 = d0 d1
бит 1 = d0 d2
36 Биты данных
Длительность d0 = 520 мкс
Длительность d1 = 957 мкс
Длительность D2 = 1936 мкс
Синхронная длительность DS = 3881 мкс Duuma = 0111001100000000100000, Hex = 7300D8F20; : Данные, полученные в двоичной и Hexa.
Вариант 2:
Беги в коре:
./Analyzi
и нажмите кнопку на пульте дистанционного управления или дождитесь отправки датчика. Если протокол распознан, мы видим что-то подобное:
73 Практический протокол: “ XXX; P0001, биты = 36, D0 = 689, D1 = 1923, DS = 3890; ID: B1-B36 “
Двоичные данные: 0111001100000011011000110010000000
Данные Hexa: 7300D8F20
Теперь вам нужно проанализировать двоичные данные для определения значения каждого элемента.
Затем вы можете добавить строку в файле Dentilos.ini, каждая строка состоит из трех элементов, разделенных запятой:
-
Первый элемент: имя оборудования. Внимание, если это переключатель, он должен быть частью списка элементов, распознаваемых domoticz.
-
Второй элемент: протокол. Скопируйте то, что отображается РФ_gpio ou analizo.
Пример: P0102, BITS = 36, D0 = 561, D1 = 1899, D2 = 3845, DS = 9158
Средства: протокол P0102 (бит 0 = d0 d1, бит 1 = d0 d2), 36 бит по раме, длительностью d0 = 561 μs, длительность d1 = 1899 мкс, длительность d2 = 3845 мкс, длительность синхронизации ds = 9158 мкс
Протокол, биты, D0 и D1 и D1, используются для дифференцируемых устройств. -
Третий элемент: описание данных, каждое поле отделяется от других Coma
Пример для многоканального пульта дистанционного управления, ID: ID: B1-20, CMD: B21-21, Смежьте: B22-24
ID: B1-20 означает, что идентификатор пульта дистанционного управления находится в битах от 1 до 20 ( Bit 1 = первый бит, доставленный CMD: B21-21 означает Ударимая команда ( ON / OFF ) находится в ILO 21.
Изменение: B22-24 означает, что количество управляемого разъема расположена на битах 22 до 24.
быть подтвержденным domoticz, имя поля должно быть в распознанном списке ( см. Sensules.txt ). Тем не менее, мы можем поставить то, что мы хотим, просто поле будет игнорироваться domoticz.
Есть несколько битовых люксов, например: CMD: B17-17: B15-15: B16-16 объединяет биты 17 и 16 в этом порядке.
Значение определенных битов можно проверить, например: CST2: B43-48 = 1 подтвердит, что биты 43 48 содержат значение 1 (в приеме и влияют на эти части в распределении , CST2: B43-48! 1 Подтвердите, что биты 438 не содержат значения 1 (, шестнадцатеричные) в приеме.
Мы можем объявить BCD-кодированные поля ( Десятичная кодировка двоичного двоина ) : поставить B вместо б. Пример: Temp: B12-15: B16-19: B20-23 объявляет поле температуры, первое число которого является битам 12-15, второе на биты от 16 до 20 и третий на битах 21 до 23.
Поле, отделка с “ -inv “ - это специальное поле, которое примет обратный ( дополнение к одному ) его гомонистому полю в шоу.
Вы можете назначить значение поля, которое не обнаружено в данных на “=”. Пример: cmd = on
Простые расчеты могут быть сделаны: добавление, умножение и вычитание возможны ( в этом правильном порядке ), константы находятся в шестнадцатеричном порядке.
Пример для преобразования в десятых данных ° C, которые находятся в десятых долях ° F + 900:
TEMP: B17-28 + -4C4 * 5/9 ( так: Данные finale = (donnée Животное -1220 ) * 5/9 )
При получении все строки, которые удовлетворяют условию, создадут строку, если вы хотите избежать ложных поставок, вы можете начать или удалить строки, которые не соответствуют вашему оборудованию.
О нас будет использоваться только первая строка с правильным названием оборудования.
Если протокол не распознан, вы можете использовать для анализа, чтобы изучить его, увеличивая его глагол с опцией -V, -VV или -VV. Но РФ_gpio ne pourra pas le reconnaitre sans développement supplémentaire.
Поддерживаемые протоколы:
Только протоколы с по крайней мере следующие функции имеют шанс быть распознан:
-
Время пульсированного всегда > 100 мкс
-
Не более трех разных продолжений для представления данных.
-
Каждая часть кодируется двумя импульсами, всегда таким же образом.
-
Каждый кадр окружен двумя сигналами синхронизации времени >2500 мкс.
-
Рамка не содержит более 200 импульсов.
В шоу роторные коды и количество подтверждения не вводится.