先日、グラモからiRemocon WiFiが一般販売された事を紹介しました。
で、そのときはまだiRemocon Wi-Fiをプログラムから操作するためのコマンド仕様書は公開されていなかったのですが、2014/12/22に開発者向け情報にてIRM-03WLAコマンド仕様書(PDF)が公開されていたようなので紹介です。
photo by Sidik iz PTU
目次
IRM-03WLAコマンド仕様書
開発者向け情報にあるiRemoconのコマンド仕様書「IRM-01L」とiRemocon Wi-Fiのコマンド仕様書「IRM-03WLA」とを見比べながら読んでみました。
以下では、両者を比較して同じだったところや違いなどを紹介したいと思います。
ポート番号は51013と同じ
「IRM-01L」も「IRM-03WLA」もポート番号は同じです。
プログラムなどで利用しているポート番号などは、変更する必要はないようです。
KeepAliveが不要に
IRM-01Lでは、300秒の間、無通信状態が継続するとIRM-01L側から接続を切断していました。
IRM-03WLAでは、旧製品のとIRM-01L異なり、無通信状態が継続してもIRM-03WLA側から通信を切断することはないのでKeepAliveは不要となりました。
多分、KeepAliveは、あまり頻繁にやらないならば、これまで通りやっていても問題ないのではないかと思います。
コマンド送信仕様
コマンド送信の仕様も変化はないようです。
全てASCIIコードで送信。
コマンドの入力に5秒以上、間を空けるとタイムアウト。* :コマンドバッファクリア文字列 XX :コマンド部 ; :パラメーター指定記号 yyyy :パラメーター部 \r\n :コマンド実行文字列
使用コマンド
IRM-03WLAのコマンドは、IRM-01Lに比べてセンサー関連のコマンドが4つ増えただけのようです。
増えたコマンドは以下。
- li:照度センサー値の取得
- hu:湿度センサー値の取得
- te:温度センサー値の取得
- se:照度・湿度・温度センサー値の取得
IRM-01Lからあるコマンドも比較してみましたが、コマンドの書式自体には変化はないようです。
ただ、IRM-03WLAからは、以下のような事が違います。
- 1~20文字までの半角英数字(大文字小文字を区別する)を使えるようになった
- リモコン信号の最大登録数が1500→800に、コマンドでリモコン番号を指定する場合はそれに応じて変わる
- リモコンタイマーの最大登録数が500→100に、コマンドでタイマー番号を指定する場合はそれに応じて変わる
以前は、リモコン番号だけしか使えなかったのが、リモコンコード名を使えるようになっています。
ただ、リモコン番号は以前のものと同様に利用できるようなので、以前のコマンドもそのまま利用できるようです。
Windowsで試しに操作する場合
Windowsで試しに、操作する場合はIPアドレスが必要になります。
IPの確認
スマホなどでのIPの確認方法は以下のようになっています。
- 【管理設定】iRemocon Wi-Fiの状態を確認する(iOS)
- 【管理設定】iRemocon Wi-Fiの状態を確認する(Android)
僕はまだ、iRemocon Wi-Fiを持っているわけではないので、試してはいないのですがWindowsでも多分以下の方法でIPを取得できるのではないかと思います。
もし、WiFiでIPを取得できなかったとしても、有線LANで接続する方法もあるので多分いけるのではないかと思います。(保証はないです)
コマンドプロンプトでコマンド操作
Windowsのコマンドプロンプトからtelnetを利用してiRemoconを操作することができます。
telnetは、初期状態のWindows8などだと利用できないので、設定する必要があります。設定方法は後述します。
telnetで接続
先程取得したIP番号で、以下のようにコマンドを打つと接続できます。
telnet 192.168.1.14 51013
コマンドは、IRM-03WLAコマンド仕様書(PDF)などを参考に以下のように打ちます。
*au[改行]
auは接続確認コマンドですから、成功すると以下のように返ってきます。
ok
あとは、コマンド仕様書などを参考にいろいろ打ってみると以下のようになります。(最初の入力コマンドだけ表示されないかもしれません。by Windows8)
ok ic;ic;err;010 *ic;ic;err;020 *ic;1 ic;ok *is;1 is;ok *ic;1 ic;ok *is;1 is;ok *ic;2 ic;ok *is;2 is;ok is;1 is;err;010 *is;is;err;020 *is;1 is;ok *vr 1.0.0
Windows8でtelnetを有効にする方法
一応、Windows8のコマンドプロンプトでtelnetを有効にする方法を紹介します。
まずは、コントロールパネルを開いて、「プログラムと機能」を開きます。
フルパスは「コントロール パネル\すべてのコントロール パネル項目\プログラムと機能」です。
「プログラムと機能」を開いたら「Windowsの機能の有効化または無効化」をクリックします。
最後に、その中の「telnetクライアント」にチェックを入れOKボタンを押します。
これでtelnetが有効になります。
まとめ
今回、ちょっと調べてみた感じでは、有線でも接続できることから、Windowsでもコマンド操作出来るのではないかと思います。(保証はないですけど)
なので、既に「初期型iRemocon」は持ってはいるのですが、年明けにでも「iRemocon Wi-Fi」を購入してみようかと思います。
元々は、スマホ用のデバイスなので、スマホアプリなどの作成なら、Windowsアプリ作成よりは、手軽にできるのではないかと思います。
ちなみに、スマホで利用する場合は、以下のようなiRemoconのアプリを無料で使用できます(外出先などからの遠隔操作は別途契約が必要)。
けれど、iRemocon Wi-Fiから搭載された温度・湿度・照度センサーを利用して、「部屋の温度・湿度・明るさを感知して自動操作をするリモコンを作りたい」とか「部屋の状態を常に自分に最適化するような絶対リモコンを作りたい」なんて場合は、IRM-03WLAコマンド(PDF)でプログラムなんていかがでしょうか。