前回のiRemoconをDelphiで操作からの続きです。
![]() | Glamo スマートフォンを利用して家の中や外出先から様々なリモコン対応家電をコントロールできます。 |
前回は、1回1回Telnetコマンドを文字列で送信していましたが、アプリケーション作成時に毎回毎回文字列を入力するのは使い勝手が悪いので、今回はiRemoconをDelphiから、もっと手軽に使用できるようにiRemoconのオブジェクト化をしたいと思います。
オブジェクト化することにより、iRemoconのコマンドを知らなくても、手続き・メソッドを使用して操作できるようになり、以前より手軽にコードが書けるようになります。
で、いろいろ試行錯誤しながら何とか作成したiRemoconオブジェクト(TIRemocon)が以下。
TIRemoconオブジェクト
前回は、タイマーに関するコマンドは面倒くさかったので書きませんでしたが、TIRemoconには一応その機能も実装しました。ただ、Windowsプログラムから使うには、プログラム側からタイマー機能を作った方が手軽ではあると思います。
※後々、コンポーネントとして使えるようにTComponentを継承して作っています。ただ、まだ改良の余地があると思っているので、IDEにはインストールして試してはいません。なのでインストールして使おうとすると不具合があるかもしれません。
オブジェクトさえ作ってしまえば後は、これを利用するプログラムを書くだけです。
で、作成したプログラムのインターフェースは以下。
TIRemoconオブジェクト使用サンプルのソースコード
使用しているiRemoconのIPを入力して、コマンド文字列が書かれたボタン押すと、そのコマンドが実行されるだけというシンプルなプログラムです。(iRemoconのIPを取得するにはIP確認を参照)
使用すると以下のようになります。
一番上の出力欄にコマンドのログが表示されます。真ん中の出力欄にはエラーが表示されます。一番下の出力欄にはタイマーの予約リストが表示されるように出来ています。
試しに適当にボタン押してみると以下のような入出力コマンドが表示されます。
*au
ok
*is;4
is;ok
*is;17
is;err;002
*ic;17
*cc
cc;ok
ic;err;002
*tm;3;1334777518;0
tm;ok
*tm;1;1334604560;0
tm;err;002
*tm;27;1334777548;0
tm;err;006
*tl
tl;ok;9;1;3;1334777518;0;3;3;1335735018;604800;4;4;1345827271;86400;5;3;1334958961;0;6;3;1335563774;0;8;3;1338501414;0;9;4;1335477441;0;10;4;1335736653;0;11;3;1337983081;604800
*td;1
td;ok
*td;29
td;err;002
*ts;1334777411
ts;ok
*tg
tg;ok;1334777414
*vr
1.0.0
全てのソースコードは以下からダウンロードしてください。
iRemoconオブジェクトを利用したテストプログラムのダウンロード
※iRemoconを持っていないと動作しません。
※このプログラムを使用してiRemoconに不具合が出ても保証はできません。IRM-01Lコマンド仕様書(PDF)に書かれた内容を守ってお使いください。
これで、ある程度手軽にiRemoconを操作できる準備は整いました。さて次からは、いよいよ音声認識とiRemoconを組み合わせたプログラムを作って声で操作できるようにしてみたいと思います。
ただ、音声認識エンジンもいろいろあるので、以前書いた「iRemocon」をパソコンから操作する方法まとめ(+音声認識操作手順)にある記事をもう一度しっかりと読んだりして、音声認識エンジン選びから始めないと。
では次回は、いつになるかはわかりませんが音声認識を使ったiRemocon操作です。
