スマホアプリのTaskerでJavaScriptを実行し、IRKitからリモコン操作をする設定例

AndroidアプリのTasker(タスカー)は、設定した条件によって、スマートフォンにさまざまな命令をすることが出来るアプリ。そして、IRKitはWi-Fi機能の付いた赤外線リモコンデバイス。
今回は、TaskerでJavaScriptを実行し、IRKitから家電リモコンの赤外線を送信する例となります。
TaskerでJavaScriptを実行し、IRKitからリモコン操作する例
赤外線信号を送信するJavaScriptファイルを作成
まずは、IRkitのAPIを使用し赤外線信号を送信するJavaScriptファイルを作成します。
ソースコードは以下となり、例としてファイル名を「remote_control.js」としました。作成したファイルは、スマートフォンのストレージの任意の場所に保存します。
function main(){
xhr = new XMLHttpRequest();
xhr.open('POST','http://X.X.X.X/messages',true);
xhr.send('{"format":"raw","freq":38,"password":"XXXX","data":[XXXXXXXX]}');
}
main();
上記ソースコードの、'http://X.X.X.X/messages' の箇所には、IRKitのIPアドレスを記述します。
'{"format":"raw","freq":38,"password":"XXXX","data":[XXXXXXXX]}'の箇所には、操作したいリモコンの赤外線信号を記述します。
IRkitのIPアドレス確認と、赤外線信号の取得方法は、以下のページを参考にしてみてください。
Taskerでリモコンの赤外線送信を行うタスクを作成
次に、Taskerで上記JavaScriptファイルを実行させるタスクを、以下の手順で作成します。
- TASKSタブを選択します。
- TASKSタブ内の右下にある「+」ボタンをタップします。
- タスク名を入力するダイアログが表示されるので、タスク名を「リモコン」として新規タスクを作成します。
タスク名を入力するダイアログ。タスク名を入力後、右端の「チェック」アイコンをタップ - 新規タスクを作成すると「Task Edit」画面に移行するので、画面の右下にある「+」ボタンをタップします。
- カテゴリーが表示されるので「Code」>「JavaScript」を選択し、JavaScript設定画面の「Path」に上記で作成した「remote_control.js」ファイルへのパスを指定します。

以上が、IRKitからリモコンの赤外線送信を行うタスクとなります。
タスクの動作確認
作成したタスクが正常に動作するかを確認するには、タスク内の画面下部の左端にある「再生ボタン」をタップすることで確認できます。

タスクの実行方法
作成したタスクを実行させる方法としては、以下の方法があります。
- Taskerのウィジェットで作成したタスクのボタンをホーム画面に追加し、そのボタンからタスクを実行
- プロファイルを作成して、指定した条件が満たされたら自動でタスクを実行
例えば、以下のリンク先の方法と、今回作成したタスクを組み合わせることにより、自宅についたら自動でテレビをつけるといった動作も可能です。
ソースコードについて|XMLHttpRequest
IRKitには、デバイス自体にHTTPサーバがあるためHTTP通信が可能です。今回はJavaScriptでサーバーとHTTP通信を行えるXMLHttpRequest (XHR)を使用し、IRKitへ赤外線の情報を送信しています。
以下は、今回使用したXMLHttpRequestオブジェクトのメソッドと、そのパラメータとなります。
open() メソッド
指定したURLにリクエスト。
open( method, url, async, uname, pswd )
パラメータ
- method(必須)
- リクエストタイプを GET か POSTで指定
- url(必須)
- 送信先URLを指定
- async(必須)
- 非同期通信の場合には、true を指定。同期通信の場合には、false を指定
- uname(省略可)
- ユーザーネームを指定
- pswd(省略可)
- パスワードを指定
send() メソッド
サーバーへリクエストを送信。
パラメータ
send( string )
- string
- openメソッドがPOSTリクエストの場合に指定
「IRKit」の後継機「Nature Remo」
IRkitは、現在、生産を終了していますが、後継機となる「Nature Remo」や「Nature Remo mini」が販売されています。