Infrared

HackTricksをサポートする

赤外線の仕組み

赤外線は人間には見えません。IRの波長は0.7から1000ミクロンです。家庭用リモコンはデータ伝送にIR信号を使用し、波長範囲は0.75..1.4ミクロンです。リモコン内のマイクロコントローラーは、特定の周波数で赤外線LEDを点滅させ、デジタル信号をIR信号に変換します。

IR信号を受信するためにフォトレシーバーが使用されます。これはIR光を電圧パルスに変換し、すでにデジタル信号です。通常、受信機内にはダークライトフィルターがあり、望ましい波長のみを通過させ、ノイズをカットします。

IRプロトコルの多様性

IRプロトコルは3つの要素で異なります:

  • ビットエンコーディング

  • データ構造

  • キャリア周波数 — 通常36..38 kHzの範囲

ビットエンコーディングの方法

1. パルス距離エンコーディング

ビットはパルス間の間隔の持続時間を変調することによってエンコードされます。パルス自体の幅は一定です。

2. パルス幅エンコーディング

ビットはパルス幅の変調によってエンコードされます。パルスバースト後の間隔の幅は一定です。

3. 位相エンコーディング

マンチェスターエンコーディングとも呼ばれます。論理値はパルスバーストと間隔の間の遷移の極性によって定義されます。「間隔からパルスバースト」は論理「0」を示し、「パルスバーストから間隔」は論理「1」を示します。

4. 前述のものと他のエキゾチックな組み合わせ

いくつかのデバイスタイプに対してユニバーサルになろうとしているIRプロトコルがあります。最も有名なものはRC5とNECです。残念ながら、最も有名であることは最も一般的であることを意味しません。私の環境では、NECリモコンを2つしか見かけず、RC5のものはありませんでした。

メーカーは、同じデバイスの範囲内でも独自のユニークなIRプロトコルを使用するのが好きです(例えば、TVボックス)。したがって、異なる会社のリモコンや、同じ会社の異なるモデルのリモコンは、同じタイプの他のデバイスと連携できないことがあります。

IR信号の探索

リモコンのIR信号がどのように見えるかを確認する最も信頼性の高い方法は、オシロスコープを使用することです。これは受信信号を復調したり反転したりせず、「そのまま」表示されます。これはテストやデバッグに役立ちます。NEC IRプロトコルの例で期待される信号を示します。

通常、エンコードされたパケットの最初にはプレアンブルがあります。これにより、受信機はゲインとバックグラウンドのレベルを決定できます。プレアンブルのないプロトコルもあります。例えば、シャープです。

次にデータが送信されます。構造、プレアンブル、およびビットエンコーディング方法は、特定のプロトコルによって決まります。

NEC IRプロトコルは、短いコマンドとリピートコードを含み、ボタンが押されている間に送信されます。コマンドとリピートコードの両方は、最初に同じプレアンブルを持っています。

NECのコマンドは、プレアンブルに加えて、デバイスが何を実行する必要があるかを理解するためのアドレスバイトとコマンド番号バイトで構成されています。アドレスとコマンド番号バイトは、伝送の整合性を確認するために逆の値で複製されます。コマンドの最後には追加のストップビットがあります。

リピートコードは、プレアンブルの後に「1」があり、これはストップビットです。

**論理「0」と「1」**のために、NECはパルス距離エンコーディングを使用します:最初にパルスバーストが送信され、その後に間隔があり、その長さがビットの値を設定します。

エアコン

他のリモコンとは異なり、エアコンは押されたボタンのコードだけを送信しません。ボタンが押されると、すべての情報を送信して、エアコンとリモコンが同期していることを確認します。 これにより、20ºCに設定された機械が1つのリモコンで21ºCに上昇し、別のリモコンがまだ20ºCの温度を持っている場合、さらに温度を上げると、21ºCに「上昇」することを避けることができます(21ºCにいると思って22ºCにはならない)。

攻撃

Flipper Zeroを使用して赤外線を攻撃できます:

FZ - Infrared

参考文献

HackTricksをサポートする

Last updated