AppleRemoteの送信コードの謎
リーダーコードやリピートコード、データの構成は基本的にはNECフォーマットですが、本来はベリファイの為の反転信号のところ、別の信号を送信しています。
16bit(カスタムコード) + 16bit(データコード) 合計 32bitデータです。
KEY | CODE SET B | CODE SET A |
UP | 87EE**0B | 87EE**0A |
DOWN | 87EE**0D | 87EE**0C |
LEFT | 87EE**08 | 87EE**09 |
RIGHT | 87EE**07 | 87EE**06 |
CENTER | 87EE**5D 87EE**04 |
87EE**5C 87EE**05 |
MENU | 87EE**02 | 87EE**03 |
PLAY/PAUSE | 87EE**5E 87EE**04 |
87EE**5F 87EE**05 |
PAIR ON | 87E0**03 | 87E0**02 |
PAIR OFF | 87E0**05 | 87E0**04 |
この表の「**」は、リモコンの固有信号です。 ペアリング時の識別に使用します。
バイトオーダーの兼ね合いで、順が違っているかもしれません。 16bit単位で処理しています。 状況に応じてLE/BEを入れ替えてご利用下さい。
CODEに2つ信号があるのは、2つ連続で送信しています。 これは、旧AppleRemote(白いプラスチックモデル)との互換性のために送信しているものと思われます。 長押しの時は、リピートコードを送信します。 また、ペアリング信号は、リピートコードではなく同じ信号を繰り返し送信しています。
モデルナンバー A1294 と同一。 外観からは一切区別がつかないに、送信されるコードが違うものが混じっています。
海外のサイトでは、AppleTV付属と、単体リモコンの違いのように書いてありますが、単体購入したものでコードが違っているものが存在していることを皆様のご協力のもと、確認できました。
追記==========================
NECフォーマットは、本来は、日本電気に登録して、使えるカスタムコードを貰わないと、他社のリモコンとコードが重なってしまって誤動作する可能性があります。 (現在、登録業務はルネサス・エレクトロニクスが引き継いでいるらしい)
同じカスタムコード内で使える信号は、実質的に8bit。つまり256種類しかありません。
Apple社は、正式に登録しているのでしょうか。 カスタムコードが単一のリモコンから2種類送信していますので、なんとも微妙な気配がします。 データコードの反転信号も無視していることから、他社リモコンでの誤動作の可能性は低く、独自フォーマットとしているように思われます。 とは言ってもアップル社は訴訟関連にシビアな目線で製品を企画していますから、カスタムコードを2つ購入しているのかもしれません。
ブログ村に参加してみました
他の方の記事も興味深いものがあります。
« Stereo 2014年1月号 の付録は | トップページ | 2つのAppleRemote対応 OK »
「マイコン」カテゴリの記事
- PICkit 3のProgrammer-To-Goを試す(2019.01.26)
- PICマイコンの開発環境 × Windows 8.1 は動作しないらしい(2014.07.21)
- IrBerryDACのPICプログラムソース公開(2014.03.13)
- MPLAB X IDE 手ごわい(2014.03.09)
- AppleRemoteの送信コードの謎(2013.11.27)
写真で見る限り、本当にMODELナンバーも一緒なんですね。
これはすごくやっかいです。
投稿: mr_osamin | 2013年11月27日 (水) 10時39分
mr_osamin さん
まあ、送信コードさえ判っていれば対応は別に難しくないんです。
土日にNECフォーマットへの改造と2つのリモコン受信は終わっています。
その他の部分のプログラムを製作中です。
意外と最後の2週間で、あれこれやっていたようです(笑
投稿: たかじん | 2013年11月27日 (水) 12時39分