實作方案1:
IBM TP4UART Driver w/IBM BlueDrekar
由於IBM所釋出的解決方案中,只提供x86的2進位可執行檔,並沒有提供原
始碼讓我們編譯。所以我們只能按照IBM所要求的特定核心的Linux下開發軟
體,否則將會無法正常驅動藍芽模組。首先安裝Linux w/Kernel 2.2.x到電腦
上,曾經測試不同核心下執行的情況,企圖嘗試在不同核心下正常驅動藍芽
模組。結果發現只有核心相近版本的Linux可以正常執行,若是核心差異太
大就無法正常驅動藍芽模組。我們所使用的驅動程式為IBM所開發的:
1.
IBM
TP4UART Driver v1.2b(Transport Driver)
2.
IBM
BlueDrekar Stack (Protocol Driver)
而其藍芽驅動架構組織,如下面分層圖所示…
就如同上圖所示,要能驅動並開發Bluetooth晶片。就好像我們要開發TCP/IP般的,一層一層的由下層驅動底層服務,讓上層應用軟體能夠透過階層式Socket的觀念…來控制底層的低階Bluetooth晶片。
而IBM所開發的TP4UART Driver就是下層直接控制Bluetooth晶片的驅動程式(Transport
Driver),透過TP4UART所提供的硬體
控制,上層的IBM
BlueDrekar(Protocol Driver)才得以提供在更上層應用軟體層來控制Bluetooth晶片。
透過IBM所提供的Transport
Driver以及Protocol Driver我們就可以專注於應用程式層來開發軟體。我們所使用的圖形介面為GNU所釋出的GTK+的函式庫來開發圖形介面,而我們所開發的程式提供下列的功能…
◎Server端(Master):
§
自動偵測在旁邊的藍芽裝置。
§
提供PPP或是NAT的方式,讓遠端藍芽裝置可以連上網路。
§
簡易的Socket傳訊聊天程式。
§
藍芽裝置初始化參數設定。
◎Client端(Slave):
§
自動偵測附近是否有Master的藍芽裝置。
§
自動與Master藍芽裝置溝通,取的IP支援。
§
藍芽裝置初始化參數設定。
※IBM
AlphaWorks BlueDrekar所提供的Profiles…
Dial-UP
Profile:讓藍芽裝置能夠遠端控制搭載藍芽晶片的
|
手機,使之撥號連上Internet ISP,以
PPP Modem的方式連接上撥接網路。
§
Headset Profile:讓兩個搭配有電話筒的藍芽裝置可以直接
透過藍芽的無線通訊能力,短距離內直接
通話,不需通過電話公司來通話。
§
LAP Profile:什麼是LAP?LAP即是Lan Access Point的縮
寫,換句話說這個Profile所提供的是,讓一
台連上網路的Bluetooth當作一個網路進入點
,讓遠端搭配有Bluetooth的設備能以無線的
方式透過Access Point連上網路。