LoginSignup
1
0

Python3でRM mini3をコントロール

Last updated at Posted at 2022-07-28

以前は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

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0