以前はBlackBeanControlなどにPython2が必要だったのが、
Python3だけで使えるようになったのでセットアップメモ
環境
Ubuntu 22.04
Python 3.10.4
RM mini 3
Raspberry Piでも確認
Kernel version: 5.15
Debian version: 11 (bullseye)
Python 3.9.2
前提
既にRM mini 3がネットワークに繋がっていること。
python-broadlinkインストール
pipでpython-broadlinkをインストール
sudo apt install git pip
pip3 install broadlink
必須ではないがテスト用にcliを取ってくる
cd
git clone https://github.com/mjg59/python-broadlink.git
cd python-broadlink/cli
動作確認
こんな感じでRMMINIが見つかればOKです。
$ ./broadlink_discovery
Discovering...
###########################################
RMMINI
# broadlink_cli --type 0x2737 --host 192.168.0.xxx --mac 34ea34xxxxxx
Device file data (to be used with --device @filename in broadlink_cli) :
0x2737 192.168.0.xxx 34ea34xxxxxx
BlackBeanControlインストール
gitに書いている方法そのまま
cd
git clone https://github.com/TheGU/rm3_mini_controller.git
cd rm3_mini_controller
pip install -r requirements.txt
動作確認
こちらも同じくDeviceが見つかればOKです。
$ python3 test_run.py
Scanning network for Broadlink devices (5s timeout) ...
Found 1 broadlink device(s)
Device 1:
IPAddress = 192.168.0.xxx
Port = 80
MACAddress = 34:ea:34:xx:xx:xx
enter_learning (5s timeout) please press any key on remote to test
Check data
RM3 not receive any remote command
設定
上記のDevice情報を元に、iniファイルを修正する
・IPAddress、MACAddressを追記
vim BlackBeanControl.ini
[General]
IPAddress = 192.168.0.xxx
Port = 80
MACAddress = 34:ea:34:xx:xx:xx
Timeout = 3
[Commands]
リモコンの登録とテスト
python3 BlackBeanControl.py -c test_comm
※ここで登録したいリモコンのボタンを押す
※RM mini3が反応すると、commandがセットされる。
b"&\x00P\x00\x00\x01'\x92\x13\x12\x146\x13\x12\x14\x12\x13\x12\x13\x12\x14\x11\x146\x146\x13\x12\x146\x137\x13\x12\x137\x136\x14\x12\x13\x12\x137\x13\x12\x137\x136\x14\x12\x13\x12\x137\x136\x14\x12\x136\x14\x12\x13\x12\x137\x136\x14\x12\x13\x00\x05<\x00\x01'I\x14\x00\r\x05\x00\x00\x00\x00\x00\x00\x00\x00"
2600500000012792131214361312141213121312141114361436131214361337131213371336141213121337131213371336141213121337133614121336141213121337133614121300053c0001274914000d050000000000000000
Set command test_comm
もう一度同じコマンドで、RM mini3から登録したcommand信号が送信される。
python3 BlackBeanControl.py -c test_comm
登録したcommandは、iniファイル内の[Commands]に登録される。
$ cat BlackBeanControl.ini
[General]
IPAddress = 192.168.0.xxx
Port = 80
MACAddress = 34:ea:34:xx:xx:xx
Timeout = 3
[Commands]
test_comm = 2600500000012792131214361312141213121312141114361436131214361337131213371336141213121337131213371336141213121337133614121336141213121337133614121300053c0001274914000d050000000000000000
コマンドについて
test_comm = 26005000000~
新しいリモコンのコマンドを登録するには、
上記のように手持ちのリモコンを使って登録する方法と、
ネット上のリモコン信号データをもとに、RM mini3用に変換して登録する方法もある。
データの変換方法はこちらの記事
https://qiita.com/po-te/items/cc7e9b0b8e962af06daf
参考サイト
https://qiita.com/CoTechWorks/items/6b075ae43894d670cba4
https://github.com/mjg59/python-broadlink.git
https://github.com/TheGU/rm3_mini_controller.git