🍋
Nature Remo のローカルAPIまとめ 【pyhton】
nature remoのローカルAPIの使い方についてのメモ
目的
家電類を操作する赤外線を送受信するデバイスであるnature remoをpython越しに操作したい!
可能ならLAN内で完結させたい!
手順
RemoのWiFi接続設定
スマホアプリから行う
ローカルAPIサーバのIPを検索
remoのローカルAPIサーバは _remo._tcp らしいので、下記コマンドでIPアドレスを検索
avahi-browse -al
mDNSが元気なら、pingで検索
ping _remo._tcp.local
もしくはアプリの設定画面からmacアドレスを探し、arpテーブルから探すのもアリ(未検証)
APIサーバとの疎通確認
curlコマンドで確認
ヘッダーとして”X-Requested-With: local”を忘れずに
curl http://$IP_ADRESS/messages -H "X-Requested-With: local"
赤外線信号値の送受信
先ほどのコマンドはRemoが直前に認識した赤外線信号の値を返すコマンドとなっている
したがって、Remoに向かって物理リモコンから信号を送信したのち、下記コマンドを実行することで信号値をファイルに保存できる
curl http://$IP_ADRESS/messages -H "X-Requested-With: local" > @hoge.txt
このファイルを用いて赤外線信号を送信させるコマンドは↓
curl http://$IP_ADRESS/messages -H "X-Requested-With: local" -d @hoge.txt
本題:pythonでの書き方
import requests
import json
path = "./hoge.txt"
with open(path) as f:
data = f.read()
json_data = json.loads(data)
url = "http://<IP_ADRESS>/messages"
headers = {
"X-Requested-With" : "local"
}
response = requests.post(url, headers=headers, json=json_data)
今後の予定
Pub/Subなプロトコルに当てはめて、discodeやラズパイからの命令を受けて同一の動作をするようにさせたい
Discussion