Nature RemoのローカルAPIを利用する

Nature RemoはローカルAPIが用意されており,クラウドAPIに接続できない場合も利用することができる(参照).

IPアドレスの確認

_remo._tcp サービスを利用して Nature Remo のIPアドレスを確認します.

$ dns-sd -B _remo._tcp
Browsing for _remo._tcp
DATE: ---Wed 15 Nov 2017---
12:27:52.349  ...STARTING...
Timestamp     A/R    Flags  if Domain               Service Type         Instance Name
12:27:52.603  Add        2  12 local.               _remo._tcp.          Remo-XXXXXX

Instance Name の Remo-XXXXXX がホスト名なのでRemo-XXXXXX.localでアクセスすることができます.また,IPアドレスは以下のコマンドで確認することができます.

$ dns-sd -G v4 
DATE: ---Wed 15 Nov 2017---
12:30:58.520  ...STARTING...
Timestamp     A/R Flags if Hostname                               Address                                      TTL
12:30:58.735  Add     2 12 Remo-XXXXXX.local.                     10.0.1.3                                     120

信号の受信

GET /messages では,最後に受信した信号を取得することができます.Nature Remoに向けてリモコンの信号を送信した後に以下のコマンドで確認することができます.ここで,X-Requested-Withヘッダは必須です.

$ curl -H "Content-Type: application/json" -H "X-Requested-With: local" Remo-XXXXXX.local/messages

信号の送信

POST /messages では,信号を送信することができます.基本的にはGET /messages で取得したデータそのまま指定することで利用することができます.

$ curl -X POST -H "Content-Type: application/json" -H "X-Requested-With: local" Remo-XXXXXX.local/messages -d '<信号>'

Nature Remo 2のローカルAPI

Nature Remo 2でローカルAPIを利用するときに,時間を開けて利用する場合(時間ではない可能性もあります)本体のステータスLEDが赤色で点滅して再起動しているような動作が確認されることがあります.

定期的にダミー信号を送ってみるなどを行ってみた結果,今のところ回避することができないようです.