實作方案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連上網路。