讓手機的IrDA成為遙控器,:-)
來源:互聯網
上載者:User
理論上是可行的,實現卻需要軟硬體結合,這裡只是談一點實現機制。
實現資料轉送和Remote Control的紅外訊號的波長不同,實現資料轉送大致在850 - 900納米,而Remote Control則在900 - 1000納米(實際使用大致是940 - 950納米的波長).
目前所知的可實現這種功能的IrDA有兩個品牌的,安捷倫(Agilent)HSDL系列和Vishay TFDU系列.
安捷倫是採用了兩個發射器(emitter),分別發送這兩種波長的IR訊號,Vishay是讓這兩種波長訊號的波形峰值部分充分重疊。個人感覺安捷倫的方案應該更易懂一點了,^_^。
進行資料轉送的IR要複雜的多,因為作為資料轉送的IR需要有裝置偵測(Discovery),建立串連,傳輸控制,接收,發送等等一系列操作。而作為Remote Control卻只需發送訊號就OK了,連Discovery也不用,所以作為Remote Control的紅外其實並不知道前方會有個接收資料的IR裝置,:-).
而協議部分,Remote Control的訊號資料格式有很多,用的最多的就是RC5和RC6兩種格式了,由Philips和NEC所使用。協議格式很簡單,就是1個字的資料,一個頭,兩個bit是start bit,接著bit3是T位,接著5個bit標誌該命令在遠程裝置端的物理地址,最後6個bit是command,表示命令,所以RC5隻能有2e6 - 1=63個頻道,^_^。
RC5和RC6的關係就像IPv4和IPv6一樣,RC5的結構不夠用了,就有了RC6。
然後就是有點玄的地方了,遙控家電裝置的控制器是類比電子,而手機紅外是數位,需要使用軟體對訊號載波調製。
市場上的家電的紅外訊號格式不盡相同,所以具有學習功能的IrDA遙控器就出現了。
原理和簡單了,就是讓這些家電的遙控器對著手機的IR端發送一遍,手機端收到後,把訊號格式記下,然後讓使用者命名一下就OK了,至於內部儲存,可以使用XML,然後使用時用一個簡單的XML Parser解析一下就行了。
寫到這裡,也差不多了,以後如果瞭解到更詳細的,再更改了,呵呵。
最後再說一個日常的事情,我們平時看到的萬用遙控器,是把好幾種資料格式存在裡面,像Philips,NEC,Sony的,都存一下,然後遙控時,就把這幾種格式依次發一遍,就實現了所謂的萬能遙控了,^_^。