《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 設計應用 > 信息家電中藍牙通信的實現
信息家電中藍牙通信的實現
摘要: 信息家電是當前國內外研究的熱點,而信息家電中又以數據傳輸方式的性價比為重點。藍牙可以作為一種有效的通信手段,實現家庭網關與信息家電間的控制信息等其他適中數據量的傳輸。本文首先介紹藍牙的HCI和藍牙協議L2CAP、BNEP,然后介紹如何在Linux2.4.18下實現USB藍牙驅動,最后介紹如何實現在藍牙個人局域網中進行無線通信。
Abstract:
Key words :

信息家電是當前國內外研究的熱點,而信息家電中又以數據傳輸方式的性價比為重點。藍牙可以作為一種有效的通信手段,實現家庭網關與信息家電間的控制信息等其他適中數據量的傳輸。本文首先介紹藍牙的HCI和藍牙協議L2CAPBNEP,然后介紹如何在Linux2.4.18下實現USB藍牙驅動,最后介紹如何實現在藍牙個人局域網中進行無線通信。

1 信息家電的基本框圖

信息家電的基本結構圖如下圖1所示,家庭主網關是負責各種家電與外部環境進行“交流”的橋梁,其中與外部環境進行通信的方式包括Ethernet、PSTN固話網等等。而就家庭內部而言,對于如:空調、電視等普通信息家電,由于家庭網關與其通信的數據量并不大,因此完全可以采取藍牙無線方式進行通信,從而達到控制家電工作的目的。



圖1

2藍牙的HCI和L2CAP、BNEP協議

藍牙協議體系大致分為三層,即底層硬件模塊層、中間協議層、高端應用層,每一層還
包含一些具體的協議。

2.1藍牙的HCI

藍牙的主機控制接口(HCI)是藍牙主機--主控制器應用模式中藍牙模塊和主機間的軟硬件接口,它位于藍牙協議棧的底層硬件模塊層與中間協議層之間,負責完成這二層的數據通信[1]。目前,藍牙HCI傳輸層的物理接口有USB、UART等,藍牙設備可以采用這些物理接口來實現通信。本文將介紹用USB口作為傳輸層實現通信。

2.2藍牙的L2CAP協議
藍牙的邏輯鏈路控制與適配協議(L2CAP)是整個藍牙協議的核心,它位于中間協議層,它將下層的數據分組轉換為便于高層應用的數據分組格式,并提供協議復用等功能。它向上層協議提供了面向連接和無連接的服務,L2CAP層只支持ACL(異步無連接)數據的傳輸,而不支持SCO(同步面向連接)數據的傳輸[1]。

2.3 藍牙的BNEP協議

藍牙SIG制定的網絡封裝協議(BNEP,Bluetooth Network Encapsulation Protocol),可對上層IP協議提供類似于以太網的接口,對IEEE802. 3/Ethernet封裝支持的網絡協議,均予以支持 [2]。BNEP通過面向連接的L2CAP來實現的,L2CAP可以看作是藍牙介質訪問控制(MAC)層。BNEP在整個藍牙協議棧中起著一個橋梁的作用,它將IP包轉換成L2CAP包通過藍牙傳輸。BNEP協議主要應用在藍牙個人區域網中。

3 USB藍牙模塊驅動

1、由于采用的內核是Linux2.4.18,其中并沒有包括對藍牙驅動的支持,因此必須對其打補丁。解壓Linux2.4.18內核,把藍牙補丁包patch-2.4.18-mh15.gz放在解壓內核目錄下,執行命令patch –p1 < patch-2.4.18-mh15.gz[3]。

2、Linux Bluetooth協議棧中的BNEP(Bluetooth 網絡封裝協議)實現了Bluetooth上的以太網仿真,這使TCP/IP可以直接運行于Bluetooth之上。由于實驗的本質就是通過藍牙HCI的USB實現基于BNEP的以太網傳輸數據,因此在內核配置時必須加上對BNEP的支持。

3、進入Bluetooth subsystem support選項中,選擇L2CAP protocol support、BNEP protocol support(Malticast filter support和Protocol filter support)這幾項,這幾項的作用就是使內核支持藍牙協議中的L2CAP和BNEP協議。然后進入Bluetooth device drivers,選擇HCI USB driver。至此,就完成了內核對于USB藍牙的支持。

4、下載bluez-libs-2.17.tar.gz藍牙庫和bluez-utils-2.17.tar.gz工具包,運行tar zxvf命令解壓縮,然后運行make和make install命令,這樣就能得到我們需要的libbluetooth.so、libbluetooth.so.1、libbluetooth.so.1.17這3個庫文件和hcid、hcitool、pand、hciconfig、sdpd、sdpdtool這6個進程文件。

4家庭網關中藍牙無線通信的實現
整個通信過程的介紹:

1、USB藍牙的傳輸驅動程序(drivers/bluetooth/hci_usb.c)將信息注冊到Linux USB核心。當USB藍牙插入時,主機控制器設備驅動程序會枚舉它并給它分配地址,同時讀取設備描述符中所包含的設備信息。如果枚舉期間讀取的設備描述符與hci_usb驅動程序注冊到Linux USB核心的信息相匹配,那么這個驅動程序就能添加進USB設備。

2、運行hcid(HCI后臺進程)、sdpd(服務發現協議后臺進程)、hciconfig(檢查HCI接口并開啟藍牙設備)、hcitool(掃描藍牙設備的地址)這四個CRAMFS文件系統sbin目錄下的進程文件,這幾個文件的執行依賴于libbluetooth.so、libbluetooth.so.1、libbluetooth.so.1.17這三個藍牙庫文件。在S3C2410一側的藍牙設備能夠被發現并被成功分配唯一地址的基礎之上運行pand --listen --role NAP,這樣將允許通過藍牙連接以太網。如圖2所示。



圖2

3、PC機上插入USB藍牙,運行windows下藍牙的驅動軟件BlueSoleil,掃描并發現藍牙設備之后,建立個人局域網。

4、在個人局域網建立的基礎之上,BNEP就可以將自己作為以太網設備注冊到Linux網絡層。可以通過命令ifconfig bnep0來改變藍牙接口IP地址。BNEP模塊和用戶模式pand后臺進程實現了Bluetooth個人區域網(PAN)。將二個USB藍牙的IP地址修改為同一個網段后,就可以使用ping PC機的USB藍牙IP地址命令來實現模擬家庭網關和內部設備間的無線通信,如圖3超級終端打印信息所示。



圖3

5、實驗結果:由圖2和圖3可以看到在運行了包含hcid、sdpd、hciconfig、hcitool四個進程的文件bluetooth后,可看到S3C2410一側的USB藍牙的地址為00:0D:18:01:23:88,而后用ifconfig bnep0 192.168.0.2修改了它的局域網地址,最后用ping 192.168.0.18(PC機上的藍牙地址)即可實現雙方的數據收發。


參考文獻:

[1] Bluetooth Special Interest Group,Specification of the Bluetooth Sy-stem,Version1.1,volumes 1 and 2,available from http://www.bluetooth.com,February 22 2001

[2] Bluetooth Special Interest Group. Bluetooth Network Encapsulation Protocol Specification:Specification of the Bluetooth System .Version 0.96e, 2002

[3] JONATHAN CORBET,ALESSANDRO RUBINI著;魏永明, 駱剛,姜君譯.LINUX設備驅動程序(第2版)[M].中國電力出版社,2004,9

[4] 吳振綱,陳虎.PLC的人機接口與編程[J].微計算機信息,2005,8-1:21-23

作者簡介:肖驍,男,1981年生,漢,在讀研究生,研究方向:信息家電體系結構、嵌入式系統.

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲一区二区三区免费视频| 亚洲成人在线视频网站| 久久中文精品| 欧美一区日韩一区| 亚洲一区二区视频| 一区二区三区日韩在线观看| 亚洲视频大全| 亚洲最快最全在线视频| 国产亚洲一级| 国产欧美日韩伦理| 国产精品拍天天在线| 久久在线视频| 久久亚洲视频| 麻豆91精品| 欧美成人久久| 欧美国产日韩在线观看| 欧美一区视频| 欧美夜福利tv在线| 久久成人一区二区| 久久成年人视频| 久久精品123| 久久亚洲精品视频| 蜜桃伊人久久| 欧美日韩国产精品一卡| 久久久精品久久久久| 一区二区日韩伦理片| 久久精品99无色码中文字幕| 一区二区欧美亚洲| 亚洲一区二区在线| 欧美一区二区三区日韩视频| 亚洲毛片视频| 一区二区三区日韩在线观看| 精品av久久久久电影| 国产精品女人毛片| 国产乱码精品一区二区三区忘忧草 | 国产精品一二| 国产有码一区二区| 亚洲第一综合天堂另类专| 国产亚洲精品bv在线观看| 欧美性淫爽ww久久久久无| 欧美成人黄色小视频| 性感少妇一区| 久久免费视频一区| 欧美激情中文字幕一区二区| 美女性感视频久久久| 久久久久久久综合日本| 欧美一区二区三区视频在线观看| 亚洲视频播放| 久久精品国产欧美激情| 亚洲欧美日韩在线不卡| 夜夜嗨av一区二区三区网站四季av | 久久精品二区三区| 亚洲九九爱视频| 羞羞色国产精品| 老司机aⅴ在线精品导航| 久久精品成人一区二区三区| 亚洲一区在线看| 久久久久久噜噜噜久久久精品| 欧美在线不卡| 欧美国产免费| 国产精品一区久久| 亚洲黄色大片| 午夜精品电影| 中日韩美女免费视频网站在线观看| 亚洲美女淫视频| 欧美一级黄色网| 欧美精品一区在线发布| 欧美精品久久99久久在免费线| 欧美不卡一卡二卡免费版| 久久久国产91| 欧美日韩网址| 精品不卡视频| 亚洲一区二区欧美| 日韩亚洲精品视频| 久久久久成人精品免费播放动漫| 欧美伊人久久| 欧美日韩国产色综合一二三四| 欧美日韩一区二区免费视频| 欧美精品啪啪| 国产在线视频欧美| 亚洲午夜一区二区三区| 亚洲欧美国产精品桃花| 午夜视频在线观看一区| 久久国产88| 午夜欧美精品久久久久久久| 久久国产精品黑丝| 欧美日韩一区二区在线观看| 国产精品美女久久久免费| 国产欧美日韩另类视频免费观看 | 亚洲电影在线看| 亚洲欧美一区二区原创| 久久精品免费观看| 性欧美长视频| 国产精品成人在线观看| 国产欧美一区二区三区在线老狼| 国产一区亚洲一区| 亚洲少妇自拍| 一区二区三区日韩精品视频| 欧美在线视频免费播放| 欧美本精品男人aⅴ天堂| 欧美日韩国产成人在线免费| 国产精品乱看| 一区二区高清视频| 一本色道久久综合一区| 午夜精品成人在线| 欧美日韩中文字幕| 日韩视频免费观看| a91a精品视频在线观看| 亚洲国产精品专区久久| 亚洲国产婷婷香蕉久久久久久| 最新高清无码专区| 一区二区三区高清| 亚洲最新中文字幕| 欧美巨乳在线| 亚洲精品一区二区三区av| 亚洲网友自拍| 亚洲一级影院| 欧美日韩久久| 亚洲精品综合精品自拍| 香蕉尹人综合在线观看| 亚洲精品极品| 欧美电影电视剧在线观看| 国产精品国产三级国产普通话三级 | 亚洲一区在线看| 欧美日韩在线播放一区| 国产日韩在线视频| 亚洲欧美日韩国产中文| 夜色激情一区二区| 欧美日韩mp4| 一区二区三区不卡视频在线观看| 亚洲国产福利在线| 麻豆成人小视频| 亚洲精品免费电影| 一区二区日韩欧美| 国产精品v欧美精品v日本精品动漫 | 亚洲国产婷婷香蕉久久久久久| 亚洲免费人成在线视频观看| 亚洲三级色网| 欧美激情综合色| 99精品视频网| 西西人体一区二区| 国产综合视频| 亚洲精品国产视频| 欧美日韩亚洲国产一区| 亚洲高清在线观看一区| 性欧美videos另类喷潮| 亚洲伊人观看| 国产欧美精品日韩精品| 亚洲视频 欧洲视频| 一本色道久久综合精品竹菊 | 夜夜嗨av一区二区三区网页| 久久五月天婷婷| 亚洲激情电影在线| 亚洲一区尤物| 很黄很黄激情成人| 一本色道久久99精品综合| 嫩草影视亚洲| 亚洲九九精品| 欧美在线视频导航| 亚洲电影第1页| 亚洲自拍偷拍福利| 国产一区二区三区四区| 亚洲欧美一区二区三区久久| 制服丝袜亚洲播放| 国产精品午夜在线| 亚洲国产精品黑人久久久| 久久精品噜噜噜成人av农村| 国产精品每日更新在线播放网址| 91久久精品国产91久久性色| 亚洲成人资源网| 欧美日本不卡| 欧美一级电影久久| 欧美精品日韩综合在线| 亚洲黄网站在线观看| 亚洲三级影院| 国产免费成人av| 日韩一级免费观看| 国产偷国产偷亚洲高清97cao| 午夜视频一区在线观看| 性欧美video另类hd性玩具| 国产精品福利在线观看| 亚洲视屏在线播放| 免费观看一区| 午夜精品一区二区三区在线视 | 久久超碰97人人做人人爱| 久久精品99| 日韩天堂在线观看| 久久一区二区三区国产精品| 亚洲第一色在线| 午夜性色一区二区三区免费视频| 国产精品久久久久一区二区三区共 | 亚洲国产欧美日韩| 国产精品久久久久aaaa| 亚洲一区日本| 欧美日本国产视频| 久久国产一区| 国产精品系列在线| 一区二区三区视频观看| 国产精品久久久99| 亚洲另类春色国产|