パソコン鳥のブログ

アクセスカウンタ

zoom RSS スマートリモコン eRemote mini を Raspberry Pi から使う

<<   作成日時 : 2018/05/26 20:49   >>

ブログ気持玉 0 / トラックバック 0 / コメント 0

スマートリモコン eRemote mini を Raspberry Pi から使う方法です。
Raspberry Pi から eRemote mini に対して、リモコンボタン登録や、登録したリモコンコードの送信の指示をおこなえます。
これにより、Raspberry Pi のスクリプトなどで、家電製品をコントロールできます。


準備


eRemote mini のセットアップを行っていない場合は、セットアップを行なっておいてください。
スマートリモコン eRemote mini をAmazon Echo で使えるようにするまで の 「10.設置部屋を選択して「完了」を押します。」までを実施します。
記事名に「Amazon Echo」と入っていますが、セットアップだけなら Amazon Echo が無くとも実施できます。


以降の手順は、Raspberry Pi で実施します。

必要なライブラリをインストールします。

sudo apt-get install python2.7-dev
sudo pip install broadlink configparser netaddr


Python control for Broadlink RM2 IR controllers を取得します。


スクリプト BlackBeanControl を取得します。



eRemote のIPアドレスとMACアドレスを調べるために、次のコマンドを実行します。


python-broadlink/cli/broadlink_discovery


次のように表示されます。


Discovering...
###########################################
RM2
# broadlink_cli --type 0x2737 --host xx.xx.xx.xx --mac 0123456789ab
Device file data (to be used with --device @filename in broadlink_cli) :
0x2737 xx.xx.xx.xx 0123456789ab
temperature = 0.0


xx.xx.xx.xx と 0123456789ab の部分は、皆さんの環境で異なります。
xx.xx.xx.xx はIPアドレス、0123456789ab はMACアドレスのバイト順が逆になったものです。


BlackBeanControl/BlackBeanControl.ini を編集します。


[General]
IPAddress = xx.xx.xx.xx
Port = 80
MACAddress = ab:89:67:45:23:01
Timeout = 10

[Commands]


IPAddress は先ほどの python-broadlink/cli/broadlink_discovery の実行結果の xx.xx.xx.xx 、Port は 80 を指定します。
MACAddress は、先の実行結果の表示を後ろから2文字ずつ、:で区切って記述します。
例えば、0123456789ab だった場合は、ここでの記述は ab:89:67:45:23:01 です。

Timeoutは、後述の BlackBeanControl.py 実行時に、リモコンコード受信を待つ時間(秒)です。
長くすると、リモコンボタン登録時に、ひたすら待つことになるので、適度な時間にしておいて下さい。


次に、BlackBeanControl/BlackBeanControl.py を修正します。
これは、現時点(2018年5月26日)のBlackBeanControl.py では、実行すると、下記のようにエラーになる為です。


Traceback (most recent call last):
File "BlackBeanControl/BlackBeanControl.py", line 167, in <module>
RM3Device = broadlink.rm((RealIPAddress, RealPort), RealMACAddress)
TypeError: __init__() takes exactly 4 arguments (3 given)


修正は、BlackBeanControl.py の 167行目を次のようにします。


修正前
RM3Device = broadlink.rm((RealIPAddress, RealPort), RealMACAddress)
修正後
RM3Device = broadlink.rm((RealIPAddress, RealPort), RealMACAddress, RealTimeout)


これで準備は完了です。


リモコンボタンの登録と送信


リモコンボタンの登録は、次のように実行します。
"コマンド名" の部分は、リモコンボタン1つ1つで違うものを指定します。


python2 BlackBeanControl/BlackBeanControl.py -c コマンド名


実行後、eRemote のLED が光るので、eRemote に向けて登録したいリモコンボタンを押します。
「準備」の項で、BlackBeanControl.ini に指定した Timeout 秒経過すると、BlackBeanControl.py から返ってきます。
リモコンボタンを押してもすぐ返ってくる訳ではないので、待って下さい。

Timeout 秒経過しても、リモコン受信できない場合は、Command not received と表示されます。
もう一度、ちゃんと eRemote にリモコンを向けて、Timeout秒以内にボタンを押してください。
または、リモコンが赤外線リモコンでないと eRemote で使えません、
例えば、FireTV のリモコンは Bluetoothリモコンなので、eRemote では登録できません。

登録が成功すると、BlackBeanControl/BlackBeanControl.ini の [Commands] セクションに、指定したコマンド名でリモコンコードが挿入されます。

この状態で、再度下記のコマンドを実行すると、今度は eRemote から、登録したリモコンコードが送信されます。


python2 BlackBeanControl/BlackBeanControl.py -c コマンド名


つまり、初回実行時は BlackBeanControl.ini に登録され、次回以降はリモコンコード送信になります。

登録したものを削除するには、BlackBeanControl/BlackBeanControl.ini の [Commands] セクションから、該当コマンド名の行を削除して下さい。


これで、スマートリモコン eRemote mini を Raspberry Pi から使うことができます。


参考


Raspberry PiとBroadlink RM mini3で赤外線リモコンを制御 | Alexaとラズパイで遊ぶ!
Raspberry PiからコマンドラインでRM mini3(スマートリモコン)を制御する - Qiita
Echosim.ioを使うと日本でもAlexaでSmart Homeを実現できるので、安価なBlack Beanで照明やエアコンを制御してみた - 知的好奇心 for IoT
[PYTHON]How-to integrate (cheap)Broadlink RM3 MINI IR blaster with Pimatic | pimatic home automation forum

テーマ

関連テーマ 一覧


月別リンク

ブログ気持玉

クリックして気持ちを伝えよう!
ログインしてクリックすれば、自分のブログへのリンクが付きます。
→ログインへ

トラックバック(0件)

タイトル (本文) ブログ名/日時

トラックバック用URL help


自分のブログにトラックバック記事作成(会員用) help

タイトル
本 文

コメント(0件)

内 容 ニックネーム/日時

コメントする help

ニックネーム
本 文
スマートリモコン eRemote mini を Raspberry Pi から使う パソコン鳥のブログ/BIGLOBEウェブリブログ
文字サイズ:       閉じる