/*
 * remote-controller IR signals
 *   by uratan! 2010.10.22
 */

エアコンのリモコン

こんなヤツです。東芝製、型番は「VBR」。太陽電池+充電池駆動です。


使い方というか、モードは以下の通り。
モードを変えたり温度を変えたりした場合、運転中であればボタン押下とともに 赤外線が飛びますが、運転停止中はリモコンの表示(内部状態)が変わるだけです。 よく出来てる。
エアコン本体からリモコンへの帰りの通信は無いようでハンドシェイクしている わけではなさそうですので、このリモコンがコントローラとして完全に独立 かつ最上位を占めるみたいです。
温度センサーも内蔵されていて温度表示もされますが、エアコン制御に 関連しているかまではわかりません。

赤外線データパターン

モードが多いので冗長になりますが、調べた範囲の波形を示します。 個別のパルスのつくりは以下の通りです。

                                    4.24msec    2.20ms  1.08ms
---+                            +------------+ +------+ +--+ +-
   |                            |            | |      | |  | |
   |                            |            | |      | |  | |
   +----------------------------+            +-+      +-+  +-+
              4.68msec                      720usec

   |<========================================>|<======>|<==>|
                      "L"                        "2_"    "1"
以下、波形は 1パケット分なのですが、同じ内容のパケットを 2回繰り返すのが基本のようです。 ただし「ルーバー」ボタンのみ例外で、繰り返しなしのシングルパケットでした。


運転 @ ドライ、風量:自動、28℃
      L2_12_2_112_112_112_2_12_1112_2_2_2_2_2_2_2_111112_11112_1112_2_2_2_12_2_
   

停止 @ ドライ、風量:自動、28℃
      L2_12_2_112_112_112_2_12_12_2_2_2_12_2_2_11112_112_2_2_111111112_2_2_2_2_
   

26℃→27℃ @ ドライ
      L2_12_2_112_112_112_2_12_1112_2_2_2_2_2_2_2_111112_112_12_1112_2_12_12_2_
   

27℃→26℃ @ ドライ
      L2_12_2_112_112_112_2_12_1112_2_2_2_2_2_2_2_111112_2_12_12_11112_12_12_2_
   

28℃→29℃ @ ドライ
      L2_12_2_112_112_112_2_12_1112_2_2_2_2_2_2_2_111112_12_112_1112_12_2_12_2_
   

29℃→28℃ @ ドライ
      L2_12_2_112_112_112_2_12_1112_2_2_2_2_2_2_2_111112_11112_1112_2_2_2_12_2_
   

ドライ→暖房 @ 28℃
      L2_12_2_112_112_112_2_12_2_12_2_2_2_2_2_12_1111112_1112_2_1112_2_2_112_2_
   

暖房→送風 @ 28℃
      L2_12_2_112_112_112_2_12_2_12_2_2_2_2_2_12_1111112_2_2_112_111112_2_12_2_
   

送風→AI自動 @ 28℃
      L2_12_2_112_112_112_2_12_1112_2_2_2_2_2_2_2_1111112_112_1112_12_2_12_2_2_
   

AI自動→冷房 @ 28℃
      L2_12_2_112_112_112_2_12_2_12_2_2_2_2_2_12_1111112_111111112_2_2_2_2_2_2_
   

冷房 17℃
      L2_12_2_112_112_112_2_12_2_12_2_2_2_2_2_12_111111111111112_2_2_2_2_2_2_2_
   

冷房 18℃
      L2_12_2_112_112_112_2_12_2_12_2_2_2_2_2_12_1111111112_11112_2_2_12_2_2_2_
   

冷房 19℃
      L2_12_2_112_112_112_2_12_2_12_2_2_2_2_2_12_111111112_2_11112_2_112_2_2_2_
   

冷房 20℃
      L2_12_2_112_112_112_2_12_2_12_2_2_2_2_2_12_111111112_111112_2_12_2_2_2_2_
   

冷房 21℃
      L2_12_2_112_112_112_2_12_2_12_2_2_2_2_2_12_11111112_2_111112_112_2_2_2_2_
   

冷房 22℃
      L2_12_2_112_112_112_2_12_2_12_2_2_2_2_2_12_11111112_2_2_11112_1112_2_2_2_
   

冷房 23℃
      L2_12_2_112_112_112_2_12_2_12_2_2_2_2_2_12_11111112_12_11112_12_12_2_2_2_
   

冷房 24℃
      L2_12_2_112_112_112_2_12_2_12_2_2_2_2_2_12_11111112_1111112_12_2_2_2_2_2_
   

冷房 25℃
      L2_12_2_112_112_112_2_12_2_12_2_2_2_2_2_12_1111112_2_111111112_2_2_2_2_2_
   

冷房 26℃
      L2_12_2_112_112_112_2_12_2_12_2_2_2_2_2_12_1111112_2_12_1111112_12_2_2_2_
   

冷房 27℃
      L2_12_2_112_112_112_2_12_2_12_2_2_2_2_2_12_1111112_112_111112_2_12_2_2_2_
   

冷房 28℃
      L2_12_2_112_112_112_2_12_2_12_2_2_2_2_2_12_1111112_111111112_2_2_2_2_2_2_
   

冷房 29℃
      L2_12_2_112_112_112_2_12_2_12_2_2_2_2_2_12_1111112_12_1111112_12_2_2_2_2_
   

冷房 30℃
      L2_12_2_112_112_112_2_12_2_12_2_2_2_2_2_12_1111112_12_2_111112_112_2_2_2_
   

ルーバー @ 冷房 28℃
      L2_12_2_112_112_112_2_12_11112_2_2_2_2_2_2_2_11112_2_2_111111112_2_2_2_2_
   

微風 @ 冷房 28℃
      L2_12_2_112_112_112_2_12_2_112_2_2_2_2_12_2_111112_111111112_2_2_2_2_2_2_
   

弱風 @ 冷房 28℃
      L2_12_2_112_112_112_2_12_12_12_2_2_2_2_2_12_111112_111111112_2_2_2_2_2_2_
   

強風 @ 冷房 28℃
      L2_12_2_112_112_112_2_12_112_2_2_2_2_2_2_2_1111112_111111112_2_2_2_2_2_2_
   

自動 @ 冷房 28℃
      L2_12_2_112_112_112_2_12_2_12_2_2_2_2_2_12_1111112_111111112_2_2_2_2_2_2_
   

ルーバー @ AI自動
      L2_12_2_112_112_112_2_12_11112_2_2_2_2_2_2_2_11112_2_2_111111112_2_2_2_2_
   

設定温度 "標準+" @ AI自動
      L2_12_2_112_112_112_2_12_1112_2_2_2_2_2_2_2_111112_2_112_111112_2_12_2_2_
   

設定温度 "標準++" @ AI自動
      L2_12_2_112_112_112_2_12_1112_2_2_2_2_2_2_2_111112_2_12_2_111112_112_2_2_
   

設定温度 "標準−" @ AI自動
      L2_12_2_112_112_112_2_12_1112_2_2_2_2_2_2_2_1111112_12_2_1112_12_112_2_2_
   

設定温度 "標準−−" @ AI自動
      L2_12_2_112_112_112_2_12_1112_2_2_2_2_2_2_2_1111112_2_2_2_1112_11112_2_2_
   

考察

最初の長い Low+High がヘッダーでしょう。以降、long を '1'、short を '0' とするとして以下のように解釈するものと思われます。

ex. L2_12_2_112_112_112_2_12_1112_2_2_2_2_2_2_2_111112_11112_1112_2_2_2_12_2_
     ↓          ↓          ↓          ↓          ↓        ↓
     10110010    01001101    00011111     11100000   10000100  01111011
                 ~~~~~~~~                 ~~~~~~~~             ~~~~~~~~

   byte1  byte3        byte5                       |        temp / mod
  ------------------------------------------------ |  ---------------------
   0xb2   0x7b         0xe0        ... 停止        |   0x0x ... 17℃
   0xb2   0x1f         0xX8 + mod  ... 運転:AI自動 |   0x1x ... 18℃
   0xb2   0xXf + flow  0xX0 + temp ... 運転:冷房   |   0x3x ... 19℃
   0xb2   0x1f         0xX4 + temp ... 運転:ドライ |   0x2x ... 20℃
   0xb2   0xXf + flow  0xXc + temp ... 運転:暖房   |   0x6x ... 21℃
   0xb2   0xXf + flow  0xe4        ... 運転:送風   |   0x7x ... 22℃ / −−
   0xb2   0x0f         0xe0        ... ルーバー    |   0x5x ... 23℃ / −
                                                   |   0x4x ... 24℃ / 標準
                 flow                              |   0xcx ... 25℃ / +
            ---------------                        |   0xdx ... 26℃ / ++
             0x9x ... 微風                         |   0x9x ... 27℃
             0x5x ... 弱風                         |   0x8x ... 28℃
             0x3x ... 強風                         |   0xax ... 29℃
             0xbx ... 自動                         |   0xbx ... 30℃
            (0x1x ... 自動固定)                    |  (0xex ... 別機能指定)


…データのパッキングに今ひとつ脈絡がみえません。


    uratan@miomio.jp
upward