How-To:USB Remote Control Receiver

MP3を聴く、XVIDまたはX264Sを閲覧する今、コンピュータは多くの家の少なくとも1つのスペースの楽しみセンターです。しかし、あなたが特別なHTPCを持っていない限り、あなたは鍵盤を使ってキーボードを使って、ボリュームの修正、そして急速に早送りのMythBustersの再販を停止します。 PCリモートコントロールは、著名なソフトウェアでサポートされていないUSBデバイスに、古代シリアルポートデザイン(誰がいますか?)を受信します。このハウツーでは、Windows用のソフトウェア、Linux、およびMac用にサポートされている典型的なプロトコルを模したUSB赤外線受信機をスタイルします。部品リストだけでなく、プロトコルプラス回路図への完全なガイドがあります。

デザインの概要

リモコンは変調された赤外線のデータを送信します。赤外線受信機ICは、変調されたビームを1Sだけでなく0Sのクリーンストリームに分離する。データストリームは、USB接続を介してコンピュータに送信されるだけでなく、マイクロコントローラによってデコードされる。ソフトウェアはコードを処理し、コンピュータ上のアクションをトリガーします。

バックグラウンド

コンピュータ赤外線受信機

最も古いPCの赤外線受信者スタイルは、レシーバICを使用してシリアルポートピン、通常はDCDを切り替えます。このスタイルは、USENETに由来する可能性が最も高い、そしてそれはまだWeb上で最も顕著なものです:Engadget、Interestableなどは、データをPCに送信しないので真のシリアルデバイスではありません。代わりに、コンピュータプログラムがシリアルポート上のパルスと信号を復調するだけでなく、時間がかかります。これは非常に簡単な設計ですが、それはWindowsで提供されなくなったタイミング精度への直接割り込みゲインアクセスに依存します。まだシリアルポートがある場合は、LinuxまたはMacユーザーがこの受信側を試すことができます。このタイプの受信機が現代のWindows XP PC上のシリアルポートと協力すること、およびUSB->シリアルコンバータを介して転送する正確なタイミングを期待していませんでした。

いくつかの高度な高度な赤外線受信機は、コンピュータにデータを送信する前に赤外線信号を決定または復号する真のシリアルポートデバイスです。 UIR / IRMANとUIR2は従来のピクチャ16F84を統合していますが、ファームウェアやソースコードを供給しません。これらのデバイスは、必要に応じてUSB->シリアルコンバータを介して現代のコンピュータで動作する必要があります。 USBIRBOYとUSBIRBOYはネイティブUSBデバイスですが、幅広いサポートがありません。

受信者ソフトウェア

受信者タイプに関係なく、コンピュータには、着信リモートコマンドをリッスンするためのプログラムが必要であり、それらをコンピュータ上のアクションに変換します。 LinuxおよびMacユーザーはLIRCを持っています。これは多くの異なる受信機タイプをサポートしています。 Windowsユーザーは少し幸運です。 WinLircは、簡単な割り込みベースのシリアルポート受信機のためのLIRCの放棄されたWindowsポートです。 WinLircは2003年に最後に開発されました。幸いなことに、Girderの最後のフリーウェア版(3.2.9b)はまだダウンロードのために提供されています。

IRリモートプロトコルの操作

IR信号を復号化します

リモートコントロール38kHzプロバイダパルスの間隔またはタイミングでエンコードコマンド、[San Bergmans]は、関係するプリンシパルについて説明しています。赤外線受信機ICはデータストリームをキャリアから分離する。私たちの仕事は、マイクロコントローラでデータストリームを復号することです。たくさんのリモートコントロールプロトコルがありますが、PhillipsのRC5は普通に普通に使用されているとともに、趣味で使用されています。

RC5は1ビット時間あたり1.778msの正確に14の等しい長さのビットのストリームです。ビット時間の最初の半分の間のパルスは0を表し、後半のパルスは1を表す。この計画はマンチェスター符号化と呼ばれます。

私たちは、既知のRC5リモコン、既知のRC5リモコンの出力を調べるためにロジックアナライザを使用しました。ダイアグラムは、2ボタンの2つのプレスと2ボタンの2つのプレスを示しています。なお、出力は上記の説明から逆方向に逆になることに留意されたい。

最初の2ビット時間は開始ビット、その後にトグルビットが続きます。受信機が繰り返しプレスと同様に、ボタンが押されるたびにトグルビットが逆になります。次の5ビットはアドレス(0b1110 = 0x1e)、その後にコマンド(0b000001 = 0x01,0b000010 = 0x02)です。 RC5への後方互換の拡張機能は、コマンドビット7として2番目のスタートビットを使用します。

コンピュータへのリモートコードを表す

前のデザインを見ると、リモートコマンドをコンピュータに伝達する3つの一般的な方法があります。

プロトコルの特定の受信機は1つのプロトコルを復号し、実際の復号化されたコマンドをPCに送信します。

もっと一般的なタイプの受信機は、各パルスの間隔だけでなく、各パルスの間隔も分析のためにPCに送信する。

いくつかの受信機は信号に対して異なるハッシュを生成しますが、波形を完全に再現するのに十分なデータを実際には含まれていません。

私たちの好みが一般的なハッシュメソッドに向かっている間、私たちの唯一のリモートはRC5を使用していますそれがRC5の特定のデコーダを開発するのはもっと魅力的だったので。ファームウェアセクションでは、もっと一般的なバージョンの変更を説明します。

コンピュータインタフェースプロトコル

私たち自身の受信側ソフトウェアまたはドライバを書いたくなかったので、模倣する既存のよく認められた通信プロトコルを探しました。 UIR / IRMAN / IRA / CTINFRA / Hollywood + Type Receiverは、LIRCと同様に桁だけでなく、ハンドシェイクで簡単なシリアルプロトコルを使用しています。

ガジェットは、DTSとシリアルポートのDTRピンによって初期化されます。私たちはこれらのものも持っていません。

コンピュータはオプションの遅延で「IR」を送ります。ガジェットは「OK」と返信します。すべての “R”に “OK”を送る

リモートコントロールコードは、異なる6バイトハッシュとして送信されます。実際の値を送信するだけでなく、RC5信号をデコードしますが、代わりに一般的なハッシュが使用される可能性があります。

このプロトコルはシリアルポートデバイス用ですが、USBレシーバは仮想シリアルポートとして表示され、プログラムは違いを理解できません。

ハードウェア

フルサイズの回路図(PNG)の右クリックしてください。私達の受信者はUSB対応の写真18F2455マイクロコントローラ、18F2550のより小さく、高価なバージョンに基づいています。 18Fの世帯は、VPPをリスクフリーレベルに減らすためにダイオードを使用している場合、Hobbyistの好ましいJDMスタイルのプログラマとプログラム可能です。ピクチャは、1つのデカップリングコンデンサ(C1)、およびICSPプログラミングヘッダー上の抵抗(R1)と同様にダイオード(D1)を取得します。デバッグ用のPINヘッダまたはMAX RS232トランシーバICを使用して、シリアルポートを露出させました。

USBペリフェラルには、20MHzの外部クロック(Q1、C5,6)、および.220UFコンデンサが必要です。 2 xの0.1UFデカップリングコンデンサ(C2,3)を使用してコンデンサを偽造しました。 3mm LED(LED1)と330Ωの現在の制限抵抗(R2)はUSB接続状態を示しています。

4.7UFデカップリングコンデンサ(C4)を呼び出すTSOP-1738赤外線受信機ICを使用しました。この特定のICを発見できない場合は、ここでは任意のタイプの受信者が機能する必要があります。 TSOP-1738出力は受信信号の逆数であり、パルスが検出されたときにグランドに引っ張るので、信号が存在しないときにプルアップ抵抗(R3)がピンをハイに保持します。確認した場合は、別の受信側を使用するかどうかを確認してください。

回路はUSBバスから電力を引きますので、追加の電源装置を必要としません。

パーツリスト

フルサイズの配置図(PNG)の場合は、ここをクリックしてください。 PCBスタイルは片面だけでなく100%スルーホールです。 CADSoft EagleとPCBと同様に、CADSoft Eagleで作られていました。すべてのファイルはジョブアーカイブ(ZIP)に含まれています。

部

説明

IC1

PIC 18F2455

–

28ピン.300ソケット

C1,2,3

0.1UFコンデンサー

C4.

4.7UFコンデンサー

C5,6

27PFコンデンサ(15pFが良くなる可能性があります)

D1.

1N4181ダイオード

Q1

20MHzの水晶

R1,3

10Kオーム抵抗器

r2

330オーム抵抗器

ts ts

TSOP1738(時代遅れ、TSOP1138)

USB

USB ‘B’プラグ、女性

ser

.1 “ピンヘッダ

ICSP.

.1 “ピンヘッダ

ファームウェア

ファームウェアは、マイクロチップの無料発表C18コンパイラを使用してCで書かれています。ソースと同様にファームウェアはジョブアーカイブ(zip)に含まれています。

マイクロチップのUSBスタックのバージョン2.3を使用して、すでに多くのシステムで提供されているデフォルトのChauffeursを使用してUSBシリアルポートを作成しました。 USBスタックは、USBガジェットを列挙するための簡単な機能と、ガジェットとホスト間でデータを転送します。 CDCプレゼンテーションをカスタムメイドのハードウェアに取り組むために数ピンの変更を加えただけです。

UIR / IRMAN / IRA / CTINFRA / Hollywood + Protocolの私達の実装は、「OK」を持つ文字 ‘r’に応答するだけです。これは、このプロトコルのあらゆる種類の実装のハンドシェイク要件を満たすべきです。

私たちは、それが広く使用されているプロトコルであるため、RC5(およびRC5X)を具体的にデコードすること、および私たちが扱う必要があるリモコンの唯一のタイプです。復号化の多くは割り込みハンドラで行われます。

非常に最初の信号変更は、889US(半ビット期間)タイマーを開始する割り込みをトリガします。

各タイマ割り込みでは、マンチェスター符号化ビットの半分がサンプリングされます。

測定値は、他のすべての割り込みが比較され、ビット値は0,1、またはエラーであると計算されます。エラー復号ルーティングをリセットします。

各送信の終わりに、コマンドバイトと同様にアドレス、ならびに4つのバッファバイト(0)を備えたホストに送信される。 PCソフトウェアを他のプレスごとに混同しているため、トグルビットを破棄します。 RC5Xコンプライアンスのコマンドビットに2番目のスタートビットを追加します。これは0x40以外のRC5Xリモートコードに0x40を追加します。

マンチェスターコーディングステップ(3)を削除することによって、および48個のサンプルビット(6バイト全て)をコンピュータに送信することによって、もっと一般的なバージョンを作ることができる。

USB赤外線受信機のインストール

ほとんどのオペレーティングシステムはすでにAをサポートするChauffursを持っていますレシーバのような仮想シリアルポートガジェット。 Windows XPには必要なドライバがありますが、それらをそれらを適切に私たちのデバイスと関連付けるには、必要があります。

Windowsは、受信側をプラグインする最初の時間に初めて新しいハードウェアダイアログを表示します。カスタムメイドのドライバを使用する場合と、ジョブアーカイブ(zip)に含まれる.infデータにそれをポイントします。これは、ガジェットをすでにWindowsに含まれているモータリストにリンクしています。受信者をCOMポートとして追加します。コントロールパネルのCOMポート番号を確認できます。

MacおよびLinuxユーザーはLIRCで受信者を使用できますが、Windowsユーザーは古い、フリーウェアの桁数、または新規、30日間のトライアルSharewareバージョンのオプションに直面します。私たちは桁のフリーウェア版を使いましたが、あなたが見落とされた素晴らしい、オープンソースの代替を提案することを願っています。

使用するコンピュータ側コントロールソフトウェアに関係なく、UIR / IRMAN / IRA / CTINFRA / Hollywood +スタイルレシーバー用に設定したり、割り当てられたCOMポートまたはシリアルアドレスに移動します。当社の受信機は、「Fast UIR INIT」のような任意の種類のプロトコルオプションと同様に、「IR」 – >「OK」ハンドシェイクを短縮または取り除くことのような任意の種類のプロトコルオプションと互換性があります。今すぐあなたのソフトウェアの文書に従って受信機をテストしてください。

手動端末インタフェースとデバッグ

受信者に問題がある場合、または興味がある場合は、シリアル端末からインタフェースしてみてください。ヘラクレスのシリアルターミナルが本当に好きです。右のCOMポートを設定しますが、USBシリアルポートドライバによってスピードと設定設定は無視されます。

資金調達 ‘R’はタイムリーに受信者に「OK」を返信します。 RC5コードは生のバイトとして返されるので、それをASCIIテキストとして翻訳するのではなく、ターミナルが16進数の値を表示するように設定してください。非常に最初のバイトは、RC5アドレスバイト(0x1e)、その後にコマンドバイト(0x41)が続き、次に4つのバッファ0がUIR / IRMANプロトコルに付着します。写真はハンドシェイク、および1,2の短いプレスの出力と3つのボタンを示しています。

Portmonと呼ばれる無料のユーティリティは、レビューのためにCOMポートアクティビティを記録します。これは、既存の受信者プロトコル上でのスパイ、およびカスタムメイドのハードウェアと閉鎖/独自のソフトウェアとの対話をデバッグするのに役立ちます。画像は、初期化文字列 ‘IR’(0x49,0x52)、および受信側の応答 ‘OK’(0x4F、0x4B)を送信します。

それをさらに服用する

当社のRC5X準拠受信機は、広く使用されているインターフェースプロトコルに従います。オープンソースの赤外線受信機の追加機能のためのトンの可能性があります。

元のUIR / IRMANハードウェアのように、一般的なハッシュジェネレータを介してすべてのリモートをサポートします。

RC6のような追加のリモートプロトコルデコーダを追加します。

複数の設定可​​能なインターフェイスプロトコルをサポートします。

シリアルポートI / Oを実装してください。

プロトコル、インタフェースモード、タイミングオプション、シリアルポートなどを含むEEPROMで設定オプションを保存します。

Leave a Reply

Your email address will not be published.

Related Post

Arduino Balling GameArduino Balling Game

あなた自身のゲームプラットフォームを構築することはそれ自身でかなり素晴らしいですが、ゲームが実際にプレーするのが楽しいように見えるとき、それは別のレベルのクールなレベルです。 [zippy314] Das Blinken Bonkenと呼ばれる子供のクリスマスプレゼントとしてArduinoベースのゲームプラットフォームを作成しました! すべての非常に中毒性のゲームと同様に、ゲームプレイはシンプルです。プレーヤーは特定の「パッド」を狙っている間にターゲットボードにボールを投げます。ブレーク後のビデオに示すように、毎回照らされたターゲットを打つことを試みるように、またはビード上のすべてのパッドをできるだけ速く命中しようとしているように、このプラットフォームを使用してたくさんのゲームの可能性があります。 パッドは自家製の圧力センサーの助けを借りて「ヒット」として登録されており、それぞれ感圧導性導電シートの「サンドイッチ」で構成されています。これはこれらのLEDスニーカーで使用されているのと同じ素材です。シートを通る抵抗が圧力として低下することを考慮すると、基本分圧回路はArduino上のアナログ入力を供給するために使用され、したがって「ヒット」を発見することが非常に簡単になる。 I2C 4桁7セグメントディスプレイはスコアを維持し、アドレス指定可能なRGB LEDのストリップはプレイヤーフィードバックやその他の重要なゲームプレイ情報を提供します。

GoogleのiPhoneの音声検索GoogleのiPhoneの音声検索

を逆にすると、最近Google Mobile Appを新しい機能で更新しました。 あなたがあなたの耳に電話を上げると音声検索は自動的にリスニングを開始します。 あなたが探しているものを言うだけで、Googleを投票して結果を返します。 アプリはGoogleの音声認識エンジンを活用しており、彼らはGoog-411でトレーニングしていました。 [Andy Baio]はオーディオ転写を試してきており、新しいアプリがシーンの後ろにしていたことを好奇心旺盛でした。 彼は彼らが彼のネットワークを横断したときにパケットを盗聴することによって始めました。 残念ながら、送信されたデータパケットのサイズは非常に小さいので、彼はほとんど確実に何かを欠けている。 彼はこの努力ではあらゆる助けに感謝しました。 問題の一部は、Googleが特別な治療を受け、文書化されていないiPhone SDK機能を使用している可能性があります。

iPhone 3.1.2ファームウェアのCydiaからInstall0US 2.5.1をダウンロードするiPhone 3.1.2ファームウェアのCydiaからInstall0US 2.5.1をダウンロードする

昨日、待望の更新をインストール0US(バージョン2.5)に報告したのは昨日でしたが、今ではアプリの開発者がすでに新しいものをプッシュしているようです更新、Cydia経由のバージョン2.5.1。このアップデートで新しいことは、開発者がバージョン2.5から削除するのを忘れた有効期限を削除することです。アプリのバージョン2.5は、今から4日後に期限切れになります。このアプリの使用を継続するには、バージョン2.5.1にアップグレードする必要があります。これが開発者自身からの公式の言葉です: くそー、私はとても愚かだと感じています。恥ずかしい、みなさん、ごめんなさい。ベータテスト中、セキュリティとして、アプリケーションで有効期限を使用しました。そして、何を推測しますか…私は最終リリースでそれを削除するのを忘れました!!!次に、リポジトリを更新して修正しました。また、iPhone.org.hk.Sourceのエンドレスアップデートを修正しました…申し訳ありませんが、私の悪いことです。 知らない人のために、Install0US 2.5.xはゼロから完全に書き直されており、いかなる種類の違法サイトとのリンクもない新しいユーザーインターフェイスを誇っています。また、複数のファイルのダウンロードを一度にサポートするダウンロードマネージャー、本格的なWebブラウザー、ほぼすべてのタイプのファイルホスティングサイトのサポートも追加されています。 Install0US 2.5.xをダウンロードしてインストールするためのステップバイステップの指示は、こちらをご覧ください。このアプリをインストールするには、ファームウェア3.x以上を搭載したJailbroken iPhoneが必要です。 iPhone 3.1.2ファームウェアでiPhone 2G、3G、3GSを脱獄するために、ここに投稿されたステップバイステップガイドに従ってください。 免責事項メモ:とにかく著作権侵害をサポートも促進もしていません。この記事は、純粋に情報のみを目的としています。あなた自身の責任で進めてください。アプリが好きな場合は、アプリストアからアプリを購入して開発者をサポートしてください。 Twitterで私をフォローするか、Facebookのファンページに参​​加して、最新の脱却およびロック解除リリースについて最新の状態に保つことができます。