Для начала работы с контроллером Broadlink RM2 Pro его необходимо подключить к беспроводной сети.
Для этого сначала установите официальное приложение e-Control на мобильное устройство по управлением Android или iOS.
Последовательность подключения очень простая:
Если подключится не удалось, используйте кнопку сброса на устройстве и повторите последовательность.
Следующий шаг - подготовка программного обеспечения на компьютере Raspberry Pi для взаимодействия с контроллером Broadlink RM2 Pro. Для этого мы напишем несколько скриптов на языке программирования Python с использованием подключаемых библиотек.
Установим необходимые пакеты.
$ sudo apt-get install python-setuptools python-dev
Создадим рабочие каталоги.
$ sudo mkdir /opt/broadlink $ sudo mkdir /opt/broadlink/code $ cd /opt/broadlink
Производим установку подключаемых библиотек.
$ sudo easy_install broadlink $ sudo easy_install pycrypto
Создадим скрипт получения показаний встроенного датчика температуры контроллера Broadlink RM2 Pro.
$ sudo nano temp.py
#!/usr/bin/python import broadlink devices = broadlink.rm(host=("10.0.1.30",80), mac=bytearray.fromhex("B4430DEEED15")) devices.auth() print devices.check_temperature()
Сохраняем скрипт и сделаем его исполняемым.
$ sudo chmod +x temp.py
Пробуем выполнить скрипт.
$ ./temp.py
В случае успешного исполнения мы увидим показания датчика температуры контроллера.
Создадим скрипт для получения управляющих кодов.
$ sudo nano learn.py
#!/usr/bin/python # -*- coding: utf-8 -*- import broadlink import time import sys device = broadlink.rm(host=("10.0.1.30",80), mac=bytearray.fromhex("B4430DEEED15")) device.auth() codeName = raw_input("Введите имя кода: ") time.sleep(1) print "Нажмите кнопку на пульте дистанционного управления в течение 5 секунд." device.host device.enter_learning() time.sleep(5) ir_packet = device.check_data() myhex = str(ir_packet).encode('hex'); if ir_packet == None: print "Код кнопки не считан. Попробуйте еще раз." sys.exit() else: f = open("code/"+ codeName +".txt",'w') f.write(myhex) f.close() print "Код считан и сохранен в файле " + codeName + ".txt"
Сохраняем скрипт и сделаем его исполняемым.
$ sudo chmod +x learn.py
Запускаем скрипт. После запуска скрипт попросит ввести имя файла для сохранения кода, для примера вводим rm_a. После нажатия клавиши Enter контроллер перейдет в режим обучения на 5 секунд (загорится оранжевый светодиод), в это время необходимо нажать кнопку пульта (в нашем случае кнопку «А» беспроводного пульта Livolo). В случае успешного чтения кода кнопки контроллер выйдет из режима обучения, а код будет сохранен в файл code/rm_a.txt
Теперь нам необходим скрипт для передачи управляющих кодов.
$ sudo nano send.py
#!/usr/bin/python import broadlink import time import sys try: fileName = sys.argv[1] except IndexError: fileName = 'null' if fileName == 'null': sys.exit() else: device = broadlink.rm(host=("10.0.1.30",80), mac=bytearray.fromhex("B4430DEEED15")) device.auth() device.host file = open(fileName, 'r') myhex = file.read() device.send_data(myhex.decode('hex'))
Если код кнопки уже привязан к выключателю мы можем выполнить проверку работы скрипта.
# ./send.py code/rm_a.txt
Шаг 2.1. OpenHAB 1.8 | Шаг 2.2. OpenHAB 2 | Шаг 4. Выключатель Livolo
Открой свой бизнес! | Рецепты жидкостей для парения! | Best mobile Wallpapers! | Linux certification!