LoginSignup
2
1

More than 1 year has passed since last update.

Raspberry Pi でRM mini 3 を操作する

Last updated at Posted at 2020-12-27

概要

自宅の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で調べた値を入力

BlackBeanControl.ini
[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
2
1
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
2
1