|
項目剛好做到藍牙了,也不是很忙,講講自己最近一段時間做的東西。
提到協議棧,都會想到與開放式系統互聯(OSI)協議棧的 ,OSI協議棧定義了廠商們如何才能生產可以與其它廠商的產品一起工作的產品。協議棧是指一組協議的集合,舉個例子,把大象裝到冰箱里,總共要3步。每步就是一個協議,3步組成一個協議棧。把應用層數據包發出去,也要好幾步,TCP/UDP頭,IP頭,ether頭,每步也是一個協議。另外每層都有一些特殊的協議。所有這些統稱協議棧。 簡單的來說,藍牙協議棧就是SIG(Special Intersted Group)定義的一組協議的規范,目標是允許遵循規范的藍牙應用應用能夠進行相互間操作,圖1-1就是完整的藍牙協議棧和部分profile:

圖1-1 接著介紹下藍牙里面profile的定義,profile既是配置文件,配置文件定義了可能的應用,藍牙配置文件表達了一般行為,藍牙設備可以通過這些行為與其它設備進行通信。藍牙技術定義了廣泛的配置文件,描述了許多不同類型的使用案例。按照藍牙規格中提供的指導,開發商可以創建應用程序以與其它符合藍牙規格的設備協同工作。 到目前為止,藍牙一共有22個profile,在這里我就不詳細介紹圖1-1的協議和每個Profile了,在www.bluetooth.com上有詳細的文檔說明。
在這里我想詳細介紹下已經實現了r的協議棧。
- Widcomm: 第一個windows上的協議棧,由Widcomm公司開發,也就是現在的Broadcom .
- Microsoft Windows stack: Windows XP SP2中包括了這個內建的協議棧,開發者也可以調用其API開發第三方軟件。
- Toshiba stack: 它也是基于Windows的,不支持第三方開發,但它把協議棧授權給一些laptop商(sony, asus等,我的本本上就是Toshiba的)。它支持的Profile有: SPP, DUN, FAX, LAP, OPP, FTP, HID, HCRP, PAN, BIP, HSP, HFP , A2DP, AVRCP, GAVDP)
- BlueSoleil: 著名的IVT公司的產品,這個應該是個中國公司,值得自豪。該產品可以用于桌面和嵌入式,他也支持第三方開發,DUN, FAX, HFP, HSP, LAP, OBEX, OPP, PAN SPP, AV, BIP, FTP, GAP, HID, SDAP, and SYNC。
- Bluez: Linux官方協議棧,該協議棧的上層用Socket封裝,便于開發者使用,通過DBUS與其它應用程序通信。那么最近我的工作就是移植bluez 4.x到板子上。
- Affix: NOKIA公司的協議棧,在Symbian系統上運行,具體的沒找到資料
- BlueDragon:東軟公司產品,值得驕傲,好像2002年6月就通過了藍牙的認證,支持的Profile:SDP、Serial-DevB、AVCTP、AVRCP-Controller、AVRCP-Target、Headset-AG、Headset-HS、OPP-Client、OPP-Server、CT-GW、CT-Term、Intercom、FT-Server、FT-Client、GAP、SDAP、Serial-DevA、AVDTP、GAVDP、A2DP-Source、A2DP-Sink,但到現在我沒怎么聽過這個協議棧的應用,難得是個爛尾樓??
- BlueMagic:美國Open Interface 公司for portable embedded divce的協議棧,iphone(apple),nav-u(sony)等很多電子產品都用該商業的協議棧,BlueMagic 3.0是第一個通過bluetooth 協議棧1.1認證的協議棧,那么我現在就在用它,那么該棧用起來簡單,API清晰明了。實現了的profile有:HCI,L2CAP,RFCOMM,A/V,Remote,Control,A/V,Streaming,BIP,BPP,DUN,FAX,FTP,GAP,Hands-Free,and,Headset,HCRP,HID,OBEX,OPP,PAN,BNEP,PBAP,SAP,SPP,Synchronization,SyncML,Telephony,XML.
- BCHS-Bluecore Host Software: 藍牙芯片CSR的協議棧,同時他也提供了一些上層應用的Profile的庫,當然了它也是為嵌入式產品了,支持的Profile有:A2DP,AVRCP,PBAP,BIP,BPP,CTP,DUN,FAX,FM API,FTP GAP,GAVDP,GOEP,HCRP,Headset,HF1.5,HID,ICP,JSR82,LAP Message Access Profile,OPP,PAN,SAP,SDAP,SPP,SYNC,SYNC ML。
- Windows CE:微軟給Windows CE開發的協議棧,但是windows ce本身也支持其它的協議棧
- BlueLet:IVT公司for embedded product的清量級協議棧。
我們是基于BlueMagic3的,最近呢也在研究bluez 4的移植和profile工作,后面我會再針對bluez做詳細介紹。
時間有限,簡單的寫了下,如果各位網友知道一些協議棧的動態,或對我寫的有補充,請給我留言,我會及時改正,
|