ワテのブログ

The fundamental things apply As time goes by.

2014年1月27日月曜日

リモコン・データベースのデータをIRKitのjson 形式に変換する

スポンサーリンク

リモコンデータベースを見つけました。
iRemo2 リモコン・データベース - FUTABA HOME
素晴しいことにデータをXML形式でダウンロードできます。

このXML形式のデータをIRKitのjson形式に変換できれば自分でIRKitにリモコンを向けてボタンを押してコードを登録する作業をせずにIRKitを活用できるかもしれません。

ということで、変換プログラムを作成してみました。

XMLのデータはShift_JISエンコードです。そのまま読むとエラーが発生したためUTF-8に変換してからプログラムに読みこませます。

$ iconv -f SHIFT_JIS -t UTF-8 iremo.xml | gosh rdbxml2irkitjson.scm

出力形式は

<ボタン名>:<json>

です。
以下出力の具体例。

*Page1
電源:{"format":"raw","freq":"38","data":[7000,3400,1000,1000,1000,2600,1000,1000,1000,2600,1000,1000,1000,2600,1000,1000,1000,2600,1000,1000,1000,2600,1000,1000,1000,2600,1000,2600,1000,1000,1000,2600,1000,1000,1000,2600,1000,2600,1000,2600,1000,2600,1000,1000,1000,1000,1000,1000,1000,2600,1000,1000,1000,2600,1000,1000,1000,1000,1000,2600,1000,1000,1000,1000,1000,1000,1000,1000,1000,2600,1000,2600,1000,1000,1000,2600,1000,1000,1000,1000,1000,1000,1000,2600,1000,1000,1000,1000,1000,1000,1000,2600,1000,1000,1000,2600,1000,2600,1000,14000]}
CH−:{"format":"raw","freq":"38","data":[7000,3400,1000,1000,1000,2600,1000,1000,1000,2600,1000,1000,1000,2600,1000,1000,1000,2600,1000,1000,1000,2600,1000,1000,1000,2600,1000,2600,1000,1000,1000,2600,1000,1000,1000,2600,1000,2600,1000,2600,1000,2600,1000,1000,1000,1000,1000,1000,1000,2600,1000,1000,1000,2600,1000,1000,1000,1000,1000,2600,1000,1000,1000,1000,1000,1000,1000,1000,1000,2600,1000,1000,1000,1000,1000,2600,1000,1000,1000,1000,1000,1000,1000,2600,1000,1000,1000,1000,1000,1000,1000,2600,1000,1000,1000,1000,1000,2600,1000,14000]}

試しに電源ボタンのjsonでIRKitから送信したらテレビの電源が入りました。(しかし、時々反応しないときがあります。その場合、一度テレビ付属のリモコンで電源を操作するとIRKitから操作できるようになります。理由は不明です。)

ソースコードはこちら(Github)

スポンサーリンク