天天干天天做天天操-天天干天天做天天射-天天干网-天天干网站-天天干网址

產(chǎn)品分類

當前位置: 首頁 > 儀表工具產(chǎn)品 > 專用工具 > 長度測量工具 > 直尺

類型分類:
科普知識
數(shù)據(jù)分類:
直尺

基于BlueZ協(xié)議棧的嵌入式系統(tǒng)無線通信實現(xiàn)

發(fā)布日期:2022-07-14 點擊率:18

        摘要藍牙技術(shù)作為全球統(tǒng)一的無線通信標準,在多種智能設備無線互連,多媒體終端通信和家庭網(wǎng)絡等方面的應用也越來越廣泛。本文在對官方的藍牙協(xié)議棧 BlueZ進行分析研究的基礎上,在基于 S3C2410a的實驗開發(fā)平臺上實現(xiàn)了基于藍牙協(xié)議棧 BlueZ的移植和文件傳輸功能,達到了預期的效果。

  1、引言

  隨著科學技術(shù)發(fā)展和社會進步,嵌入式系統(tǒng)越來越多的應用到我們的實際生活中,極大的改變著我們的生活。開發(fā)低成本、高性能、高可靠性的嵌入式產(chǎn)品正在成為研究的熱點。尤其是隨著信息化網(wǎng)絡化的發(fā)展,越來越需要與外部世界進行信息交換,當前主流的數(shù)據(jù)交換方式都是有線的,但有線通信存在著諸多不足,而無線通信以其無法比擬的靈活性,可移動性和極強的可擴容性正得到越來越廣泛的應用。藍牙技術(shù)作為全球統(tǒng)一的無線通信標準,其目的在于建立通用的低功耗、低成本無線電空中接口及其控制軟件的公開標準,使通信和計算機進一步結(jié)合,使不同廠家生產(chǎn)的便攜式設備在沒有電線或電纜互相連接的情況下,能在近距離范圍內(nèi)具有互用、互操作的性能。而藍牙技術(shù)在多種智能設備無線互連,多媒體終端通信和家庭網(wǎng)絡等方面的應用也越來越廣泛,本文在對藍牙的官方協(xié)議棧 BlueZ進行深入研究的基礎上,在實驗開發(fā)平臺上實現(xiàn)了協(xié)議棧的移植和文件的傳輸功能。

  2、BlueZ 的體系結(jié)構(gòu)

  BlueZ由主機控制接口(Host ConTROL Inteace,HCI)、Bluetooth協(xié)議核心、邏輯鏈路控制和適配協(xié)議(Logical link ConTROL and Adaptaon Protocol,L2CAP)、SCO音頻層、其它 Bluetooth服務、用戶空間后臺進程以及配置工具組成。它的完整結(jié)構(gòu)如圖 1所示(其中除應用程序和硬件外為 BlueZ提供的部分)。

BlueZ 的體系結(jié)構(gòu)

  3、BlueZ協(xié)議的移植 [2]

  本文涉及到的硬件平臺是三星公司的S3C2410a 開發(fā)板,軟件平臺是內(nèi)核版本為 的Linux操作系統(tǒng), 為實現(xiàn)藍牙協(xié)議棧BlueZ的移植, 可進行以下步驟進行移植:

  (1) 生成交叉編譯器,創(chuàng)建交叉編譯環(huán)境

  (2) 編譯、配置實驗開發(fā)平臺上的 Linux內(nèi)核

  (3) 安裝 BlueZ 軟件包

  (4) 編譯實驗開發(fā)平臺上的Linux內(nèi)核

  (5) 向s3c2410a實驗平臺移植 通過上述步驟完成了藍牙協(xié)議棧 BlueZ的移植后,一個嵌入式藍牙應用開發(fā)平臺就搭建好了,下面利用該平臺提供的藍牙函數(shù)庫,來進行文件傳輸功能的開發(fā)。

  4、文件傳輸功能的實現(xiàn)

  如上步驟成功移植藍牙協(xié)議棧BlueZ后,一個完整的嵌入式藍牙應用開發(fā)平臺就已經(jīng)搭建好了,本文將利用BlueZ提供的API函數(shù)在 RFCOMM層上實現(xiàn)藍牙文件傳輸?shù)墓δ埽捎玫膮f(xié)議路徑為:射頻(RF)—基帶與鏈路控制(BB&LC)—主機控制接口(HCI)—邏輯鏈路與適配協(xié)議(L2CAP)—串口仿真(RFCOMM)—對象交換協(xié)議(OBEX)。它的實現(xiàn)分為客戶端程序和服務器端程序,流程圖如圖2所示。

流程圖

  2反映了通過藍牙實現(xiàn)文件從客戶端傳輸一個文件到服務器的過程,其中用到的協(xié)議棧中的API函數(shù)以及針對藍牙通信的設置如下 : (1)int socket(int domain, int type,int protocol) 通過這個函數(shù)建立一個套接字,其中參數(shù) domain說明網(wǎng)絡程序所用的通訊協(xié)議族,本實驗中我們用的是藍牙官方協(xié)議棧BlueZ,所以我們的 domain取值AF_BLUETOOTH,type

  我們采用可靠的面向連接的 SOCK_STREAM,protocol我們采用的代表串口仿真的 BTPROTO_RFCOMM。

  (2) int bind(int sockfd, struct sockaddr *my_addr, int addrlen)

  這個函數(shù)是服務器端的函數(shù),實現(xiàn)的是綁定端口功能。在我們的實驗中,參數(shù) my_addr代表的我們用的是一個結(jié)構(gòu)體,表示本地地址信息,它的 rc_family我們?nèi)?AF_BLUETOOTH,它的rc_bdaddr我們?nèi)】梢院腿我庵鳈C通信的 INADDR_ANY。

  (3) int listen(int sockfd,int backlog)

  這個函數(shù)是服務器端的函數(shù),實現(xiàn)*端口功能,它和我們普通Linux下的使用方法完全一樣。

(卜奎昊 陳伏兵 宋杰)

下一篇: PLC、DCS、FCS三大控

上一篇: 常見問題解答

推薦產(chǎn)品

更多
主站蜘蛛池模板: 亚洲欧美日本综合一区二区三区 | 一区国产视频 | 午夜一级毛片不卡 | 国产成人啪精品视频免费网站软件 | 亚洲tv精品一区二区三区 | 看的免费污污网站 | 亚洲日韩成人 | 亚洲国产人成在线观看 | 国产特级毛片aaaaaa | 亚洲国产精久久久久久久春色 | 精品久久一| 欧美日韩在线视频观看 | 善良的翁熄日本在线观看 | 五月综合视频 | 色婷婷综合网 | 中文日产国产精品久久 | 国产精品亚洲片在线观看麻豆 | 视频一区国产精品 | 成人三级做爰在线观看男女 | 国产成人亚洲综合在线 | 日韩高清在线不卡 | 免费永久在线观看黄网 | 国产精品美女网站在线看 | 国产女人一区二区 | 男女晚上日日麻批视频不挡 | 影音先锋5566手机在线播放 | 蛇女欲潮三级在线看 | 国内精品久久久久鸭 | 欧美一区精品 | 欧美一级特黄aaaaaa在线看首页 | 免费黄色看片网站 | 精品欧美| 欧美日韩国产一区二区三区在线观看 | 黄色成人影视 | 1024手机在线播放 | 亚洲图片欧洲图片aⅴ | 久久精品毛片 | zzzzxxxx日本 | 国内精品视频在线观看 | 国产日产欧产麻豆精品精品推荐 | 免费一级视频在线播放 |