一级女人毛片人一女人-一级女性大黄生活片免费-一级女性全黄久久生活片-一级女性全黄生活片免费-国产美女在线一区二区三区-国产美女在线观看

光譜儀資訊

光譜儀資訊

紅外遙控及Android手機紅外遙控器開發

紅外遙控技術是一種結合紅外技術、紅外通信技術和遙控技術實現的無線控制技術。由于紅外波長短,對障礙物的衍射能力差,不能穿透墻壁,紅外遙控技術更適合短距離直線控制樣,放置在不同房間的家用電器可以使用通用遙控器而不會相互干擾。

紅外遙控所需傳輸的數據量較小,一般只有幾到幾十個字節,傳輸距離一般小于 10 由于功耗低、成本低、易實現等諸多優點,米廣泛應用于電視機、機頂盒、DVD 家用電器的遙控器,如播放器、功放、空調等。

一些智能手機配備了紅外遙控功能(即安裝紅外發射器)。然后,安裝紅外發射器的智能手機可以用作遙控器,也可以用手機遙控許多家用電器。在具有紅外功能的智能手機的頂部,有些鑲嵌著一個或多個小燈泡,有些是一個小黑色的蓋子,這個黑色的蓋子對紅外線是透明的,只是肉眼 ** 它。帶燈泡的紅外遙控器就像一個手電筒。紅外光照射到哪里,電器將接收響應,這決定了紅外遙控器的三個特點:

配備紅外發射器的手機,可作為遙控器使用,還可作為手機遙控許多家電,這就需要破解電器的信號編碼。

通用紅外遙控系統主要由發射和接收兩部分組成。發射部分包括單片機芯片或紅外遙控發射專用芯片的編碼和調制,紅外發射電路的發射;接收部分包括一體化紅外接收頭電路的接收和解調,單片機芯片的解碼。紅外遙控發射專用芯片很多,編碼和調制頻率也不完全一樣。實現紅外遙控功能的手機主要是發射紅外信號,需要了解紅外信號的編碼和調制原理。

紅外遙控器發出的信號由一串信號發出「0」和「1」由不同芯片組成的二進制代碼「0」和「1」通常有曼徹斯特 (Manchester) 脈沖寬度編碼 (PWM)。大多數家用電器使用的紅外遙控器都是脈沖寬度編碼,如下圖所示:

二進制信號的調制由送單片機芯片或紅外遙控發射專用芯片完成,編碼后的二進制信號調制為頻率 38kHz 間斷脈沖串相當于乘以頻率為38的二進制信號編碼kHz 脈沖信號獲得的間斷脈沖串是紅外發射二極管調制后發送的信號。通用紅外遙控器常用的紅外遙控發射 38kHz,這是由發射機使用的 455kHz 決定陶瓷晶振。晶振在發射端整數分頻,分頻系數一般取 12 所以 455kHz ÷ 12 ≈ 37.9kHz ≈ 38kHz。

在紅外開發中,最重要的可能是發送二進制信號的編碼協議。每個制造商使用不同的編碼協議,因此遙控器無法相互控制。即使編碼協議相同,不同的用戶代碼也不能被接收端接受。因此,首先要解決的問題是各種家用電器、各種制造商使用的編碼協議和用戶代碼。然而,電器種類繁多,這種應用難以兼容。一些大型制造商將在互聯網上發布自己產品的編碼和相應功能鍵的數據序列,以促進其他開發人員的開發。至于其他未發布的,可能需要使用紅外解碼器來破解其使用的協議和每個功能鍵對應的數據代碼。

在日常家用電器中,NEC 編碼是一種常見的編碼協議, 通用紅外遙控器發出的一串二進制代碼可分為功能「引導碼,用戶碼 16 位、數據碼 8 位,數據反碼 8 位和結束位」,編碼共占 32 位置如下圖2所示:

其中一個是導碼 9ms 的 38kHz 至少和一個載波 4.5ms 由無載波低電平結果碼組成。用戶碼由低 8 位和高 8 位組成 (用戶代碼高八位和低八位可以用原碼和反碼來糾正錯誤,但也可以直接使用 16 不同的遙控器有不同的用戶代碼,以避免不同設備的干擾,用戶代碼也稱為地址代碼或系統代碼。數據代碼通過原碼和反碼重復發送,碼時用于糾正數據。遙控器發射編碼時,低位在前,高位在后。結束位是 0.56ms 的 38kHz 載波。而其中的「0」碼由 0.56ms 的 38kHz 載波和 0.56ms 脈沖寬度由無載波低電平組成 1.125ms,「1」碼由 0.56ms 的 38kHz 載波和 1.69ms 脈沖寬度由無載波低電平組成 2.25ms,如下圖所示:

紅外遙控器的解碼器可以分析普通家用電器的紅外遙控信號,除以下兩種信號外:1。空調遙控器,空調控制比較復雜,光溫可調整十次以上,難以破解。2、照明遙控器,燈本身發光發熱,但也會發出大量的紅外線,必然會對外部紅外線信號造成嚴重干擾;只能使用射頻遙控器。

紅外解碼器是家電維修人員必備的儀器,常用于檢測遙控器是否能正常工作。為了使手機實現遙控功能,開發人員還應使用解碼器捕每個按鈕對應的紅外信號。紅外信號由三部分組成:

例如,電路61212表示NEC6121協議的紅外信號編碼格式為:引導碼 用戶碼 數據碼 數據反碼 引導碼和結束碼是固定的,數據反碼是由數據碼取反的,只有用戶碼和數據碼才能真正改變。

在App工程的AndroidManifest.xml紅外權限配置補充

紅外遙控功能Android4.4之后開始支持,相應的管理名稱ConsumerIrManager,常用的三種方法是:

下面是紅外遙控管理的包裝

正如上面提到的,一般家用電器遙控器的頻率是3.8萬,核心是tran ** it()上面第五部分提到了方法的信號編碼參數,編碼由引導碼(9ms 4.5ms) 用戶編碼(高八位) 用戶編碼(低八位) 鍵數據碼 鍵數據反碼 結束結束碼,然后根據一定的編碼規則合成數組。以NEC以6122協議為例,引導碼固定(9000 4500),結束碼可以按(560,2000)停止。不同遙控器的區別主要在于用戶代碼和數據代碼。同一遙控器的用戶代碼相同。不同的按鈕有不同的代碼值,代碼值可以轉換相應的數據代碼和數據反向代碼。

用戶碼是0X08E6.按鈕2對應的碼值為0X41.代碼值由16進制表示,轉化為二進制,用戶碼高8位08為0001000,用戶碼低8位E6為1100110,數據碼41為0100001,數據反碼為10111110。

由于手機和遙控器的信號編碼不同,需要逆序編碼。逆序編碼后,用戶用戶代碼為0001000,8位用戶代碼為0110011,1,數據代碼為1萬,數據代碼為0111101。

但是編碼轉換已經完成tran ** it方法,參數傳輸整形數組的信號,不是二進制數,而是電平信號數據。電平是電路中某一點電壓的高低狀態,數字電路中常用高電平表示1從上面第四部分圖3可以看出,當遙控器發射紅外信號時,通過560us低電平 1690us通過560代表1us低電平 565us低電平代表0。于是編寫Android使用560、1690代表二進制1,使用560、565代表二進制0,具體數組值如下:

這些轉換工作的具體代碼如下:

在需要發射紅外信號的地方調用如下:

cache
Processed in 0.029976 Second.