《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 設計應用 > OBEX在藍牙開發中的應用
OBEX在藍牙開發中的應用
摘要: 介紹下OBEX協議的特點及應用,從對象模型和會話協議兩個方面詳細分析OBEX協議,然后針對OBEX在藍牙開發中的典型應用,介紹下其在OPP和PBAP上的適配和綁定。
關鍵詞: 藍牙 OBEX PBAP OPP
Abstract:
Key words :

OBEX是信息交換應用中用處甚廣的協議,它起源于紅外,但又不局限于具體的傳輸方式,可以在藍牙、USB、UART等傳輸接口上應用。OBEX是藍牙應用中的基礎協議,很多剖面都是在OBEX的基礎上實現的,本文首先介紹下OBEX協議的特點及應用,從對象模型和會話協議兩個方面詳細分析OBEX協議,然后針對OBEX在藍牙開發中的典型應用,介紹下其在OPPPBAP上的適配和綁定。


OBEX協議簡述

OBEX(Object Exchange)協議將點對點設備間的信息交互應用以面向對象的方式分解為數據+操作,把數據柔性抽象為對象來描述,同時定義一種信息交互方式規范操作。OBEX協議的兩個關鍵部分便是定義了對象模型和會話方式,對象模型依據應用而定,定義了Header描述對象的一個方面,Header的集合便是一個完整的對象。會話采用請求-響應方式,客戶端發起請求,服務器端給與響應。下面從對象模型和會話協議上詳細解析下OBEX協議。


對象模型

對象模型是對對象本身的抽象描述,它定義了Header的概念,一個Header描述對象的一個方面。對象模型是一系列Header的集合體,依據應用而定,因為OBEX是很多應用的基礎協議,所以這里的應用包括底層信息交互操作及其之上的應用。對象模型可以認為是對象和應用之間的載體,因為它一方面描述了對象信息,另一方面又滿足具體應用的可操作性。

下面對Header舉個例子。比如文件傳輸應用,將文件抽象為對象模型時,需要的Header有文件名稱Name、文件數據長度DataLength、文件類型Type,可能還會有Application specific Header即具體應用相關的Header,比如定義MASK選定文件數據只包含某些屬性。

Header的形式為ID+Value,ID為單字節,它定義了Value類及其表示格式,Bit7和Bit6指定了Value值的格式,如ID==0x01則表示Name,格式為兩字節長度+以0x00結尾的字符串數據的方式,當文件名為test.txt時,Header即為01 00 0b 't' 'e' 's' 't' '.' 't' 'x' 't' 00。ID作為Value的一種描述,就像Header只是對象的一種描述一樣,這種定義方式大大擴展了OBEX的Header空間。


會話協議

OBEX會話協議定義了請求-響應形式的會話式操作,定義發起請求的一端為客戶端,給與響應的為服務器端,OBEX應用便是在客戶端和服務器端的一系列請求-響應會話中完成的。OBEX以“操作符”的方式來定義請求,以“回應符”的方式定義響應。操作符包括:連接CONNECT(0x80)、斷開連接DISCONNECT(0x81)、發送PUT(0x02,0x82)、索取GET(0x03,0x83)、設置路徑SETPATH(0x85)、中止當前會話ABORT(0xff);回應符有0x90-繼續、0xA0-成功和其他表示錯誤原因的回應符。

OBEX是個嚴謹的協議,其會話協議的設計實現首先遵從一問一答的會話方式,如果在沒有應答之前發送下一個請求會造成服務器端拒絕該請求;其次客戶端和服務器端都定義了一系列狀態表示會話進程及進行狀態的跳轉,比如當前進行的PUT操作,當操作符為0x02,服務器端給與回應符0x90之后,客戶端這時不能進行GET操作,必須等到發完了最后一包即操作符為0x82,服務器端給與回應符0xA0之后才能發起GET請求,否則GET請求會被服務器端視為錯誤的請求而給與錯誤回應。


OBEX在PBAP中的應用

PBAP(PhoneBook Access Profile)是專門為藍牙車載設備自動下載手機內的電話本和呼叫日志而定義的一套協議,它將電話本和呼叫日志定義成特定的對象模型,定義了五種文件-Local Phone電話本、Sim卡電話本、Dialed Call、Missed Call、Received Call,文件類型Type和文件名Name均固定,如SIM卡的電話本文件類型為"x-bt/phonebook",文件名為"SIM1/telecom/pb.vcf"。

PBAP在OBEX上的適配非常簡單,客戶端(車載設備)向服務器端(手機)發起連接請求時指定Target為796135f0-f0c5-11d8-0966-0800200c9a66(十六進制),表示OBEX連接的目的是PBAP應用,建立連接后,客戶端發起GET命令,請求類型為"x-bt/phonebook",名稱為"SIM1/telecom/pb.vcf"的文件,便能下載SIM卡中的電話本。PABP可以通過一個Application Specific Header設置電話本數據即VCARD中含有的屬性,一般設置為含有VERSION-版本、N名字、TEL電話號碼,PHOTO之類的數據量很大但無用的屬性便可以過濾掉,從而減少了傳輸數據量,加快了下載速度。


相比較于沒有得到普及的IrMC電話本同步,PBAP只提供下載功能,而沒有動態更新的功能,從而不用定義特別的命令,在OBEX之上采用GET命令便能實現,正因其簡單,所以被大多數手機廠商所接受得到了大量的應用。


OBEX在OPP中的應用

OPP(Object Push Profile)對象推送協議,是藍牙在OBEX協議的基礎上定義實現的一個專屬協議,它做為一個手動傳輸協議,用于資源在設備間的共享傳輸。OPP的應用加入了人為的選擇操作,大大擴展了共享對象的選擇空間,可以選擇音樂、電影、文檔、圖片或者一條電話號碼手動PUSH到目標機。

OPP中的對象采用File的形式封裝,FileName Header后綴有.mp3、.mov、.doc、.jpg、.vcf等,對應在Type Header上都有相應的MIME類型,數據在PUT請求中分段傳輸,目標機根據Type判斷對象屬性從而進行相應的操作,比如當類型為"text/x-vcard"時,便能判斷出PUSH的對象為vCard形式的電話本條目,從而可以根據vCard規范提取出人名,電話號碼等屬性。


結語

OBEX定義了對象模型以描述各種數據,同時定義請求響應的會話方式,將點對點設備的信息交互應用統一起來,本文闡述了OBEX的思想,并針對OBEX在藍牙中的應用,以PBAP、OPP為例講述了以OBEX為基礎的藍牙協議的綁定實現,對采用OBEX做藍牙開發的工程師具有很好的指導意義。

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
在线视频一区二区| 欧美成人中文字幕| 亚洲日韩成人| 久久精品国产一区二区电影| 亚洲综合日韩| 亚洲一区二区三区精品在线| 日韩午夜av在线| 日韩视频在线播放| 亚洲精品久久久久中文字幕欢迎你 | 亚洲天堂av在线免费| 亚洲精品一二区| 亚洲精品女av网站| 亚洲精品美女| 日韩一区二区精品在线观看| 亚洲美女淫视频| 一区二区毛片| 一区二区三区鲁丝不卡| 亚洲午夜精品一区二区| 国产精品99久久99久久久二8| 亚洲最新在线| 亚洲午夜女主播在线直播| 正在播放欧美视频| 亚洲男人第一网站| 久久成人18免费观看| 亚洲国产精品美女| 亚洲激情精品| 99riav久久精品riav| 99精品欧美一区二区三区 | 久久精品在线视频| 老鸭窝亚洲一区二区三区| 欧美mv日韩mv国产网站| 欧美精品乱码久久久久久按摩| 欧美另类69精品久久久久9999| 欧美日韩在线免费视频| 国产精品久久久久久久久| 国产精品一区久久| 狠狠色综合色区| 亚洲国产精品久久久久婷婷884 | 亚洲美女免费精品视频在线观看| 一本到高清视频免费精品| 午夜精品亚洲一区二区三区嫩草| 久久超碰97人人做人人爱| 鲁鲁狠狠狠7777一区二区| 欧美精品亚洲二区| 国产精品久久久久一区二区三区共| 国产欧美日韩综合| 影音先锋久久精品| 99精品国产一区二区青青牛奶| 亚洲永久在线| 亚洲激情欧美| 亚洲一区二区三区在线播放| 久久精品夜色噜噜亚洲a∨| 欧美黑人在线观看| 国产精品视频yy9299一区| 在线观看欧美日韩| 国产精品99久久99久久久二8 | 久久精品日韩一区二区三区| 欧美成人午夜激情视频| 国产精品第一区| 在线播放亚洲一区| 亚洲午夜精品17c| 亚洲高清在线观看| 亚洲一区日韩在线| 老司机精品导航| 国产精品乱人伦一区二区 | 亚洲第一色中文字幕| 亚洲小少妇裸体bbw| 亚洲国产精品久久久久婷婷884| 亚洲视频免费在线观看| 久久青草久久| 国产精品乱码久久久久久| 亚洲国产精品一区在线观看不卡 | 免费在线看成人av| 国产精品久久久久高潮| 悠悠资源网久久精品| 亚洲一区二区在线| 一本大道久久a久久精品综合 | 国内成人在线| 宅男噜噜噜66国产日韩在线观看| 亚洲丰满在线| 欧美亚洲综合久久| 欧美日韩美女在线观看| 黄色国产精品| 亚洲欧美日韩国产另类专区| 亚洲精品综合| 久久香蕉国产线看观看av| 国产精品国产a级| 亚洲日本精品国产第一区| 久久精品国产视频| 欧美一级理论片| 欧美日韩在线一二三| 亚洲第一综合天堂另类专| 欧美一级网站| 羞羞答答国产精品www一本| 欧美日韩一区在线播放| 91久久精品国产91性色| 久久精品视频va| 久久9热精品视频| 国产精品久久久久久户外露出 | 夜夜嗨av色综合久久久综合网 | 一区二区不卡在线视频 午夜欧美不卡在| 久久久久久香蕉网| 国产精自产拍久久久久久| 亚洲视频每日更新| 一区二区久久| 欧美欧美天天天天操| 亚洲国产成人精品女人久久久| 欧美亚洲一区二区在线| 欧美一级片久久久久久久| 国产精品第2页| 亚洲视频中文| 亚洲一区3d动漫同人无遮挡| 欧美片在线观看| 亚洲黄色免费| 日韩视频免费观看高清完整版| 欧美α欧美αv大片| 亚洲国产成人久久综合| 亚洲欧洲一区二区三区| 免费欧美在线| 亚洲国产成人porn| 亚洲精品你懂的| 欧美激情视频一区二区三区在线播放| 在线观看av一区| 亚洲国产日韩一区| 嫩草影视亚洲| 亚洲人成网站精品片在线观看| 亚洲免费av观看| 欧美日韩福利在线观看| 日韩视频国产视频| 亚洲一区二区在| 国产精品久久午夜夜伦鲁鲁| 亚洲一区美女视频在线观看免费| 亚洲欧美色一区| 国产乱码精品一区二区三| 午夜精品久久久久久久久久久久 | 亚洲精品小视频在线观看| 在线综合+亚洲+欧美中文字幕| 欧美三区在线视频| 亚洲线精品一区二区三区八戒| 午夜视频久久久久久| 国产精品一区二区在线观看网站| 先锋资源久久| 久久免费精品视频| 影音先锋中文字幕一区| 亚洲免费观看高清在线观看 | 欧美丝袜一区二区三区| 亚洲在线视频网站| 久久久99爱| 亚洲国产成人午夜在线一区| 一区二区三区精品视频| 国产精品国产自产拍高清av王其| 亚洲一区美女视频在线观看免费| 久久xxxx精品视频| 亚洲第一精品夜夜躁人人躁| 日韩亚洲欧美高清| 国产精品久久久久久久久免费桃花 | 99精品视频免费观看| 在线看片日韩| 欧美日本韩国在线| 亚洲视频一起| 久久精品日韩欧美| 亚洲国产黄色| 亚洲自拍偷拍麻豆| 国产午夜精品视频| 亚洲日本aⅴ片在线观看香蕉| 欧美日韩亚洲一区三区| 亚洲欧美日韩国产精品 | 国产三区精品| 亚洲精品国产精品国自产在线 | 亚洲一区精品电影| 国产在线不卡| 一区二区三区免费看| 国产日韩精品一区二区三区在线 | 麻豆精品精品国产自在97香蕉| 亚洲免费播放| 久久福利毛片| 亚洲美女视频网| 久久青草欧美一区二区三区| 日韩视频永久免费观看| 久久精品免费播放| 亚洲精品一区二区三区四区高清 | 国产欧美精品一区二区三区介绍| 亚洲国产99精品国自产| 欧美视频在线看| 久久精品91| 国产精品久久久久久超碰| 亚洲欧洲精品一区二区| 国产精品萝li| 亚洲精品社区| 国产视频一区在线观看| 一区二区免费在线播放| 狠狠色狠狠色综合日日tαg | 欧美成人精品一区二区三区| 亚洲一区二区综合| 欧美激情一区| 欧美在线影院| 国产精品精品视频| 日韩一级大片| 伊人夜夜躁av伊人久久| 欧美一区在线直播|