#概要
自宅のIoT化のためRM mini 3をRaspberry Piで操作できるように設定
将来的には時間や室内温度等に応じて操作できるよう設定したい。
#実施環境
MCU:Raspberry Pi 3B
OS:Raspberry Pi OS(buster 2020-8-20)
リモコン:RM mini 3
#参考サイト
https://www.taneyats.com/entry/rm_mini3_on_raspberrypi
https://vogel.at.webry.info/201805/article_9.html
#Raspberry Piの初期設定
省略
OSインストール、初期設定、aptのパッケージ更新まで実施
#RM mini 3をネットワークに接続する
省略
#python-broadlinkの設定
###python-broadlinkのインストール
・必要なライブラリのインストール
・python-broadlinkをGithubからクローン
・インストール
参考サイトではpython2を使ってsetup.py
を実行していたが、最新のものはpython3を使って実行しないと構文エラーとなった。
※2021/9/9追記
・apt実行時に「パッケージpipがありません」等と表示された場合は「pip --version」と入力、
「pip from ~~~」とバージョンが表示された場合は既にインストール済み。
・broadlink等のインストール時にもpython3であることを明示するために「pip3」に変更。
$ cd ~
$ sudo apt install git pip
$ sudo pip3 install broadlink configparser netaddr
$ git clone https://github.com/mjg59/python-broadlink.git
$ cd python-broadlink
$ sudo python3 setup.py install
###動作確認
下記のように表示されれば動作OK
※IPアドレスは"XX"に差し替え
$ cd cli
$ ./broadlink_discovery
Discovering...
###########################################
RMMINI
# broadlink_cli --type 0x2737 --host XXX.XXX.XXX.XXX --mac 34ea348a36f8
Device file data (to be used with --device @filename in broadlink_cli) :
0x2737 XXX.XXX.XXX.XXX 34ea348a36f8
#broadlink_cliを使って実行
###製品情報の確認と保存
※IPアドレスは"XX",MACアドレスは"YY"に差し替え
$ ./broadlink_discovery
Discovering...
###########################################
RMMINI
# broadlink_cli --type 0x2737 --host XXX.XXX.XXX.XXX --mac 34ea348a36f8
Device file data (to be used with --device @filename in broadlink_cli) :
0x2737 XXX.XXX.XXX.XXX 34ea348a36f8
$ ls
README.md broadlink_cli broadlink_discovery
$ echo '0x2737 XXX.XXX.XXX.XXX 34ea348a36f8' > device
$ cat device
0x27c2 XXX.XXX.XXX.XXX 34ea348a36f8
###信号をファイルに記録する
信号を保存するファイル名はZZZZに差し替え
$ ./broadlink_cli --device @device --learnfile ZZZZ
Learning...
(リモコンをRM mini3に向けて、リモコンのボタンを押す)
Saving to ZZZZ
$ cat ZZZZ
2600600000012493121311141114113811381238111411381114121311141114111411141212121312381114113811381139111411131238111411381114111411141138113812131100059f0001244b11000c3b0001244b11000c3c0001234b11000d050000000000000000
###ファイルから信号を読み取って送信
ファイル名はZZZZに差し替え
$ ./broadlink_cli --device @device --send @ZZZZ
#BlackBeanControlを使って実行(作成中)
###BlackBeanControlのインストールと設定
・必要なライブラリのインストール
・BlackBeanControlをGithubからクローン
・BlackBeanControlの設定ファイルを開く
$ sudo apt install python2.7-dev
$ sudo pip2 install broadlink
$ git clone https://github.com/davorf/BlackBeanControl.git
$ nano BlackBeanControl/BlackBeanControl.ini
RM mini3の情報を設定
※IPアドレスとMACアドレスは前項の./broadlink_discovery
で調べた値を入力
[General]
IPAddress = XXX.XXX.XXX.XXX
Port = 80
MACAddress = 34:ea:34:8a:36:f8
Timeout = 10
[Commands]
###リモコンの登録
下記のコマンドを実行することでBlackBeanControl.ini
にコマンドが登録される
※python-broadlinkとは異なり、リモコンのボタンを押しても5秒経過するまで信号を待ち続ける(設定ファイルでTimeout=5と設定した場合)
$ python2 BlackBeanControl/BlackBeanControl.py -c コマンド名
※下記のエラーが出た場合はpip2でbroadlinkを再インストールする
Traceback (most recent call last):
File "BlackBeanControl/BlackBeanControl.py", line 3, in <module>
import broadlink, configparser
ImportError: No module named broadlink
$ sudo pip2 install broadlink