Android BLE-iBeacon系列(一)iBeacon介紹


干貨分享:Android BLE 框架,簡(jiǎn)單易用,可能是迄今為止功能最全面的
https://github.com/a1anwang/okble


iBeacon系列文章:

\color{red}{注:iBeacon是蘋果在BLE基礎(chǔ)上的封裝,android系統(tǒng)沒有提供Beacon相關(guān)的封裝}
\color{red}{本文iBeacon系列代碼是完全按照ios的api來設(shè)計(jì)的,在APP開發(fā)時(shí)android和ios的邏輯是一模一樣的}
Android BLE-iBeacon系列(一)iBeacon介紹
Android BLE-iBeacon系列(二)掃描識(shí)別iBeacon設(shè)備
Android BLE-iBeacon系列(三)iBeacon區(qū)域介紹
Android BLE-iBeacon系列(四)iBeacon區(qū)域的進(jìn)入和退出監(jiān)聽
Android BLE-iBeacon系列(五)手機(jī)模擬為iBeacon(待續(xù))


正文

以下是百度結(jié)果:

iBeacon [1] 是蘋果公司2013年9月發(fā)布的移動(dòng)設(shè)備用OS(iOS7)上配備的新功能。其工作方式是,配備有 低功耗藍(lán)牙(BLE)通信功能的設(shè)備使用BLE技術(shù)向周圍發(fā)送自己特有的ID,接收到該ID的應(yīng)用軟件會(huì)根據(jù)該ID采取一些行動(dòng)。比如,在店鋪里設(shè)置iBeacon通信模塊的話,便可讓iPhone和iPad上運(yùn)行一資訊告知服務(wù)器,或者由服務(wù)器向顧客發(fā)送折扣券及進(jìn)店積分。此外,還可以在家電發(fā)生故障或停止工作時(shí)使用iBeacon向應(yīng)用軟件發(fā)送資訊。

其實(shí)iBeacon就是一個(gè)BLE(低功耗藍(lán)牙)設(shè)備,不斷的發(fā)出BLE廣播。 iBeacon規(guī)定了廣播里的數(shù)據(jù)格式,iBeacon理論上應(yīng)該不能被連接,假如被連上了,別的手機(jī)就搜不到了,這樣就失去了iBeacon廣播數(shù)據(jù)的功能。

解釋一下上面百度的應(yīng)用場(chǎng)景:
(1)向顧客發(fā)送折扣券及進(jìn)店積分
iBeacon的廣播字段里有uuid,major,minor等名詞的數(shù)據(jù),簡(jiǎn)單點(diǎn)認(rèn)為這3者的組合可以唯一確定一個(gè)iBeacon設(shè)備。 微信里面的搖一搖就有這個(gè)發(fā)送折扣券的類似功能.。 一個(gè)店鋪通過微信平臺(tái)進(jìn)行申請(qǐng),微信會(huì)給店鋪提供uuid,major,minor等信息。店鋪可以在微信平臺(tái)的后臺(tái)進(jìn)行設(shè)置相關(guān)的H5展示網(wǎng)頁(yè),折扣券等, 然后店鋪再通過一些渠道(微信會(huì)推薦一些iBeacon制造商家,當(dāng)然我們也可以使用我們的手機(jī)來模擬成iBeacon設(shè)備,系列文章里都會(huì)講到)購(gòu)買若干個(gè)iBeacon設(shè)備,iBeacon設(shè)備到手之后,需要進(jìn)行配置,把設(shè)備廣播的uuid,major,minor設(shè)置成微信平臺(tái)分配給商鋪的uuid,major,minor。這樣,當(dāng)用戶進(jìn)入店鋪附近時(shí),掏出手機(jī),打開微信,搖一搖,就會(huì)顯示出商鋪的信息。原理就是微信APP調(diào)用了BLE掃描方法,識(shí)別出了周圍有iBeacon設(shè)備,然后把iBeacon設(shè)備的uuid,major,minor信息請(qǐng)求微信服務(wù)器看是不是有注冊(cè)的店鋪信息,有的話就把店鋪在后臺(tái)設(shè)置的H5等信息展現(xiàn)出來。
(2)家電發(fā)生故障檢修
家里購(gòu)買了一個(gè)洗衣機(jī),這個(gè)洗衣機(jī)比較高級(jí),里面裝了iBeacon設(shè)備,干什么用呢?假如洗衣機(jī)壞了,得找人修,官方維修人員上門,掏出手機(jī),打開一個(gè)APP,得出故障原因,這個(gè)過程可能只要2秒鐘。然后根據(jù)原因選擇維修方法是返廠修還是師傅就地拆機(jī)啪啪啪搞定。(更簡(jiǎn)單點(diǎn)的,官方客服告知用戶你去下載一個(gè)我們的檢修APP,打開APP會(huì)檢測(cè)出故障原因,你把檢測(cè)結(jié)果告訴我們,我們來安排維修)什么原理?洗衣機(jī)出故障后,內(nèi)部的iBeacon可以通過uuid,major,minor等廣播信息告知故障類型,檢修APP掃描到iBeacon信息,根據(jù)這些信息匹配故障表,得到發(fā)生故障的部位和原因。

iBeacon還可以用于很多其他的場(chǎng)景,比如展館自動(dòng)播報(bào)展位信息,室內(nèi)定位等。

稍微解釋一下uuid,major,minor的意思,上面提到:簡(jiǎn)單點(diǎn)認(rèn)為這3者的組合可以唯一確定一個(gè)iBeacon設(shè)備。
uuid是一個(gè)xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx (8-4-4-4-12) 16字節(jié)128位的字符串,major,minor都是一個(gè)兩字節(jié)的int型,那么取值范圍即為0~0xFFFF(0-65535)。還是舉例來說明有何用處,比如有一個(gè)展會(huì),特別大,邀請(qǐng)了很多參展商,比如百度,阿里,騰訊,他們各自展出了很多產(chǎn)品。展會(huì)開發(fā)了一個(gè)app,用戶使用這個(gè)app可以快速定位自己屬于哪里,不怕迷路。怎么做的呢,就是在每個(gè)展位上放置iBeacon設(shè)備,iBeacon設(shè)備的uuid,major,minor設(shè)置是有講究的,比如給騰訊展區(qū)的所有iBeacon設(shè)備的uuid為uuid_A, 騰訊展區(qū)里的智能家居區(qū)域的所有iBeacon設(shè)備的major為1,騰訊展區(qū)的游戲區(qū)域的所有iBeacon設(shè)備的major為2,騰訊展出的智能電視(屬于智能家居)的iBeacon設(shè)備的minor為1,騰訊展出的智能電燈(屬于智能家居)的iBeacon設(shè)備的minor為2,騰訊代理的堡壘之夜(一款游戲)的展位的iBeacon設(shè)備的minor為1,騰訊代理的絕地求生(一款游戲)的展位的iBeacon設(shè)備的minor為2。 那么,當(dāng)用戶想知道自己處于何處時(shí),打開app,app可以掃描識(shí)別周圍的iBeacon信息,當(dāng)識(shí)別出最近的iBeacon信息的uuid為uuid_A,major為1,minor為2時(shí),app即告知用戶,當(dāng)前處于騰訊展區(qū)的智能家具里的智能電燈展位附近。

提問環(huán)節(jié):app識(shí)別出最近的iBeacon信息的uuid為uuid_A,major為2,minor為1,這時(shí)處于哪個(gè)位置?

答案:騰訊展區(qū)的游戲區(qū)的堡壘之夜展位附近。

uuid,major,minor不一定就是按照上面的例子來劃分,在具體應(yīng)用中有很大的靈活性。只需要知道,根據(jù)這個(gè)信息可以區(qū)分設(shè)備,知道自己處于哪個(gè)設(shè)備或區(qū)域附近。
iBeacon的廣播里面還有一個(gè)信息叫measuredPower,一個(gè)字節(jié)的int型,假如識(shí)別出的iBeacon設(shè)備廣播里的measuredPower為-59, 即表示手機(jī)距離該iBeacon設(shè)備1米距離的參考信號(hào)強(qiáng)度(RSSI)為-59??梢愿鶕?jù)這個(gè)參考值來做測(cè)距,常用來做室內(nèi)定位,但是RSSI受很多因素影響,而且不穩(wěn)定,室內(nèi)定位需要很多優(yōu)化,高德就有基于iBeacon的室內(nèi)定位SDK。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容