2016-02-12 70 views
2

我一直在試圖解碼機頂盒中使用的紅外協議。我試圖與標準協議進行比較,但它不匹配。 我使用Arduifruit IR Library解碼器草圖的Arduino Uno。 串行終端上的輸出是:如何解碼未知的紅外遙控協議?

Decoded Unknown(0): Value:0 (0 bits) 
Raw samples(50): Gap:18904 

Head: m2600 s850 

0:m450 s450 1:m400 s450 2:m450 s850 3:m400 s900  
4:m900 s350 5:m400 s500  6:m400 s450 7:m450 s450  
8:m400 s450 9:m450 s450  10:m400 s450 11:m450 s450   
12:m400 s450 13:m450 s450   14:m400 s450 15:m450 s450   

16:m450 s400 17:m450 s450   18:m850 s900 19:m400 s450   
20:m450 s450 21:m400 s450   22:m400 s500 23:m400 

Extent=26100 
Mark min:400 max:900 
Space min:350 max:900 

什麼我可以從數據(可能)推斷:

頁眉由2500即標記的5×500 uSeconds和2×500 US的空間。這些位大多具有500 us的相同標記和空間。除了一些位。 這是一些標準的IR協議。並且由遙控器的按鈕傳輸的位數是否不同。

+0

http://www.sbprojects.com/knowledge/ir/index.php一些協議有一個開始模式,有些則沒有。通常每個按鈕的位數不會改變,除非它是一個通用的遙控器,並且一些按鈕有些是DVD,一些機頂盒等,基本上如果協議改變的話。一些協議具有比主要數據模式短或不同的重複模式。但是在同一個協議中沒有BITS的數量不會改變。有些協議使用長週期和短週期,因此整個TIME可能會更改爲從一個按鈕傳輸到另一個按鈕。 –

+0

做你正在做的,然後嘗試其他按鈕,你應該看到一些標記或空間時間的變化,但總體上相同數量的標記和空格。有一個開始模式,這是它看起來你有更容易解碼,因爲你有一個......起點...... –

+0

即使它不符合標準之一,你仍然應該能夠通過測量標記和空間時間來計算出來。 –

回答

0

我發現AnalysIR工具對解碼IR協議非常有用。這是免費的,但成本約爲10-15美元

+0

謝謝,我看到產品看起來很酷。它如何與未知的協議一起工作?直到現在我使用Arduino來反向工程ir協議,但原始時序包含了很多錯誤,因爲arduino的速度。 –

+0

他們有很多協議的DB,所以可能你的是一個已知的。在我的情況下,協議是未知的,但視覺呈現給我一個線索。 – ilia

1

你可以製作自己的設備,並使用Arduino的任何infra代碼播放/解碼。檢查這個鏈接。這很容易。

https://learn.sparkfun.com/tutorials/ir-communication

+0

而不是發佈鏈接作爲答案添加一些文本來解釋這個答案如何幫助OP在修復當前issue.Thanks –

+0

上面說的事情是不可能的。 Android手機沒有任何紅外接收器。他們只有接近傳感器。所以你必須建立一個設備。這很容易。按照我提供的鏈接。您可以從像http://i.stack.imgur.com/gePw5.png這樣的紅外遙控器獲取紅外代碼並使用它們。 – ideeps

0

標記和範圍500-1000空間讓我覺得相移編碼規則。另外可變比特數可以從相移編碼中導出。 您可以嘗試更常見的相移協議(RC5,RC6)。 這裏有一個編碼/解碼器可以幫助你進行調查:https://github.com/msillano/irp_classes,它使用Arduino作爲RAW rx/tx,並且可以與任何IRP協同工作。

+0

這不提供問題的答案。一旦你有足夠的[聲譽](https://stackoverflow.com/help/whats-reputation),你將能夠[評論任何帖子](https:// stackoverflow。COM /幫助/權限/評論);相反,[提供不需要提問者澄清的答案](https://meta.stackexchange.com/questions/214173/why-do-i-need-50-reputation-to-comment-what-c​​an- I-DO-代替)。 - [來自評論](/ review/low-quality-posts/17004198) – Liam