藍(lán)牙知識(shí)詳解,這些常見詞匯你知道多少?
? ? ? ?在萬物智能的時(shí)代,可穿戴設(shè)備產(chǎn)品吸引了廣大消費(fèi)者的眼球,無論是地鐵上白領(lǐng)佩戴的無線藍(lán)牙耳機(jī),還是商場中的VR體驗(yàn)店的VR設(shè)備,可穿戴設(shè)備市場正在快速增長。
而可穿戴設(shè)備市場的快速增長離不開藍(lán)牙通信技術(shù)的發(fā)展,隨著藍(lán)牙4.0技術(shù)的普及和移動(dòng)互聯(lián)網(wǎng)的崛起,藍(lán)牙技術(shù)應(yīng)用也從手機(jī)、平板等便攜式設(shè)備向著物聯(lián)網(wǎng)、醫(yī)療等領(lǐng)域發(fā)展,基于藍(lán)牙技術(shù)的應(yīng)用方案如雨后春筍般爆發(fā),為物聯(lián)網(wǎng)市場帶來了新的機(jī)遇。
談及藍(lán)牙,我們會(huì)經(jīng)常聽到BLE、Beacon、iBeacon、Eddytstone等詞匯,而它們之間有何聯(lián)系與區(qū)別呢?下面我們對(duì)藍(lán)牙常見詞匯及應(yīng)用涉及的藍(lán)牙技術(shù)進(jìn)行詳解。
一、藍(lán)牙常見詞匯解釋
BLE:全稱為Bluetooth Low Energy,藍(lán)牙低功耗技術(shù)。
Beacon:基于藍(lán)牙4.0協(xié)議的一種精確定位技術(shù)。
iBeacon:蘋果公司2013年推出的一套遵守Beacon技術(shù)協(xié)議的規(guī)范,需要遵守蘋果公司規(guī)定的數(shù)據(jù)格式。
Eddystone:谷歌公司2015年推出的一款跨平臺(tái)的開源Beacon格式藍(lán)牙協(xié)議。
我們?nèi)粘I钪谐Uf的藍(lán)牙,其實(shí)通常是指BLE,藍(lán)牙低功耗技術(shù),如名字所示,現(xiàn)在的藍(lán)牙技術(shù)所消耗的功耗很低,并不像傳聞中,不使用藍(lán)牙需要關(guān)閉省電,手機(jī)上長期打開藍(lán)牙所消耗的電量可以忽略不計(jì)。
二、BLE的起源與分類
BLE,也就是低功耗藍(lán)牙技術(shù),起源于2006年Nokia(諾基亞)的Wibree技術(shù),該技術(shù)為稱為“小藍(lán)牙”,類似于藍(lán)牙技術(shù),但是只消耗相當(dāng)于藍(lán)牙技術(shù)一小部分的電池電量。后來該技術(shù)被整合進(jìn)藍(lán)牙,并在SIG 2010年發(fā)布的藍(lán)牙4.0技術(shù)規(guī)范中成為其中一部分。
BLE的協(xié)議棧如下圖所示。BLE是一組與傳統(tǒng)藍(lán)牙不同的協(xié)議,并且對(duì)應(yīng)設(shè)備也未實(shí)現(xiàn)向后兼容功能。因此BLE形成了三種設(shè)備類型:
?
1.Bluetooth設(shè)備,稱為藍(lán)牙BR/EDR:只支持傳統(tǒng)藍(lán)牙的設(shè)備,如一些老式設(shè)備,比如舊型手機(jī)等。經(jīng)典藍(lán)牙采用SPP(串行端口配置文件)傳輸數(shù)據(jù),SPP定義了在兩個(gè)對(duì)等設(shè)備之間使用RFCOMM設(shè)置模擬串行電纜連接所需的藍(lán)牙設(shè)備要求。
2.Bluetooth Smart Ready設(shè)備,稱為藍(lán)牙4.0雙模,同時(shí)支持傳統(tǒng)藍(lán)牙和LE模式的設(shè)備。iOS、Android系統(tǒng)等新型手機(jī)、筆記本、平板電腦支持。因?yàn)殡p??刂破骷闪薆R/EDR控制器和LE控制器,因此它能夠支持兩種藍(lán)牙協(xié)議。
3.Bluetooth Smart設(shè)備,稱為BLE單模,采用LE controller,只支持LE模式的設(shè)備。Beacon設(shè)備只支持low energy protocols(LE低功耗協(xié)議),因此能靠一顆紐扣電池就能運(yùn)行很長時(shí)間。
BLE(低功耗藍(lán)牙)和傳統(tǒng)藍(lán)牙使用的都是相同的波段(2.4GHz)。但是BLE協(xié)議的傳輸速率比較低,物理層的傳輸速率是1Mbps,相當(dāng)于每秒125KB,BLE不適合用于傳達(dá)大量數(shù)據(jù),一般用于發(fā)現(xiàn)設(shè)備和完成一些簡單通信。
BLE和傳統(tǒng)藍(lán)牙都能夠覆蓋到100米的范圍,但BLE的覆蓋范圍稍廣。BLE與傳統(tǒng)藍(lán)牙相比,最大的優(yōu)勢(shì)是功耗,BLE的功耗比傳統(tǒng)藍(lán)牙降低了90%,同時(shí)傳輸距離增大、安全和穩(wěn)定性提高,支持AES加密和CRC驗(yàn)證,對(duì)連接設(shè)備進(jìn)行通信的安全性提供了保障。
三、Beacon技術(shù)的特點(diǎn)
Beacon作為基于藍(lán)牙4.0協(xié)議的定位技術(shù)越來越受室內(nèi)定位市場關(guān)注。隨著物聯(lián)網(wǎng)信息化發(fā)展,大數(shù)據(jù)采集處理需求的不斷積累,低功耗低成本的Beacon技術(shù)成為室內(nèi)定位應(yīng)用關(guān)注的焦點(diǎn),憑借其特點(diǎn)推動(dòng)物聯(lián)網(wǎng)室內(nèi)定位系統(tǒng)快速落地。
1.無需配對(duì)。
在印象中我們?nèi)粘J褂盟{(lán)牙設(shè)備都需要配對(duì)工作,比如打開藍(lán)牙無線耳機(jī)和手機(jī)進(jìn)行連接時(shí)就需要匹配,智能手環(huán)綁定手機(jī)時(shí)也同樣需要匹配工作。而Beacon無需配對(duì),因?yàn)樗遣捎盟{(lán)牙的廣播信道傳送信號(hào),手機(jī)等設(shè)備無需與Beacon設(shè)備建立連接即可正常工作。
2.后臺(tái)接收信息。
基于Beacon定位的信息推送需要App支持。但是我們使用室內(nèi)定位功能接收Beacon信號(hào)無需打開App,只是需要展示Beacon信息推送服務(wù)時(shí)才需打開對(duì)應(yīng)app。
3.Beacon不具備傳統(tǒng)意義上的數(shù)據(jù)傳輸功能。
Beacon設(shè)備基站只是以廣播數(shù)據(jù)的形式推送定位所需的信息,采用的是藍(lán)牙不可連接模式。
如果配套開發(fā)的app要運(yùn)行,并傳輸數(shù)據(jù)與服務(wù)器通信實(shí)現(xiàn)客戶定制化功能,獲取特定數(shù)據(jù),需要搭配開啟其他的數(shù)據(jù)通信方式,例如Wi-Fi、4G等。
另外,采用Beacon定位,可以不使用網(wǎng)絡(luò),而這里的網(wǎng)絡(luò)是指不通過服務(wù)器,Beacon定位算法可以在本地實(shí)現(xiàn),即設(shè)備本身完成定位而不通過線上服務(wù)器計(jì)算,前提是需定位的地圖數(shù)據(jù)提前初始化寫入本地設(shè)備。
?
四、基于Beacon技術(shù)的iBeacon與Eddystone有何區(qū)別?
1.iBeacon
iBeacon技術(shù)是蘋果公司在2013年WWDC上,推出的一項(xiàng)基于藍(lán)牙4.0(Bluetooth Smart)的精準(zhǔn)微定位技術(shù),底層技術(shù)使用的是BLE(Bluetooth Low Energy),該定位技術(shù)在iPhone 4S后支持。
當(dāng)你的手持設(shè)備,例如智能手機(jī)靠近一個(gè)Beacon基站時(shí),智能手機(jī)就能夠接收到Beacon信號(hào),該信號(hào)接收范圍可以達(dá)到50米。
蘋果公司將iBeacon相關(guān)的接口放到了CoreLocation.framework。Google在Android 4.3及后續(xù)版本支持了該功能,開發(fā)者要使用iBeacon技術(shù),只要滿足iBeacon技術(shù)標(biāo)準(zhǔn)即可,但不能對(duì)協(xié)議格式進(jìn)行修改,有一定的局限性。
2.Eddystone
Eddystone是谷歌公司2015年7月15日推出的一款跨平臺(tái)的開源信標(biāo)格式的藍(lán)牙LE信標(biāo),主要應(yīng)用在公共場合向人們發(fā)送各種信息推送。
由于谷歌公司把它定位為開源項(xiàng)目,谷歌公司按照傳統(tǒng),就是不用谷歌公司名稱命名那些開源項(xiàng)目,比如Android操作系統(tǒng)就沒有使用谷歌公司的名稱,公眾不需要知道Eddystone是哪家公司的,只要制作信標(biāo)的OEM和對(duì)應(yīng)app開發(fā)者知道。
相對(duì)于蘋果公司iBeacon的局限性,Eddystone是開源的,不僅能用在安卓系統(tǒng)上,iOS通過鏈接庫文件也可以使用。Eddystone在GitHub上存有源代碼。完全開放源代碼也是Eddystone最大的賣點(diǎn),蘋果對(duì)iBeacon的使用權(quán)限保管地十分嚴(yán)密,之前Radius Networks公司曾想辦法在安卓系統(tǒng)上運(yùn)行蘋果iBeacon,蘋果公司嚴(yán)肅處理此事并最終關(guān)閉了這項(xiàng)服務(wù)。
五、Beacon設(shè)備如何使用BLE
通過上面的內(nèi)容,我們了解到BLE、Beacon、iBeacon、Eddytstone究竟是什么,那么對(duì)于beacon設(shè)備來說,是如何基于BLE技術(shù)實(shí)現(xiàn)功能的呢?
首先,我們先縱觀一下BLE完整的連接過程。
1.BLE的廣播掃描連接過程解析
(1)???廣播,又叫Advertising。
主機(jī)(Central)如果要連接從機(jī)(Peripheral)),從機(jī)必須進(jìn)行廣播,供主機(jī)進(jìn)行連接。從機(jī)會(huì)每間隔一定的時(shí)間發(fā)送一個(gè)廣播包(Advertisement?Packet),間隔的時(shí)間在20ms到10.24s之間,該間隔時(shí)間被稱為廣播間隔。廣播間隔會(huì)影響之后啟動(dòng)一次連接所花費(fèi)的時(shí)間。
主機(jī)在發(fā)送連接請(qǐng)求(Connection?Request)啟動(dòng)與從機(jī)的連接之前,必須接收廣播包。而從機(jī)在發(fā)送完一個(gè)廣播包后的一段時(shí)間內(nèi),只監(jiān)聽主機(jī)的連接請(qǐng)求。一個(gè)廣播包能夠承載31個(gè)字節(jié)的數(shù)據(jù)。通常包含的內(nèi)容有用戶名稱、設(shè)備信息、可連接標(biāo)識(shí)等。廣播類型可分為四種:
1)?Connectable?Undirected?Event?Type(可連接非定向型)
2)?Connectable?Directed?Event?Type(可連接定向型)
3)?Scannable?Undirected?Event?Type(可掃描非定向型)
4)?Non-connectable?Undirected?Event?Type(不可連接非定向型)
當(dāng)主機(jī)接收到一個(gè)廣播包時(shí),它將發(fā)送掃描請(qǐng)求(Scan?Request)來獲得更多的廣播數(shù)據(jù),前提是掃描者(Active?Scanner)已經(jīng)進(jìn)行了配置。然后從機(jī)通過發(fā)送掃描響應(yīng)(Scan?Response)來回應(yīng)這個(gè)掃描請(qǐng)求,可以包含額外的31個(gè)字節(jié)數(shù)據(jù)。
廣播,掃描請(qǐng)求和響應(yīng),它們采用三個(gè)不同的2.4G頻率段以避開WLAN的干擾。
(2)掃描(Scanning)
掃描是主機(jī)用來監(jiān)聽廣播包和發(fā)送掃描請(qǐng)求的。有兩個(gè)時(shí)序參數(shù)需要注意:“掃描窗口”(Scan?Window一次掃描所占的時(shí)間長度)和“掃描間隙”(Scan?Interval一次掃描的總時(shí)間,包括掃描停止的時(shí)間和掃描進(jìn)行的時(shí)間)。?對(duì)于每一次的掃描間隙,主機(jī)掃描的時(shí)間等于“掃描窗口”,意思是說,如果“掃描窗口”等于“掃描間距”,那就意味著主機(jī)在進(jìn)行連續(xù)的掃描。所以說,主機(jī)掃描的占空比就是“掃描窗口”的時(shí)間除以“掃描間隙”的時(shí)間乘以百分之百。
(3)啟動(dòng)連接(Initiating)
當(dāng)主機(jī)想要進(jìn)入連接時(shí),它將經(jīng)歷跟掃描廣播包時(shí)一樣的流程。當(dāng)啟動(dòng)連接時(shí),主機(jī)接收到一個(gè)廣播包時(shí),主機(jī)將發(fā)送一個(gè)連接請(qǐng)求(Connection?Request)給從機(jī)。
(4)連接(Connection)
根據(jù)連接中第一次的數(shù)據(jù)交換來定義主機(jī)和從機(jī)的角色。當(dāng)進(jìn)行連接時(shí),主機(jī)將根據(jù)從機(jī)定義的“間隙時(shí)間”(Interval)請(qǐng)求數(shù)據(jù)。這個(gè)間隙時(shí)間被稱為“連接間隙”(Connection?interval)。它用于主機(jī)連接,不過從機(jī)可以發(fā)送更新連接參數(shù)請(qǐng)求(Connection?Parameter?Updata?Requests)給主機(jī)。
根據(jù)Bluetooth?Core?Specification,這個(gè)時(shí)間間隙必須在7.5ms到4s之間。如果從機(jī)在時(shí)間幀內(nèi)(time-frame)不響應(yīng)這個(gè)來自于主機(jī)的包,這稱作連接監(jiān)管超時(shí)(Connection?supervision?timeout),此次連接被認(rèn)為已丟失。在每次連接間隙中通過傳輸多個(gè)包來達(dá)到更多的數(shù)據(jù)吞吐量是可行的。每次的包最多可以發(fā)送20個(gè)字節(jié)。但是,如果當(dāng)前的功耗需要控制的,從機(jī)沒有數(shù)據(jù)發(fā)送,就可以選擇忽略一定數(shù)量的間隙。被忽略的間隙被稱作“從機(jī)延遲”(slave?latency)。在一次連接中,設(shè)備將通過所有通道在頻率帶中進(jìn)行跳頻(hop)。
2?.Beacon的使用方法
Beacon設(shè)備只使用了廣播通信信道,因此無BLE后續(xù)連接相關(guān)步驟,也正是這樣,Beacon面向低功耗室內(nèi)精確定位的應(yīng)用領(lǐng)域。正如beacon(信標(biāo)、燈塔)的字面意思,這種設(shè)備以一定的時(shí)間間隔發(fā)送數(shù)據(jù)包,并且發(fā)送的數(shù)據(jù)被可以被像手機(jī)這樣的主機(jī)設(shè)備獲取。
比如:一個(gè)小型溫控器可以開放一個(gè)service用于獲取當(dāng)前的溫度或者濕度讀數(shù),它是被可連接的,溫控器和操作設(shè)備之間可以相互通信;Beacon不進(jìn)行連接,操作設(shè)備只接收到Beacon的廣播信號(hào),操作設(shè)備根據(jù)接收到的廣播信號(hào)進(jìn)行下一步動(dòng)作。
六、iBeacon技術(shù)使用介紹
下面主要介紹iBeacon具體怎么使用:
(1)iBeacon的屬性
iBeacon從本質(zhì)上來說是一個(gè)位置信息,所以蘋果公司把iBeacon功能集成在了Core Location里面,主要用三個(gè)屬性來標(biāo)識(shí)一個(gè)iBeacon:proximityUUID、major和minor。
1.proximityUUID是一個(gè)NSUUID,用來標(biāo)識(shí)公司的。每個(gè)公司、組織使用的iBeacon應(yīng)該擁有同樣的proximityUUID,也被稱為UUID。
2.major用來識(shí)別一組相關(guān)聯(lián)的beacon,例如在連鎖超市的場景中,每個(gè)分店的beacon應(yīng)該擁有同樣的major,major的作用類似于分組,為了更好地管理數(shù)量龐大的Beacon設(shè)備。
minor則用來區(qū)分某個(gè)特定的beacon,相當(dāng)于是對(duì)同一組的Beacon設(shè)備進(jìn)行編號(hào)管理,例如在連鎖超市中,區(qū)分某一個(gè)貨架上的不同商品。
這些屬性如果不進(jìn)行指定,設(shè)備匹配的時(shí)候就會(huì)忽略這個(gè)屬性。例如只指定proximityUUID的CLBeaconRegion可以匹配某公司的所有beacon設(shè)備。
(2)iBeacon幀格式
iBeacon廣播包幀格式如下,我們可以看到幀格式由廣播長度、類型、公司ID、iBeacon類型、iBeacon長度、UUID、Major、Minor、發(fā)射功率這些參數(shù)組成。
其中Company ID稱為公司ID,顧名思義是為了展示公司標(biāo)識(shí),例如下面的公司向Bluetooth SIG申請(qǐng)的16bit UUID:百度(0xFDC2,0xFDC3),小米(0xFDAB,0xFDAA,0xFE95),alibaba(0xFE3C),nordic(0xFE59,0xFE58)。
Company ID帶有很強(qiáng)的標(biāo)識(shí)信息,體現(xiàn)出該iBeacon數(shù)據(jù)服務(wù)提供商的綜合能力,但是很多使用者和公司都沒有這種ID。在實(shí)際的Beacon營銷推廣應(yīng)用,例如在商場推送營銷信息中,展示自身的ID信息是非常重要的,而該參數(shù)的限制對(duì)營銷推廣使用有一定的局限性。
除此之外,我們可以看到整個(gè)iBeacon數(shù)據(jù)格式是單一的,每一段代碼都已經(jīng)被嚴(yán)格限制,開發(fā)者或者使用者只能按照格式使用,不能額外修改或者自行開發(fā)。
七、Eddystone技術(shù)使用介紹
下面主要介紹Eddystone具體怎么使用:
(1)Eddystone的屬性
Eddystone除了開源這一大優(yōu)勢(shì)之外,還支持多框架。先前蘋果的iBeacon和谷歌的The Physical Web都只支持一種框架。
Eddystone兼容多種框架,你可以看到不同的信標(biāo)銷售商銷售不同用途的信標(biāo)。意味著無論是iOS手機(jī)還是Android手機(jī)都可以接收到谷歌公司的Eddystone Beacon信號(hào)。這對(duì)于需要推送店鋪信息的商家是個(gè)非常好的消息,意味著所有手機(jī)都可以接收到推送消息,而不是像iBeacon一樣被iOS系統(tǒng)所限制。
而Eddystone多種框架包含UID、URL、TLM、EID四種格式數(shù)據(jù)。
Eddystone的UID初衷就是用來兼容iBeacon UUID,為了打破只有iBeacon UUID的限制,UID可以自由地被商家設(shè)置,app可以選擇只接受來自該UID的消息,通過UID的唯一識(shí)別碼,商家app也可以判斷出用戶處于全球的哪一家分店,并推送相應(yīng)的信息,如優(yōu)惠券、連接Wi-Fi等等。
URL鏈接顯然比UID應(yīng)用更廣泛也更簡單,任何一個(gè)手機(jī)上都有瀏覽器,它們都可以打開URL。在這種一次性傳輸中,用戶不想專門下載app接收推送信息,URL無疑是最佳選擇。
TLM,這種遠(yuǎn)程遙測(cè)框架對(duì)需要掌控大量信標(biāo)的企業(yè)很有用。鑒于信標(biāo)大多數(shù)使用電池供電,在一段時(shí)間后就需要更換電池或充電。遙測(cè)數(shù)據(jù)框架允許信標(biāo)將自身的狀態(tài)和電量信息發(fā)送給周圍的工作人員,這樣員工們可以有針對(duì)性的進(jìn)行維護(hù)和更換。
EID是一種安全框架,它是一種只允許被授權(quán)用戶讀取信息的信標(biāo)。比如在公司中,大廳里安放了對(duì)全部顧客、訪客廣播的信標(biāo),然而公司也有只想對(duì)雇員廣播的信息,他們顯然不希望這些信息被顧客和訪客看到。
(2)Eddystone幀格式
Eddystone不使用制造商數(shù)據(jù)字段,而是在完整的16位服務(wù)UUID字段中置入0xFEAA值,并用關(guān)聯(lián)的服務(wù)數(shù)據(jù)字段來容納Beacon信息。完整細(xì)節(jié)可查看如下:
利用Eddystone技術(shù)的Beacon設(shè)備可以廣泛應(yīng)用于商品的近距離推廣,例如顧客在超市,餐廳附近逛街。在機(jī)場,火車站,風(fēng)景點(diǎn),博物館獲取地點(diǎn)信息。對(duì)資產(chǎn)進(jìn)行追蹤防丟。在商場室內(nèi)進(jìn)行導(dǎo)航。
基于BLE技術(shù)的Beacon應(yīng)用案例在市場上已遍地開花,網(wǎng)上可以搜到各種有關(guān)Beacon的技術(shù)信息。無論國內(nèi)還是國外,Beacon技術(shù)旺盛的應(yīng)用需求已經(jīng)吸引越來越多的廠商投入研發(fā),市面上已有相當(dāng)成熟的Beacon系統(tǒng)方案,例如智慧博物館、智慧倉庫、智慧動(dòng)物園、智慧冷鏈、智慧賣場、智慧商店、智慧體育館、智慧養(yǎng)老院、智慧醫(yī)院、智慧展覽中心等Beacon應(yīng)用方案。信馳達(dá)科技作為物聯(lián)網(wǎng)業(yè)內(nèi)領(lǐng)軍企業(yè)更是起到了先行者的作用,旗下推出的Beacon成品RF-B-AR1,憑借極低的使用門檻助力客戶縮短項(xiàng)目搭建周期,幫助客戶產(chǎn)品快速落地,在國內(nèi)已有成熟的Beacon應(yīng)用場景案例。
目前,國內(nèi)Beacon應(yīng)用越發(fā)趨于完善,整體室內(nèi)定位產(chǎn)業(yè)鏈初具規(guī)模。憑借著低功耗,低成本的Beacon產(chǎn)品優(yōu)勢(shì),信馳達(dá)科技在室內(nèi)定位應(yīng)用的廣闊前景已經(jīng)打開。
?