我當(dāng)初加入藍(lán)牙技術(shù)聯(lián)盟時(shí),,雖然身為無線開發(fā)者,但對藍(lán)牙(Bluetooth?)技術(shù)的細(xì)節(jié)并不十分熟悉,。因此我也花了很多時(shí)間翻閱了3000多頁的藍(lán)牙規(guī)格指南,,學(xué)習(xí)采用的和自定義配置文件的開發(fā)過程,,以及有哪些工具可以輔助開發(fā),。我希望通過這樣的學(xué)習(xí)過程,更多地了解如何將藍(lán)牙這項(xiàng)技術(shù)推向現(xiàn)實(shí)應(yīng)用,。
一個比較根本的問題是初學(xué)者需要花費(fèi)較長時(shí)間入門,,摸索相關(guān)的開發(fā)知識。對開發(fā)者來說,,從理解藍(lán)牙技術(shù),、專業(yè)術(shù)語、再到在藍(lán)牙芯片或模組上實(shí)際操作,,著實(shí)不容易,。也正是那時(shí)開始,我決心要為開發(fā)者打造一個便于開發(fā)及了解藍(lán)牙的工具,。
因此我和我在藍(lán)牙技術(shù)聯(lián)盟的團(tuán)隊(duì)開始著手打造能夠讓藍(lán)牙開發(fā)更簡單更快速的工具,。我們已經(jīng)打造出了幾個非常不錯的工具,包括應(yīng)用加速器(ApplicationAccelerator)和智能入門套件(SmartStarter Kit),,卻并沒有止步于此,。我們希望能夠達(dá)成以下三個目標(biāo):降低藍(lán)牙開發(fā)的入門壁壘,,加快上市時(shí)間,提高協(xié)同性和合作性,。
降低藍(lán)牙開發(fā)的入門壁壘
藍(lán)牙技術(shù)聯(lián)盟想在第一時(shí)間給開發(fā)者所需的幫助,,同時(shí)縮減他們的學(xué)習(xí)曲線。藍(lán)牙有許多很有用的文檔,,但是隨著版本更新,,開發(fā)者想要跟得上這些變化就越來越困難,連GATT技術(shù)相關(guān)的部分也一樣,。要為解決方案中設(shè)備的功能創(chuàng)建自定義配置文件,、用例等,更是讓這一過程變得更加復(fù)雜,。所以我們需要尋找更好的方法,。
加快上市時(shí)間
簡化文檔、讓過程更直觀,,無疑能夠加速開發(fā),。但我們不想止步于此。目前已經(jīng)有很多用于創(chuàng)建設(shè)備端(客戶端)代碼的好工具,,包括編譯器和IDE,,因此無需再創(chuàng)建一個全新的工具鏈。我們想要的工具必須是易用的,、足夠靈活的,,以便整合于其他工具鏈,避免不必要的重復(fù),,確保過程盡可能地快速,。
提高協(xié)同性和合作性
藍(lán)牙社區(qū)中層出不窮的新穎創(chuàng)意總是讓我驚奇不止。藍(lán)牙愛好者,、創(chuàng)客,、乃至大的ODM廠商都在使用藍(lán)牙創(chuàng)建最新最棒的互聯(lián)設(shè)備和應(yīng)用。我們希望為大家打造一種能夠輕松分享創(chuàng)新的方式,,讓整個藍(lán)牙社群從中受益,。
這就是我們創(chuàng)建Bluetooth Developer Studio(BDS)的初衷。BDS是一款全新的官方藍(lán)牙開發(fā)工具,。
BDS是一款直觀的圖形工具,,讓開發(fā)者能夠采用既有的配置文件,或創(chuàng)建自己的自定義配置文件,。開發(fā)者無需在串聯(lián)的XML文件中隨意插入,,然后再進(jìn)行解析;也無需去翻閱3000多頁的規(guī)格說明去了解基于GATT的服務(wù)要如何相互支持,,而是能夠?qū)崟r(shí)互動,。
Bluetooth Developer Studio的設(shè)計(jì)初衷是為易用,,讓開發(fā)者能夠集中于他們創(chuàng)建的解決方案本身,而非鉆研藍(lán)牙技術(shù)的實(shí)施,。對于尚不十分了解藍(lán)牙的開發(fā)者來說,,可以借助這一直觀的、可進(jìn)行簡單拖拽操作的用戶界面快速啟動開發(fā),。BDS提供了一個采用的配置文件列表,,讓開發(fā)者可以在其中搜索,比如在創(chuàng)建健身追蹤器時(shí),,可鍵入“健身”,。找到正確的配置文件之后,便可將其拖拽入設(shè)計(jì)框架進(jìn)行導(dǎo)入,。
如果找不到所需的可采用的配置文件,,還可以參考由社區(qū)成員發(fā)布的自定義解決方案實(shí)施的庫,尋找是否有滿足產(chǎn)品需求的配置文件,。開發(fā)者還可以分享這些配置文件并為其評分,,進(jìn)一步確保藍(lán)牙社區(qū)有足夠的信息幫助開發(fā)者選擇正確的配置文件。
如果采用的配置文件列表和藍(lán)牙社區(qū)中都沒能找到所需的配置文件,,開發(fā)者開可以選擇創(chuàng)建自定義配置文件,。BluetoothDeveloper Studio通過使用配置文件、服務(wù),、以及特色開發(fā)的模板,,讓自定義配置文件的創(chuàng)建容易得多了。
為了確??珊献鞴ぞ哝?、以及各種開發(fā)工具集的互操作性,Bluetooth DeveloperStudio是使用插件基礎(chǔ)設(shè)施創(chuàng)建的,。Beta版本中已經(jīng)有一系列來自北歐半導(dǎo)體,、德州儀器等芯片公司,,以及Seed Labs等OEM的插件,。我們期待這一生態(tài)系統(tǒng)更夠繼續(xù)拓展。如果開發(fā)者想要確保產(chǎn)品能夠與其他設(shè)備,、應(yīng)用和平臺協(xié)同工作,,這些插件就能幫助開發(fā)者快速創(chuàng)建代碼,然后將其植入開發(fā)套件或特定的設(shè)備,。比如創(chuàng)建溫度傳感器時(shí),,想要在溫度變化時(shí)通知某一特定的應(yīng)用,Bluetooth Developer Studio插件就能為開發(fā)者生成存根代碼,。
為了讓開發(fā)者的開發(fā)過程更順利,,Bluetooth DeveloperStudio還能配合測試過程,。目前藍(lán)牙技術(shù)聯(lián)盟Profile Tuning Suite(PTS)能夠自動操作協(xié)議和配置文件測試,確保設(shè)備支持藍(lán)牙規(guī)格,,并能與其他設(shè)備互操作,。但雖然PTS支持技術(shù)測試,卻無法支持功能測試以確保產(chǎn)品能夠按預(yù)期運(yùn)行,。因此開發(fā)者可以通過PTS了解設(shè)備是否支持心率配置文件,,但卻無法得知當(dāng)用戶心率低于一定值時(shí)會怎樣。我們期待在Bluetooth Developer Studio內(nèi),,通過虛擬測試環(huán)境和物理設(shè)備,,提供實(shí)時(shí)的功能測試,讓開發(fā)者能夠在同樣的環(huán)境中進(jìn)行所有測試,。
整個過程中,,如果有任何不清楚的地方,服務(wù)注釋,、描述和注解也能起到幫助,。開發(fā)者還可以直接使用BDS中的深度教程,包括如何創(chuàng)建自定義配置文件或使用插件,。Bluetooth Developer Studio有著一套完整的幫助系統(tǒng),,開發(fā)者可以使用既有的深度文檔,而無需到他處另尋,。不同人有不同的學(xué)習(xí)方式,,比如閱讀、觀看視頻,、聽講座等,,因此藍(lán)牙技術(shù)聯(lián)盟也為開發(fā)者準(zhǔn)備了多種形式的教程。
今年10月,,藍(lán)牙技術(shù)聯(lián)盟已經(jīng)宣布推出Bluetooth? Developer Studio正式版,。如果身為開發(fā)者的你對此有興趣,就點(diǎn)擊原文鏈接注冊吧,,我們期待您的參與和反饋,!BDS是我們?yōu)樗{(lán)牙社區(qū)傾力奉獻(xiàn)的一款開發(fā)工具,我們需要大家更多的意見和建議,,再接再厲繼續(xù)開發(fā),。我們不希望藍(lán)牙開發(fā)者在開發(fā)過程中感到受限制,而是希望他們能夠?qū)W⒂诖蛟飒?dú)一無二的產(chǎn)品,。希望Bluetooth Developer Studio能夠幫助開發(fā)者實(shí)現(xiàn)更大的夢想,,讓產(chǎn)品更快上市。
Bluetooth Developer Studio 進(jìn)行時(shí):BBC micro:bit
BBC近期推出了BBC micro:bit,這是一款口袋大小的可編程計(jì)算機(jī),,將被免費(fèi)發(fā)放給英國七年級的學(xué)生,。它有運(yùn)動監(jiān)測功能,內(nèi)置羅盤和藍(lán)牙低功耗技術(shù),。無需任何計(jì)算機(jī)知識就能為設(shè)備進(jìn)行簡單的編碼,,比如開啟LED燈、在屏幕顯示圖案等,。它還能連接至其他設(shè)備,、傳感器、套件和物體,,可配合Arduino,、Galileo、Kano, littleBits,、Raspberry Pi, 作為日后復(fù)雜學(xué)習(xí)的跳板,。
藍(lán)牙是micro:bit中的重要技術(shù)之一,它讓micro:bit能夠與其他micro:bit,、設(shè)備,、電話、平板電腦,、相機(jī),、以及我們身邊的其他日常設(shè)備實(shí)現(xiàn)通信并相互連接。
藍(lán)牙技術(shù)聯(lián)盟使用Bluetooth Developer Studio為BBC micro:bit設(shè)計(jì)了專門的藍(lán)牙配置文件,。藍(lán)牙技術(shù)聯(lián)盟的Martin Woolley使用BDS的配置文件設(shè)計(jì)器功能設(shè)計(jì)了配置文件,,加上藍(lán)牙技術(shù)聯(lián)盟既有的可采用的服務(wù)(入電池服務(wù)和設(shè)備信息服務(wù)),以及對于BCCmicro:bit來說全新的“來電”用例等自定義服務(wù),,所有的這些都是通過拖拽的設(shè)計(jì)界面完成的,。這也讓Martin能根據(jù)大家日后的要求和更多的想法進(jìn)行靈活修改。Martin為BDS創(chuàng)建了更多的插件,,并能夠生成HTML報(bào)告,,詳述不同層次的配置文件設(shè)計(jì)。
這些都會交由藍(lán)牙技術(shù)聯(lián)盟團(tuán)隊(duì)成員分別進(jìn)行復(fù)審,。這些插件將會被發(fā)布至Bluetooth Developer Studio資料庫,,分享到更廣的社區(qū)范圍內(nèi)。BBC micro:bit采用了北歐半導(dǎo)體nRF51 Bluetooth Smart堆棧,,這一平臺也得到Bluetooth Developer Studio Beta版本的支持,。Martin在短短幾天內(nèi)就生成了代碼并將交給了負(fù)責(zé)為micro:bit開發(fā)運(yùn)行時(shí)固件的蘭卡斯特大學(xué),。