現在我們收聽MP3,以及視圖XVIDS或X264S,計算機是許多房屋至少一個空間中的享受中心。除非您有一個特殊的HTPC,否則您最有可能使用鍵盤暫停,修改音量,以及通過白斑Mythbusters Recaps快進。 PC遠程控制從古代串口設計(誰有一個?)到不受影響軟件不支持的USB設備。在此操作中,我們可以使用USB紅外接收器,它模仿Windows,Linux軟件支持的典型協議以及Mac。我們有一個完整的協議和零件列表的指南。 設計概要 遠程控制在調製的紅外光束上傳輸數據。紅外接收器IC將調製光束分離成0S的清潔流以及1S。數據流由微控制器解碼,也通過USB連接發送到計算機。軟件處理代碼以及計算機上的觸發操作。 背景 計算機紅外接收器 最舊的PC紅外接收器風格使用接收器IC來切換串行端口引腳,通常是DCD。這種風格最有可能起源於Usenet,並且它仍然是網絡上最突出的:Engadget,Reguitables等。這些不是真正的串行設備,因為它們不會將數據發送到PC。相反,串行端口上的計算機程序時間脈衝,也可以解調信號。這是一個非常簡單的設計,但這取決於直接中斷進入以及Windows中不再提供的定時精度。如果您仍然有串行端口,Linux或Mac用戶可以嘗試此接收器。我們無法讓這種類型的接收器與當代Windows XP PC上的串行端口一起使用,並不希望通過USB->串行轉換器進行準確的時間來傳輸。 一些更高級的紅外接收器是真正的串行端口設備,可在向計算機發送數據之前確定或解碼紅外信號。 UIR / IRMAN以及UIR2集成了傳統的圖片16F84,但不提供固件和/或源代碼。如果需要,這些設備應該通過USB->串行轉換器在現代計算機上工作。互聯網以及usbirboy是本機USB設備,但缺乏廣泛的支持。 接收器軟件 無論接收器類型如何,計算機都需要一個程序來偵聽傳入的遠程命令,並將它們轉換為計算機上的操作。 Linux以及Mac用戶有Lirc,它支持大量不同的接收器類型。 Windows用戶有點不幸。 WinLirc是一個廢棄的Windows of Lirc,適用於簡單的中斷的串口接收器; Winlirc在2003年開始開發。梁最初是一個免費軟件PC自動化實用程序,但最終最終成本為30天的試用版。幸運的是,仍可為GiRder(3.2.9b)的最後一件免費軟件版本下載。 使用IR遠程協議 解碼IR信號 遠程控制在38kHz提供程序脈衝的間距或時序中的編碼命令,[SAN BERGMANS]對所涉及的校長進行解釋。紅外接收器IC將數據流與載波分開。我們的任務是使用微控制器解碼數據流。有幾十個遙控協議,但是Phillips的RC5是廣泛的,通常由業餘愛好者使用。 RC5是每比特時間精確為1.778ms的14個相等長度位的流。在比特時間的前半部分期間的脈衝表示0,下半部分的脈衝表示1.該計劃被稱為曼徹斯特編碼。 我們使用邏輯分析儀來看看Hoadaunge Wintv遙控器的輸出,這是一個已知的RC5遙控器。該圖顯示了1個按鈕的兩個壓力機,以及2按鈕的兩個按鈕;請注意,輸出逆向以及曼徹斯特編碼從上面的描述後退。 前兩個比特時間是開始位,然後是肘節點。每次按下按鈕時,切換位反轉,使接收器可以在保持和重複的壓力機之間辨別差異。接下來的5位是地址(0b11110 = 0x1e),後跟命令(0b000001 = 0x01,0b000010 = 0x02)。向RC5的向後兼容擴展將第二個開始位作為命令位7使用。 將遠程代碼代表到計算機 查看以前的設計,我們看到了三種將遙控命令傳送到計算機的一般方法: 協議特定接收器解碼一個協議,以及將實際解碼命令發送到PC 一種更多的一般類型的接收器步驟,每個脈衝的間隔以及將全波形發送到PC進行分析。 一些接收器產生信號的不同散列,但是真的不包括足夠的數據來完全重新創建波形。 雖然我們的偏好是朝向總哈希方法,但我們唯一的遙控器使用RC5開發RC5特定解碼器更加令人著迷。我們解釋了對固件部分中更多的常規版本的修改。 計算機接口協議 我們不想編寫自己的接收器軟件或驅動程序,因此我們尋找現有的,良好認可的通信協議來模仿。 UIR / IRMAN / IRA / CTINFRA / HOLLYWOOD +型接收器由GIRDER以及LIRC支持,以及使用帶有握手的簡單串行協議: 小工具由DTS初始化以及串口的DTR引腳。我們沒有這些並不在乎。 […]