2011年4月13日 星期三

3) WinLIRC 工具簡介

在閱讀這篇文章前,我假設你已經看過「WinLIRC 紅外線遙控電腦教學」這一系列的文章。

本篇將摘要介紹 WinLIRC 的軟體工具,你可以把這篇當做是 WinLIRC 的使用參考。

WinLIRC 目錄結構

WinLIRC 軟體不需安裝,下載回來後把壓縮檔解開即可。下圖顯示 WinLIRC 的目錄結構:

image
▲ 我用的是 WinLIRC 0.8.7a

如你所見,WinLIRC 有下列這些工具:

  • winlirc.exe: WinLIRC 主程式
  • IRGraph.exe: 紅外線繒圖工具
  • RawCodes.exe: 紅外線原始資料(raw data)檢視工具
  • IRRecord.exe: 紅外線解碼工具,用來產生遙控器的 Config 檔
  • Transmit.exe: 紅外線發射工具

底下將一一介紹這幾支工具。

winlirc.exe 主程式

因為還沒設定外掛,在第一次執行的時候,winlirc.exe 會跳出底下這個錯誤:

image

按下「確定」,winlirc 會跳出底下這個視窗讓你選擇外掛:

image

依你所用的紅外線接收器選擇外掛,例如,如果用的是 Audio 介面的接收器,就照上圖那樣選擇 AudioCapture.dll 這個外掛,如果是 Serial 介面的接收器,那就選擇 SerialDevice.dll 外掛,Serial 介面還要進一步設定 COM Port,如下圖:

image
▲ 選擇 COM Port,這看你紅外線接收器接在哪個 COM Port

除了 AudioCapture.dll 和 SerialDevice.dll 外,WinLIRC 還支援許多其它廠商的產品外掛:

image

IRGraph.exe 紅外線繒圖工具

為了確認紅外線接收器有沒有正常動作,在設定好外掛後,可以打開 IRGarph.exe 來測試紅外線接收器。

image

拿起遙控器,對著紅外線接收器隨便按個鈕,IRGraph 應該會顯示像上圖的波形,假如有的話,代表紅外線接收器是正常的。

RawCodes.exe 紅外線原始資料(raw data)檢視工具

除了用 IRGraph.exe 外,要測試紅外線接收器有沒正常動作,也可以使用 Rawcodes.exe。Rawcodes.exe 會顯示紅外線波形的原始資料,如下圖:

image
▲ 紅外線波形原始資料,圖中的數字是訊號的時間長短

IRRecord.exe 紅外線解碼工具

WinLIRC 需要遙控器的 Config 檔,各種廠牌型號的遙控器 Config 檔大部份都可以在 LIRC 網站上找到,網址為:

http://lirc.sourceforge.net/remotes/

如果在 LIRC 網站找不到你遙控器的 Config 檔,你可以用 IRRecord.exe 自己產生你遙控器的 Config 檔。IRRecord 的指令語法為:

IRRecord.exe -d <device> ..\config.cfg

舉個例子,如果你用的是 Serial 介面的外掛,那麼就輸入底下的指令來製作 Config 檔:

IRRecord.exe -d SerialDevice.dll ..\config.cfg

image
▲ IRRecord 是純文字介面的工具

照著螢幕上的指示或參考「1) 遙控器紅外線解碼」一文製作遙控器的 Config 檔。如果你知道遙控器所用的紅外線協定,你可以到底下的網址取得 LIRC 提供的範本檔,這會讓 Config 檔的製作變得相當簡單。

http://lirc.sourceforge.net/remotes/generic/

IRRecord 會產生一個像底下這樣的 Config 檔:

如果你同時要使用多支遙控器,只要把所有的設定貼到同一個 Config 檔就行了。最後你必須在 WinLIRC 主程式中載入 Config 檔:

image

Transmit.exe 紅外線發射工具

Transmit.exe 是一支紅外線發射工具,它的指令語法為:

transmit.exe remotename codename reps

其中,remotename 是遙控器 Config 檔名稱,codename 是按鈕名稱,而 reps 是 repeat 次數,reps 是 optional 的,可以不用輸入。舉個例子,如果你要發射 power 鈕的訊號,那麼就輸入底下這個指令就行了:

transmit.exe BenQ.cfg power

你也可以在 WinLIRC 主程式上執行紅外線發射功能:

image
▲ 其實 transmit.exe 也是送訊號給 WinLIRC 間接達到發射紅外線的目的

WinLIRC 運作圖示

把視窗縮小時,WinLIRC 會縮小到系統工具列。在一般閒置的狀態下,WinLIRC 的圖示是這樣:

image

而當 WinLIRC 偵測到紅外線訊號,而且順利解碼成功時,圖示會瞬時間變成綠色的,像這樣:

image

第三方軟體的支援(3rd part support)

WinLIRC 只是負責紅外線的解碼,還需要第三方軟體的支援,讓第三方軟體來處理解碼後實際要做的事,這樣才會有意義。以 Media Player Classic 為例,要到選單 View > Options > Player > Keys 打開底下這個設定畫面,然後在指令(Keys)的 RemoteCmd 中輸入對應的遙控器按鈕名稱,這樣便能用遙控器來控制 Media Player Classic:

image
▲  注意 RemoteCmd 要跟 WinLIRC 的 Config 檔裏的按鈕名稱匹配才行

延伸閱讀

0 意見: