Для начала работы с контроллером 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!