Be1ieve 发表于 2013-8-9 21:39:17

格力空調控制

本帖最后由 Be1ieve 于 2013-8-9 21:40 编辑

開始還是要推薦blueleafxp這篇:http://www.geek-workshop.com/thread-5146-1-1.html
還有瘦網蟲這篇:http://www.geek-workshop.com/thread-5095-1-1.html
沒有上面那兩篇大概我也解不出來,雖然最後還是買邏輯分析儀來解最快
房間空調用的是YAD0F,用IRremote解至少長度要開到280,加上定時長度要420

下面是控制代碼:
/*
* 格力頭: 9000 高 4400 低
*/
void sendGreeHeader(){
irsend.mark(9000);
irsend.space(4400);
}

/*
* 格力編碼:650高 1600或550低
* 編碼中斷超過10000會出問題?先以迴圈解
*/
void sendGreeMark(int time){
irsend.mark(650);
while(time > 10000){
    irsend.space(10000);
    time -= 10000;
}
irsend.space(time);
}

/*
* 送整組編碼,單BIT壓縮
*/
void sendGreeBits(byte* irCode, int length){

for(int i=0 ; length > 0 ; i++){ // Has unsent codes
    byte bitMask = 0x80; // Highest bit of a Byte
    int bitLength = (length >= 8)? 8:(length % 8);
    for(int j=0 ; j < bitLength ; j++){
      if(irCode & bitMask) sendGreeMark(1600); // Signal high
      else sendGreeMark(550); // Signal low
      bitMask >>= 1; // Shift right
    }
    length -= 8;
}
}

/*
* 格力編碼組:頭+35碼+中斷+32碼+中斷
*/

void sendShortGreeCode(byte *code){
sendGreeHeader();
sendGreeBits(&code,35); // 35 bits in 5 bytes
sendGreeMark(20000);
sendGreeBits(&code,32); // 32 bits in 4 bytes
sendGreeMark(40000);
}

/*
* 長編碼:兩段短編碼組成
*/
void sendLongGreeCode(byte *code){
sendShortGreeCode(&code);
sendShortGreeCode(&code);
}
附件是用分析儀解碼的方式最後再用byte方式存起來就變成下面這樣:
0x90, 0x50, 0x04, 0x0A, 0x40,
0x00, 0x44, 0x00, 0x0F,
0x90, 0x50, 0x04, 0x0E, 0x40,
0x00, 0x00, 0x00, 0x0B,

Evening 发表于 2013-8-17 10:34:54

请问一下遥控器的编码规则是怎么找到的呀?
我想直接发送raw格式的,总是失败,会不会是dump出来的代码有问题?

Be1ieve 发表于 2013-8-17 22:19:35

建議先看這個http://www.geek-workshop.com/thread-5146-1-1.html
blueleafxp是把整個編碼長度定在270以下,如果解出來的長度頂到270就加大吧

dump出來的第一碼估計是完整編碼要求的間隔,接下來的就是一正一負的訊號
複製到最後面會少一個負的訊號,補個間隔進去就完成了

另外如果用uno要注意因為只有1K內存,raw碼太長很容易滿出來

CALL_Me_Twenty 发表于 2013-11-26 22:29:01

您好 请问有格力遥控器的红外编码规则说明吗 它的35+32代表的意思

Be1ieve 发表于 2013-11-26 23:59:15

編碼規則大概要看格力肯不肯放出來,或有沒有人去解
這邊的數據都是在遙控器設定後讀到的

pris 发表于 2018-6-4 11:57:00

https://wenku.baidu.com/view/2197b3400b4e767f5bcfce34.html
--格力空调遥控器红外编码透析(长码)
页: [1]
查看完整版本: 格力空調控制