android 空調遙控器——簡單傳送內容
1、首先我們先來了解一下格力空調的編碼格式 這個網上都有
格力空調遙控器(yb0f2)紅外碼組成如下,按解碼順序排列
起始碼(s)+35位資料碼+連線碼(c)+32位資料碼
各種編碼的電平寬度:
資料碼由「0」「1」組成:
0的電平寬度為:600us低電平+600us高電平,
1的電平寬度為:600us低電平+1600us高電平
起始碼s電平寬度為:9000us低電平+4500us高電平
資料碼看下圖
2、資料拼接
(四個部分:起始碼+35資料碼+連線碼+32資料碼
分別:1位+35位+1位+32位=69位x2=138個時間)(每位由乙個高和乙個低組成)
由於這個屬於命令編碼 在好多地方都能用得到,我們就新建乙個類把它拿出來如下: **裡面注釋很清楚了自己看下
package com.gaoyu.smarttools.date;
/** * created by $ on 17/6/3.
* * * 下面是空調遙控器編碼
* 格力空調遙控器(yb0f2)紅外碼組成如下,按解碼順序排列
* 起始碼(s)+35位資料碼+連線碼(c)+32位資料碼
* 各種編碼的電平寬度:
* 資料碼由「0」「1」組成:
* 0的電平寬度為:600us低電平+600us高電平,
* 1的電平寬度為:600us低電平+1600us高電平
* 起始碼s電平寬度為:9000us低電平+4500us高電平
* 連線碼c電平寬度為:600us低電平+20000us高電平
* * 校驗碼的形成機制如下:
* 校驗碼 = [(模式 – 1) + (溫度 – 16) + 5 +左右掃風+換氣+節能]取二進位制後四位,再逆序;
* * 例如:如果需要設定一下的狀態,模式4,30℃,左右掃風,換氣關閉,節能關閉,那麼校驗碼為:
* (4 – 1)+(30-16)+5+1+0+0= 23,二進位制為10111,取低四位為0111,逆序後為1110
* * 為了方便編碼,在編碼時可以正序,解碼端再逆序,解碼的時候先解碼低位元組,再解碼高位元組的位。
* 另外定時資料對最後的校驗碼的影響沒有測試,因為很少會用到這個功能。
*/public
class
codecommand ;
}
3、構造主介面呼叫上面咱們配置好的陣列 布局就自己加吧超級簡單的
//需要api大於19與下面if判斷用途類似
@requiresapi(api = build.version_codes.kitkat)
public
class
infraredactivity
extends
baseactivity
implements
view.onclicklistener
//初始化ui
private
void
initui()
//初始化事務
private
void
initevent() else }}
/*** 發射紅外訊號
* 可以檢視這個標籤的log consumerir
*@param carrierfrequency 紅外傳輸的頻率,一般的遙控板都是38khz
*@param pattern 指以微秒為單位的紅外開和關的交替時間
*/private
void
sendmsg(int carrierfrequency, int pattern)
tv_detail.settext(content+"\n"+(pattern.length)+"個時間資料");
}@override
public
void
onclick(view v) else
break;}}
}
4、跑起來效果如下
自製紅外空調遙控器
自製空調紅外遙控器 一開始網上看了很所紅外的協議nec,rc 5,rc 6,sirc。太多了,據說國內用的最多的是nec的協議。看看實際的波形圖吧 這是家裡格力空調遙控器的開機波形。先講一下紅外置收頭,市面上的有很多種,但總結下就是沒訊號高電平,有型號低電平,還有就是需要38khz的載波對應。傳送頭...
遙控器中斷
我們以4.9.44版本核心的ir遙控器為例。使用cat proc interrupts命令 其中橫向,第一列是中斷號,第二列是各中斷在cpu中發生的次數,gicv2 是中斷控制器的名稱,第三列也是中斷邏輯號,第四列是驅動註冊的中斷名稱。例如 中斷號 130 對應的就是遙控器的中斷。vendor ms...
android學習 酷狗手機遙控器
前言 學習,掌握android下套接字的使用.與mfc套接字的通訊.2.分析 手機端用android 電腦使用mfc框架實現.酷狗中有全域性熱鍵,因此我們可以通過模擬鍵盤按鍵從而達到切歌等操作.3.手機端實現 main label mainactivity 主介面 servicekugou comm...