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. Required fields are marked *

Related Post

セキュリティで今週:Samba、Wormhole Crypto Heist、Bogus Cveセキュリティで今週:Samba、Wormhole Crypto Heist、Bogus Cve

Sambaは非常に大きな脆弱性、CVE-202-44142を持っています。 4.15.5と同様に。 TrendMicroの研究者によって見つけられ、この認証されていないRCEのバグはCVSS 9.9で評価されます。節約猶予は、それが有効にされるフルーツVFSモジュールを必要とすることです。これは、MacOSクライアントとサーバー相互コップをサポートするために利用されます。有効になっている場合、デフォルト設定は脆弱です。 POCのコードがすぐに減少する可能性が高いため、攻撃は野生では見られませんでしたが、POCコードが遅くなる可能性が高いため、更新されるだけでなく更新されます。 ワームホールの暗号化 1つの注目に値する販売ポイント、web3は賢明な契約であり、介入なしで非常に迅速に連動する可能性があるブロックチェーンで直接実行されるビットコンピュータプログラムです。グラールな欠点がこれらのものであることは、介入なしで、非常に迅速に送金できるコンピュータプログラムです。今週は、攻撃者がワームホールブリッジを通して326百万ドルのエセラーを盗んだとき、職場での賢明な契約のもう1つの例でした。 CryptoCurrency Bridgeは、2つの異なるブロックチェーン上のリンクされた契約として存在するサービスです。これらの契約により、片側に通貨を入れて、他のブロックチェーンに効率的に通貨を譲渡することができます。私たちが何が悪かったのかを理解することは、[Kelvin Fichter]も同様に[SmartControcts]として適切に理解されています。 ブリッジが転送を行うと、トークンは1つのブロックチェーン上のWISE契約に堆積され、転送メッセージが生成されます。このメッセージはデジタル検査アカウントチェックのようなものです。ブリッジのもう一方の端は「チェック」のシグネチャーを検証します。この問題は、橋の一方の側で、検証ルーチンがエンドユーザーによって、そしてコードがそれをキャッチしなかったということです。 それは暑い点検詐欺です。攻撃者は、偽装された転送メッセージを作成し、Bogus検証ルーチンを提供し、ブリッジはそれを本物として受け入れました。お金の大部分は、他のユーザーの有効なトークンが開催されていた、そして攻撃者がそれらの民族トークンの90,000人で歩き回っていました。 9.8 CVEはそうではありませんでした 安全性およびセキュリティ報告書を扱うことは困難になる可能性があります。たとえば、英語はすべての最初の言語ではありませんので、文法の間違いと同様にスペルで電子メールが入手可能な場合は、それを拒否するのが簡単ですが、これらの電子メールは本当に深刻な問題を知らせています。それ以降は、ChromeのDevToolsが最初に初めてChromeのDevToolsを見つけたので、レポートを入手しています。 CVE-2022-0329はそれらの一つでした。懸念されるバンドルはPythonライブラリです。ロギングライブラリのメジャーCVE? Webは一括して1つのLog4Jスタイルの問題についてまとめてブレースされています。それから、より多くの人々が脆弱性報告書とバグ報告を見て、そして問題の妥当性に関する課題の質問を見始めました。そんなに、CVEが取り消されたこと。 githubが自動通知を発送していたというそのような高い安全性とセキュリティの問題として、バグ以外のバグがどのように評価されましたか。 理論的な脆弱性は、LOGURUの依存関係として含まれているPICKLEライブラリが、信頼されていないデータを安全に逆シリアル化しない逆シリアライゼーションの問題でした。それが有効な問題ですが、レポートは、Roguruが信頼できないデータを危険な方法で逆シリアル化することができる方法を正確に説明できませんでした。 ここでプレイするというアイデアは、「気密ハッチウェイ」です。任意の種類のコードベースまたはシステムでは、プログラムデータを操作することができる点がコードの実行をもたらす可能性がある。これは、そのアサルトがすでにプログラムを管理している必要があることを実行するときに気密ハッチウェイの背後にあります。この場合、ピクルスが逆シリアル化する項目を開発できる場合は、任意のコードの実行がすでにあります。それはそのようなインスタンスを修復するのに適していない状態ではありませんが、それは脆弱性を修復していません。 これがレールから出たところです。 [デルガン]は、Loguruの後ろのデザイナーが本当の脆弱性ではなかった、しかし彼はそのアイデアを中心にいくつかのコード強化を行うことを望んでいるので、承認された元の脆弱性報告書をマークしました。このセットでは、自動化された機械類を動かし、CVEが発行されました。そのCVEは、問題の素朴な包括的な、おそらく自動化された動作も同様に信じられないほど深刻に設定されました。この自動化されたフレンジーは、誰かが最後に踏み込まれる前に、すべての方法をGithub Advisoryに続けています。n。 Windows Eop Pop 1月、Microsoft Patched CVE-2022-21882、Win32コードのWindowsのエスカレーション。それをあなたにトリックさせないでください、それは64ビットバージョンの窓に存在します。あなたがあなたの最新情報の後ろになっているならば、あなたはこのバグのために概念の証明が下がったので、忙しくしたいかもしれません。これはパッチバイパスとして報告されており、これはこの基本的にはCVE-2021-1732とまったく同じ課題になりました。 QNAPが更新されました

PIからTEE VEEを送信するPIからTEE VEEを送信する

あなた自身のテレビ局を設定したいですか?このハックは役立つかもしれません:[Jan Panteltje]は、ラズベリーPIをDVB-S送信機に変える方法を正確に取り出しました。 DVB-Sは、もともと衛星放送用に製造されたテレビ伝送基本ですが、ハムは同様にそれを利用してアマチュア帯にビデオを送ります。 [JAN]は、ビデオを転送ストリームにエンコードするためにPI上のソフトウェアアプリケーションを利用することでした。 [JAN]は直接接続でシステムを効果的にチェックし、データをチェックアウトすることができるDVB-Sデコーダカードに送信機の出力を繰り返して、ビデオ信号を復号する可能性がある。本物の放送信号を生成するために、次のステップは、信号をブロードキャストする大きな送信機と同様に、信号の出力を増幅器に供給することであろう。 それは巨大なステップです。現時点では、これのための回路図はすべて手描き、そしてプロトタイプはプロトボードのワイヤラップビットです。これは非常に優れたハックですが、利用可能な素人DVB-S送信機がありますが、ほとんどの専用チップに符号化を入れています。私たちは、より簡単なDVB-T BASICとPIを利用しているほどハッキングを見ましたが、PIを大量の持ち上げの少しを行うことは、より手頃な価格であることをもっと柔軟にします。彼らの仕事の同僚として。