アフィリエイト広告を利用しています

広告

posted by fanblog

リモコン解析 - ADIR01P

○はじめに

前の投稿でも書きましたが、最近、私事ながら引越しました。
それで待ち受けていたのが、 富士通ゼネラルのエアコン、2021年式と結構新しいのにWiFiが接続できない代物

スマートホーム化するには リモコン解析が必須なのですが、エアコンはリモコンコードからルールを見つけないといけないので、かなり大変です。。

今まで、(既に発売中止になっている)以下のツールで解析を行なっていたのですが・・・
コードが一定しないこともあり、しっかりと取得できているのか不安でした。

特にスタートコードの開始位置から100usecのサンプリングで480byteのデータを取得するので、時間にして480 x 8 x 100usec = 384msec。エアコンのリモコンには短いのでは?と懸念していました。
(普通のライトなどのリモコンコードであれば、384msecで十分なのですが・・)


BUFFALO PCastTV2対応 PC用学習リモコンキット PC-OP-RS1

中古価格
¥5,980 から
(2022/5/21 23:55時点)





○ADIR01Pを購入
そんなわけでネットを探していたら、以下のツールが良さそうだったので購入しました。

BitTradeOne 赤外線リモコンアドバンス ADIR01P

新品価格
¥4,048 から
(2022/5/21 23:58時点)



特に私が目を引いたのは、以下の二点です。

  • 受信した赤外線信号をそのまま記録、送信する
  • 赤外線記録時間:1つの信号につき約3秒


リモコン解析では、受信したデータを何も加工せずに保存してほしいのです。
しかも3秒と長い時間であれば、有難い話です。参考までにメーカのHPは こちら です。

ただし・・残念なことも。。

実は一番知りたい 取得したリモコンデータのフォーマットが公開されていないのです。



○ADIR01Pで保存したデータを解析

このツールを使うとどのようなデータが保存されるのか調査します。

一番の近道は、 既に知っているリモコンコードを学習させて、どのように保存されるか確認することです。

今回、PanasonicのLEDライトの"全灯"信号を学習させました。

このコードは私の理解(既存のシステム)では、LSB firstで以下のようになっており、

2C 52 09 2C 25


また、Data bitのパルス幅は100usec単位で以下の通りです。
start_h 0x23
start_l 0x12
data0_h 0x4
data0_l 0xd
data1_h 0x4
data1_l 0xd
stop_h 0x4


リモコンフォーマットの技術的な内容は こちらのHP が参考になります。


これをADIR01PとWindowsのGUIツールを使用して以下のように読ませると、

Screen Shot 2022-05-22 at 0.33.55.png


以下のようなデータがキャプチャできます。


0x00,0x86,0x00,0x43,0x00,0x11,0x00,0x11,
0x00,0x12,0x00,0x10,0x00,0x14,0x00,0x31,
0x00,0x13,0x00,0x31,0x00,0x13,0x00,0x0F,
0x00,0x12,0x00,0x33,0x00,0x12,0x00,0x10,
0x00,0x13,0x00,0x0F,0x00,0x14,0x00,0x0F,
0x00,0x14,0x00,0x31,0x00,0x13,0x00,0x0F,
0x00,0x13,0x00,0x10,0x00,0x13,0x00,0x32,
0x00,0x12,0x00,0x0F,0x00,0x14,0x00,0x31,
0x00,0x13,0x00,0x0F,0x00,0x14,0x00,0x31,
0x00,0x13,0x00,0x0F,0x00,0x13,0x00,0x10,
0x00,0x13,0x00,0x31,0x00,0x13,0x00,0x0F,
0x00,0x14,0x00,0x0F,0x00,0x14,0x00,0x0F,
0x00,0x14,0x00,0x0F,0x00,0x14,0x00,0x0F,
0x00,0x13,0x00,0x0F,0x00,0x14,0x00,0x31,
0x00,0x13,0x00,0x31,0x00,0x13,0x00,0x0F,
0x00,0x14,0x00,0x31,0x00,0x13,0x00,0x0F,
0x00,0x13,0x00,0x10,0x00,0x14,0x00,0x30,
0x00,0x13,0x00,0x0F,0x00,0x15,0x00,0x30,
0x00,0x13,0x00,0x0F,0x00,0x14,0x00,0x0F,
0x00,0x13,0x00,0x32,0x00,0x13,0x00,0x0E,
0x00,0x14,0x00,0x0F,0x00,0x15,0x0B,0x10


これを以下のように4byteごとに並べると、数値から 最初の2ByteがHIGH信号の時間、最後の2ByteがLOW信号のData bitであることが推測できます。

実際、リモコンコード(2C 52 09...)と照らし合わせるとMSBですが一致することがわかります。

またパルス幅は、data0_h=data0_l=data1_h=0x000F~0x0014、data1_l=0x31~0x33であることから、 単位は25usec強であることがわかります。


0x00,0x86, 0x00,0x43, - start bit

0x00,0x11, 0x00,0x11, - 0
0x00,0x12, 0x00,0x10, - 0
0x00,0x14, 0x00,0x31, - 1
0x00,0x13, 0x00,0x31, - 1

0x00,0x13, 0x00,0x0F, - 0
0x00,0x12, 0x00,0x33, - 1
0x00,0x12, 0x00,0x10, - 0
0x00,0x13, 0x00,0x0F, - 0


0x00,0x14, 0x00,0x0F, - 0
0x00,0x14, 0x00,0x31, - 1
0x00,0x13, 0x00,0x0F, - 0
0x00,0x13, 0x00,0x10, - 0

0x00,0x13, 0x00,0x32, - 1
0x00,0x12, 0x00,0x0F, - 0
0x00,0x14, 0x00,0x31, - 1
0x00,0x13, 0x00,0x0F, - 0


0x00,0x14, 0x00,0x31, - 1
0x00,0x13, 0x00,0x0F, - 0
0x00,0x13, 0x00,0x10, - 0
0x00,0x13, 0x00,0x31, - 1

0x00,0x13, 0x00,0x0F, - 0
0x00,0x14, 0x00,0x0F, - 0
0x00,0x14, 0x00,0x0F, - 0
0x00,0x14, 0x00,0x0F, - 0


0x00,0x14, 0x00,0x0F, - 0
0x00,0x13, 0x00,0x0F, - 0
0x00,0x14, 0x00,0x31, - 1
0x00,0x13, 0x00,0x31, - 1

0x00,0x13, 0x00,0x0F, - 0
0x00,0x14, 0x00,0x31, - 1
0x00,0x13, 0x00,0x0F, - 0
0x00,0x13, 0x00,0x10, - 0


というわけで、 ADIR01Pで保存されるデータは、25usec強単位の16bitでData bitのパルス幅を表していると言えます。

これにより、今問題となっているエアコンのリモコンが解析できそうです。

また、このツールの売りだった 受信した赤外線信号をそのまま記録という言葉が正しかったこともわかります。



参考までに。

トラックバック

コメント

お名前:

メールアドレス:

ホームページアドレス:

コメント:

※ブログオーナーが承認したコメントのみ表示されます。

この記事へのコメント

×

この広告は30日以上新しい記事の更新がないブログに表示されております。

Build a Mobile Site
スマートフォン版を閲覧 | PC版を閲覧
Share by: