藍(lán)牙mesh在去年7月正式發(fā)布,至今已經(jīng)過(guò)去了一年多的時(shí)間。在過(guò)去的一年中,藍(lán)牙m(xù)esh的開(kāi)發(fā)者社區(qū)有哪些最新的更新?
· 多家會(huì)員公司推出了面向開(kāi)發(fā)者的藍(lán)牙m(xù)esh SDK;
· 相關(guān)的開(kāi)源社區(qū)已經(jīng)提供了關(guān)于藍(lán)牙m(xù)esh和藍(lán)牙5的開(kāi)源項(xiàng)目;
· 相關(guān)會(huì)員公司提供了藍(lán)牙m(xù)esh 的IP解決方案;
· 現(xiàn)有的藍(lán)牙協(xié)議分析儀器供應(yīng)商逐步支持藍(lán)牙m(xù)esh協(xié)議解析;
· 以及采用藍(lán)牙m(xù)esh的終端產(chǎn)品;
綜上所述,藍(lán)牙m(xù)esh的開(kāi)發(fā)者社區(qū)在過(guò)去的一年中有著非常快速的發(fā)展。對(duì)于藍(lán)牙m(xù)esh的開(kāi)發(fā)者,隨著藍(lán)牙m(xù)esh的開(kāi)發(fā)者社區(qū)生態(tài)逐漸的完善,將會(huì)有越來(lái)越多的開(kāi)發(fā)者投入其中。如果大家要開(kāi)發(fā)藍(lán)牙m(xù)esh的產(chǎn)品或者是原型,首要的問(wèn)題就是需要有一個(gè)藍(lán)牙m(xù)esh的Provisioner,因?yàn)镻rovisioner負(fù)責(zé)為新加入的設(shè)備分配unicast address,網(wǎng)絡(luò)密鑰network key,設(shè)備密鑰 device key,IV Index等等這些重要的信息,那么如何能夠以最快的速度搭建一個(gè)藍(lán)牙m(xù)esh的Provisioner?任凱為大家提供一個(gè)自己的解決方案:在樹(shù)莓派3上面部署B(yǎng)lueZ,使其成為一個(gè)藍(lán)牙m(xù)esh的Provisioner。
有藍(lán)牙開(kāi)發(fā)經(jīng)驗(yàn)的工程師應(yīng)該都聽(tīng)說(shuō)過(guò)BlueZ,BlueZ是官方的Linux藍(lán)牙協(xié)議棧,從BlueZ v5.47開(kāi)始,BlueZ加入一款名為meshctl的工具。通過(guò)這款工具,開(kāi)發(fā)者可以通過(guò)PB-GATT 和GATT Proxy 的方式對(duì)于新加入的設(shè)備進(jìn)行provisioning以及相關(guān)的model configuration。在看到BlueZ支持藍(lán)牙m(xù)esh之后,我著實(shí)激動(dòng)了好幾天,試圖在樹(shù)莓派3主板上部署B(yǎng)lueZ v5.49,但是有幾個(gè)障礙讓我感到困惑和掙扎,我花了大約兩周時(shí)間在互聯(lián)網(wǎng)上尋找解決方案,并與Linux專(zhuān)家討
論解決問(wèn)題并使其能夠正常工作。我解決的問(wèn)題可能是開(kāi)發(fā)人員必須面對(duì)的問(wèn)題,作為藍(lán)牙技術(shù)聯(lián)盟的開(kāi)發(fā)者關(guān)系經(jīng)理,我認(rèn)為我有責(zé)任向開(kāi)發(fā)人員分享我的知識(shí)和經(jīng)驗(yàn)。所以,我總結(jié)了我解決的問(wèn)題,收集了相應(yīng)的信息,然后我為開(kāi)發(fā)人員編寫(xiě)了一個(gè)教程,希望開(kāi)發(fā)人員可以使用本教程來(lái)搭建一個(gè)屬于自己的藍(lán)牙m(xù)esh Provisioner。
本教程包括:
· 準(zhǔn)備工作;
· 如何配置樹(shù)莓派3;
· 如何為BlueZ v5.49安裝依賴(lài)項(xiàng);
· 如何獲取BlueZ v5.49源代碼;
· 如何在樹(shù)莓派3上編譯和安裝BlueZ;
· 如何重新編譯和安裝樹(shù)莓派3的內(nèi)核為meshctl工具搭建運(yùn)行條件;
· 如何驗(yàn)證內(nèi)核安裝;
最后,為開(kāi)發(fā)者附上教程的下載地址,希望開(kāi)發(fā)者們踴躍嘗試!