Infrared
赤外線の動作方法
赤外線は人間には見えません。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リモコンはありません。
メーカーは、同じ種類のデバイス(たとえば、TVボックス)内でも独自のユニークなIRプロトコルを使用することが好きです。したがって、異なる企業のリモコンや、時には同じ企業の異なるモデルからも、同じ種類の他のデバイスとは動作しないことがあります。
IR信号の探索
リモコンのIR信号がどのように見えるかを確認する最も信頼性の高い方法は、オシロスコープを使用することです。これは受信信号を復調したり反転したりしないで、受信した信号をそのまま表示するだけです。これはテストやデバッグに役立ちます。NEC IRプロトコルの例を示します。
通常、エンコードされたパケットの先頭には前文があります。これにより、受信機はゲインと背景のレベルを決定できます。また、Sharpなどの前文のないプロトコルもあります。
その後、データが送信されます。構造、前文、およびビットエンコーディング方法は、特定のプロトコルによって決定されます。
NEC IRプロトコルには、ボタンが押されている間に送信される短いコマンドとリピートコードが含まれています。コマンドとリピートコードは、同じ前文を持っています。
NECのコマンドは、前文に加えて、アドレスバイトとコマンド番号バイトから構成され、デバイスが何を実行するかを理解します。アドレスとコマンド番号バイトは逆の値で複製され、送信の整合性を確認します。コマンドの最後には追加のストップビットがあります。
リピートコードには、前文の後に "1" があり、これがストップビットです。
論理 "0" および "1" のためにNECはパルス距離エンコーディングを使用します: まず、パルスバーストが送信され、その後に一時停止があり、その長さがビットの値を設定します。
エアコン
他のリモコンとは異なり、エアコンは押されたボタンのコードだけを送信するのではありません。エアコン機器とリモコンが同期されていることを確認するために、ボタンが押されたときにすべての情報も送信されます。 これにより、1つのリモコンで20℃に設定された機械が21℃に増加し、その後、まだ温度が20℃の別のリモコンを使用してさらに温度を上げると、それを21℃に「増加」し、21℃にあると思って22℃にならないようにします。
攻撃
Flipper Zeroを使用して赤外線を攻撃することができます:
pageFZ - Infrared参考文献
Last updated