公告版位
*部落格的照片和文章是我心血的結晶,歡迎引用或轉寄,若需借用請事先徵得本人同意,謝謝! *有任何問題,請至信箱連絡:waneyee@gmail.com

benq ir code

 

Sony RM-PLZ530D 一部曲:Sony RM-PLZ530D 學習型遙控器 獨一無二 中文說明書 開箱
http://aney22.pixnet.net/blog/post/45735463

 

Sony RM-PLZ530D 二部曲:『DIY』『實作』Benq 液晶電視 遙控器 信號源 快速切換
http://aney22.pixnet.net/blog/post/45736180

 

Sony RM-PLZ530D 三部曲:Sony RM-PLZ530D 維護保養 脫光光帶出場
http://aney22.pixnet.net/blog/post/46826161

 

 

 

『DIY』『實作』Benq 液晶電視 遙控器 信號源 快速切換

如果你不用整合型的遙控器,可以直接上一頁離開,以下內容不適合你

源起有三:

 

一、我買了SONY 學習型遙控器 RM-PLZ530D ,我在sony.co.jp 下載 取扱說明書,

我發現日系電視遙控器,有快速切換『信號輸入源』的功能。

benq ir code  

工程師的思考:這種功能不可能有專利,沒理由國產的就沒這種功能。

為了完整操作 RM-PLZ530D,我還特意將說明書,整個翻中文。檔案下載:

 

二、因為常出差,現在一些拉過皮的飯店,配置新的電視,很多都是 hdmi輸入

(特別是18禁的頻道),我發現飯店的遙控器可以直接就切換到指定的信號源。

 

三、起火點:家中第四台更換成數位機上點,機上盒使用HDMI,

原本電視的類比信號等同失效,相對的遙控器只剩下電源、信號源、音量三種功能,

要切換到信號源,變成要命的九輪詢

DTV->ATV->AV->YPbPr->VGA->HDMI1->HDMI2->HDMI3->USB

benq ir code  

你麻幫幫忙,有些電視還有12種信號源,按到死了

雖然按下信號源後,可以按上下鍵,切換到我要的信號源,

但是這要原廠遙控器才做的到,機上盒的遙控器是做不到。

只能一直按『信號源』,一不小心按過頭,又要重按8次

本人對這一點是最為不爽,真的是把我給搞火了

 


 


因此,基於一個十多年 firmware engineer 的工作經驗,及以上資訊,

我覺的 Benq 的電視應該可以『直接切換信號源』。

因此我找上了 mobile01 的 Benq液晶超人,

這十多年來支持了七台 Benq 螢幕,終於有了回報。

原廠會理我~~~Benq 在這一塊的服務做的真用心。

 

我順利從原廠取得了 55RV6600 的ir protocol。

RV 系列的 IR CODE 都一樣,NEC 格式,38kHz,address 0x60。

一開始拿到的 Address 是 0x609F,害我誤以為是 Extended NEC Protocol,而搞錯 MSB LSB,浪費了好多天。懂太多也不行。

NEC IR PROTOCOL ,可以參考這兩個網站了解一下:

http://www.sbprojects.com/knowledge/ir/nec.php
http://coopermaa2nd.blogspot.tw/2010/01/nec-ir-protocol.html

技術細節方面我就不多說,有用到就自己學。

 


 

 

!!重點是如何發出這些紅外線?

首先,我要先以 firmware engineer 的角色,幫 Benq 說一下話,

os: ooxx,打了一堆字,到現在重點都還沒提到

 

 

 

不是廠商不願實作這些按鍵,而是這九個按鍵『太佔空間』。

原本的遙控器長 225mm,再多這九個按鍵,會變成248mm,快要和鄉民一樣長了。

benq ir code

 

一般電視附的遙控器都是『便宜貨』,簡單到不行,沒有複雜功能程式,

不能和日系遙控器比擬,簡單講:沒有內建mcu啦

為什麼日系的遙控器可以按 『入力切換』+ 123456789 發出不同的信號,

benq ir code

因為遙控器內有mcu,實作了shift 功能,有額外的程式做按鍵判斷。

一般的遙控器則是,那個回路導通,發出那個 ir code ,

兩個回路導通,你家的事(天知道會發生什麼事)

所以不要想在一般電視遙控器上看到 DTV/ATV/AV/YPbPr/VGA/HDMI1/HDMI2/HDMI3/USB 這麼多個按鍵。

個人是建議BENQ 可以出一個專門的『TV入力切換』遙控器,

這些功能需求不會出現在一般遙控器上使用,必需是『整合型遙控器』才有機會用的上。

剛好我就是專用 整合型遙控器。

 


 

 


言規正傳,怎麼發出這些 ir code?

那當然是做一個『遙控器』,殺了我吧(你會這樣想),一般人那有這種能力。

os:還在說廢話?

 

 

我以前實作過紅外線發射接收的應用,所以控制紅外線不難,實作上也很簡單,

一顆 Microchip PIC12F675,一個IR tx LED,一個 LED + VR + Switch 就能組出來。

 

PSEUDO CODE
IR_ADC=VR_ADC;抓VR 的值,分成8等份,做出0~8 9種值
IR_ADC=IR_ADC>>1+7
IR_CODE=IR_ADC>>4;IR_CODE =0~8
 
IR_LED=IR_CODE.BIT0;1:LED ON,0:LED_OFF,利用這兩種組合,使用者就能分辦VR的位置。
 
按下SWITCH 後,位IR_CODE ,發出 IR。
 
※上面這,對一般人而言,難度太高了
 

 

 


 

 

對我而言很簡單,但是,我懶~~的焊IC,因此生命會自己找到出路。

拿出一代神機: HTC ONE M7

 

對,我有 HTC ONE M7和M8 ,這老傢伙有紅外線發射接收功能,

簡單講就是具有學習型遙控器的功能。

這是 SmARt Phone,Smart~~~~~真的比較聰明。

我又找到 IrPlus 這個 app。

對接下來變成 IrPlus 的 step by step 教學。

 


 


當然,外行人要能發出 ir code。

前提,要具備『基本的ir protocol』知識,不然你不知從何下手,也不會修改,

這已經比寫 Firmware 、組 Hardware 要容易太多了。

※以下這內容,這對非 Benq 的使用者,一樣有效,

只要能你從原廠取得 IR Code 協定,理論上修改一下設定,一樣能實作。

就算原廠不理你,只要機器有內建,手上也有原廠遙控器,理論上就能找出來。

 

做電視的應該會恨死這篇文章,製造他們的大麻煩!!

 

 


 

 

來,我們來看 HTC one m7 如何發揮

一、先確定你的手機能收發IR。(那些手機支援,自己去找,我知道 HTC ONE M7/M8都有這樣的功能)

二、安裝 IrPlus。

三、我先說說我的 Try 的過程

一開始,我以為這些控制碼的 address 和原本的遙控器不一樣(原廠給我2byte address)

所以我先用學習的方式:

需要用到 Irplus 的學習功能,先設法學下原廠遙控器的一個按鍵,然後將檔案『匯出』。

將手機接上PC ,將匯出的檔案抓出來研究研究(純文字檔)。

有相關背景的,一看就知道重點在那,接下來將檔案中的重要片段

8840 4446 546 546 546 546 546 546 546 546 572 546 572 1638 572 1638 572 546 572 1664 572 1664 572 1664 572 1664 572 1638 572 546 546 546 546 1638 572 1664 572 546 572 1664 572 546 572 546 572 546 572 546 572 546 572 546 572 1664 572 546 572 1664 572 1664 572 1664 572 1638 572 1638 572 39702 8866 2210 572 95602 8866 2236 572 95576

用excel 加以分析,這些數字代表的就是 ir led on 8840ms / off 4446ms , on 546ms/off 546ms ,以此類推。

benq ir code  

因為一開始我拿到的 address 是 0x609F ,讓我誤解是 Extended NEC Protocol。

最後發現address 是0x60,0x9f 是 0x60 xor 0xFF。

 

我利用 excel 分析完之後,用簡單的 excel 公式及正確的 nec ir protocol 時間,將

 

8840 4446 546 546 546 546 546 546 546 546 572 546 572 1638 572 1638 572 546 572 1664 572 1664 572 1664 572 1664 572 1638 572 546 546 546 546 1638 572 1664 572 546 572 1664 572 546 572 546 572 546 572 546 572 546 572 546 572 1664 572 546 572 1664 572 1664 572 1664 572 1638 572 1638 572 39702 8866 2210 572 95602 8866 2236 572 95576

整個改寫成標準的 NEC protocol (數值上的誤差是因為遙控器電壓、接收ic 及振盪頻率誤差所造成)

看不懂 9000 4500 是什麼意思?請閱讀 nec protocol ,謝謝,幫不了你。


9000 4500 560 560 560 560 560 560 560 560 560 560 560 1680 560 1680 560 560 560 1680 560 1680 560 1680 560 1680 560 1680 560 560 560 560 560 1680 560 1680 560 1680 560 560 560 560 560 560 560 1680 560 560 560 560 560 560 560 560 560 1680 560 1680 560 1680 560 560 560 1680 560 1680 560 44420 9000 2250 560 98190 9000 2250 560 98190

並跟據原廠提供的 COMMAND ,配合EXCEL ,我就能算出所有的 IR時間,重新編輯成文字檔 benq.irplus


※了解 ir protocol ,並學會利用 excel 來產生這些時間,對非 nec protocol 的人而言,很重要,因為我家的電視是
nec protocol,所以我不會去研究其它的協定,當原廠不願意告訴你這些特定的 ir code 是多少時,你只能自己找出來
只要你能側錄下一個 按鍵,匯出,並分析,拆/猜出這是什麼 IR 協定,你就能從這些數字,

反推出 ADDRESS/COMMAND 是多少,並重組這些數字/時間
接下來只要將command從 0x00到0xFF,利用excel 通通建立出,
才256個按鍵,一個一個測一次,幾分鐘,你就能知道每個數值的功能。

要找出 『直接切換信號源』的command 自然不是難事。

 


接下來的匯入,真是搞死人了,irplus這程式的匯入功能,很難 key in。

沒辦法的辦法,我只好重新匯出一次,在匯出時,選擇文件及手動,將匯出的位置,圈選、複制下來。

 

benq ir codebenq ir code

然後利用PC,將改好的檔案,copy 到 以下位置(就是上面複製的位置)

電腦\HTC One 801e\內部儲存空間\Android\data\net.binarymode.android.irplus\files

 

回到匯入的畫面,選擇粘貼,貼上剛剛複制下的目錄,再加上檔名 /benq.irplus,按下 ok,檔案就匯入成功。

 

benq ir code

 

哭哭,HTC ONE M7 終於能夠自由切換 DTV/ATV/AV/YPbPr/VGA/HDMI1/HDMI2/HDMI3/USB

 

benq ir code 

 


 


一般人到此大概就到一段落,不過我想大家對於 EXCEL 計算後,

改寫的接受度一定不高,一般人大概也很難看的懂我在算什麼。

所以我又在 irplus 中,操作了一陣子,我找到更簡單的資料。

資料出自 https://raw.githubusercontent.com/irplus-remote/irplus-codes.github.io/master/211/DVR-S120.xml

這是一個 yamaha dvr 的設定檔,但是無礙,將檔案複製下來。

這是一個 nec protocol 的設定檔,所以我檔案的 button label及數值,直接改寫。

用上述的方式再匯入一次,噹噹~~大功告成。

benq ir code

有興趣的人可以去研究 IRPLUS 其它協定如何改寫。

就算是再笨的人,只要知道 address 及 command ,看到這樣的資訊應該就會修改。

        <button label="SELECT" span="4">78-9A</button>
        <button label="MATRIX 6.1" span="4">78-90</button>
        <button label="STEREO" span="4">78-50</button>

 


 

 

最後就是將這些 ir command 整合到學習型遙控器 RM-PLZ530D裏面,

以後我只要

按下 TV,信號源就會直接跳 HDMI3,

按下 DVD,信號源就會跳 HDMI1,

按下 TIVO,信號源就會跳 AV。

終於不用在 信號源按到死。


※記得找個簡單點的學習型遙控器,將手機的 ir按鍵,學習到實體遙控器之中,

難保那天手機會故障,你要找到有IR功能的手機不是這麼容易。

※※ 感謝再感謝, Benq 願意提供這些 ir code,如果沒有,我大概會測到死。

※※※ 如果原廠不願意提供,利用learn 的方式,分析 ir protocol,你可以分辦是那種協定(假設是 nec protocol)

利用上述學習的方式,你可以解讀出 address,再利用我提供的xml 檔,改寫,將commnad 0x00~0xff,一個一個測過一次,
或利用 EXCEL 計算出數值,一個一個測過一次,才256次,應該也能找出機器的 IR CODE.

256key.xml 是我改出來的一個 256key 全部實作的範例,用這個程序就能發出所有的code,找出所有的code 的功能自然不難。

benq ir code

256key02

256key03  

以上和大家分享~~

 

相關檔案下載:Google Driver 密碼:aney22 不準來跟我『要求存取權』,直接下載都不會嗎?

 

 

 

 

 

 

創作者介紹

小松鼠及拾荒老人的家

aney22 發表在 痞客邦 留言(2) 人氣()


留言列表 (2)

發表留言
  • 請教一下irplus如何學習?
  • 我試過遙控精靈學習紅外線沒有問題,但是irplus好像找不到學習的功能?
  • https://youtu.be/yfIZSbl1Iqg

    aney22 於 2016/06/15 00:56 回覆

  • Dennis Chao
  • 請教一下, 如果不幸在測試code 的時候 不小心觸發調整TV 參數的code 時...有什麼建議? 我以前遇過一台電視 用萬用遙控器 掃描的時候 會把TV內部參數改掉導致黑畫面@@