IRKit(学習リモコン)コマンド送信(API利用した屋外からのアクセス)

通信経路を図で表現してるけどわかりやすくするために簡略化しています。
IRKitサーバーを利用する方法をまとめます。

※屋外(屋内のネットワークへのアクセスはセキュリティ上、簡単に行えないようになっています。)からのアクセスはポーリングて方法でIRKitを中継して行われています。

IRKitのAPIを利用したコマンドの送信手順です。

コマンドはCurlを使用しています。
Windows10標準では入ってませんのでCurl導入は以下を参考にしてください。

参考:CurlをWindows10で使う

IRKitサーバーを利用せず直接IRKitに通信する場合は以下を参考にしてください。

参考:IRKit(学習リモコン)コマンド送受信(屋内からのアクセス)


1.IRKitのトークンの取得

Auoth2.0の面倒さですね。
コマンドでトークンを先に取得します。
clienttokenに表示された値をメモします。

コマンド:curl -i "http://{IRKitのアドレス}/keys" -d '' -H "X-Requested-With: curl"


2.トークンでデバイスIDとクライアントキーを取得

メモしたトークンを利用してコマンドでデバイスIDとクライアントキーを取得します。

コマンド:curl -i -d "clienttoken={メモしたトークン}" "https://api.getirkit.com/1/keys"


3.デバイスIDとクライアントキーでIRIRKitのPIを呼出

デバイスIDとクライアントキーでAPIにアクセスします。

コマンド:curl -i "https://api.getirkit.com/1/messages" ^
-d "clientkey=トークンで取得したクライアントキー" ^
-d "deviceid=トークンで取得したデバイスID" ^
-d "message={送信する信号}"

※注意!送信する信号のところをシングルコーテーションのまま囲って実行すると「400 Bad Request」のエラーが発生します。

IRKit(学習リモコン)コマンド送受信(屋内からのアクセス)

IRKitはAPIで操作可能になっておりいじりがいがあります。
なのでコマンド送受信についてまとめます。
本家の以下のサイトを参考にしています。

「出典元」http://getirkit.com/

コマンドはCurlを使用しています。
Windows10標準では入ってませんのでCurl導入は以下を参考にしてください。

参考:CurlをWindows10で使う


1.リモコンの信号をコマンドで受信

以下のコマンドでIRKitが学習したリモコンの信号を受け取ることができます。

コマンド:curl -i "http://{送信先IRKitのアドレス}/messages" -H "X-Requested-With: curl"

しかし、10分もしないうちに学習した信号は消されてしまいます。
以下のようにコマンドを実行しても何も表示されません。

学習させるリモコンを準備します。
「追加」を選択します。

学習させます。

コマンドを実行します。
IRKitが学習したリモコンの信号が表示されます。


2.リモコンの信号をコマンドで送信

送信するリモコンの信号を準備したら以下のコマンドでIRKitに送信できます。

コマンド:curl -i "http://{送信先IRKitのアドレス}/messages" -H "X-Requested-With: curl" -d '{送信するリモコンの信号}'

※送信するリモコンの信号に含まれるダブルコーテーションはWindowsなのでエスケープする必要があります。
 エスケープ前「{"format":"raw","freq":38,"data":[5049,5049,~ 以後省略」
 エスケープ後「{\"format\":\"raw\",\"freq\":38,\"data\":[5049,5049,~ 以後省略」