用Bluetooth Developer Studio縮短70%藍牙開發(fā)時間
你知道嗎?在物聯(lián)網(wǎng)(IoT)世代,我們設(shè)計產(chǎn)品的過程將變得和以前大不相同?;蛟S你已經(jīng)聽說過,這將是一個萬物智能的時代,所有的硬件都可以擁有智能,你的衣服、杯子、咖啡機都可以被賦予可計算的智慧,以及與人交互的能力。我們所面臨的物聯(lián)網(wǎng)市場將不在是一個單一產(chǎn)品足以引爆的市場,而將是一個“長尾理論”(The Long Tail)的市場。
本文引用地址:http://cafeforensic.com/article/201610/306180.htm長尾理論?這和智能硬件開發(fā)扯得上半毛錢關(guān)系嗎?是的,日前,藍牙技術(shù)聯(lián)盟(Bluetooth SIG)開發(fā)項目技術(shù)經(jīng)理高文森在談到IoT市場上創(chuàng)新型硬件開發(fā)時就表示,智能硬件的開發(fā)已不在是一個產(chǎn)品方案走遍天下的時代,隨著低功耗藍牙的出現(xiàn),成就物聯(lián)網(wǎng)時代的藍牙硬件市場將是一個長尾的市場,早幾年,大家提到藍牙硬件開發(fā),就想到藍牙耳機,幾乎一個方案就能copy在無數(shù)中國工廠中。而現(xiàn)在藍牙遇到了廣闊的IoT機遇,基于藍牙連接技術(shù)的智能互聯(lián)設(shè)備可能是一個牙刷、心率監(jiān)測儀、門鎖、燈泡等各種設(shè)備,開發(fā)方案將極具創(chuàng)新又各有差異,覆蓋的領(lǐng)域也會千差萬別,唯一不變的是,各位,留給我們的開發(fā)時間將更少了。我們的隊伍還會加入很多“門外漢”設(shè)計師,可能對電子設(shè)計不熟,但同時又在自己領(lǐng)域是專家。共同的是,我們都希望快速開發(fā)出有創(chuàng)意的、符合市場需求的智能硬件產(chǎn)品。
談正事,那么?如果你要開發(fā)一款基于藍牙連接技術(shù)的智能硬件,你會怎么做?一頁一頁查Paper,從基礎(chǔ)協(xié)議學起?要知道設(shè)計師的寶貴時間更應該留給功能的開發(fā)與實現(xiàn),何況留給我們的時間并不多。當然,如果你是“藍牙大神”,已經(jīng)對最新公布、早先公布、形形色色的藍牙profile爛熟于心,或者你想憑一己之力吃透厚厚一疊參考資料而不在乎開發(fā)時間。OK,請忽略下文內(nèi)容。
或者你會,找廠家的參考設(shè)計或開發(fā)套件支持?這是一個好辦法,今天,我們并不想否認這種常規(guī)的好方法,而是希望提供多一個更能加速開發(fā)的全新選擇,并且這種選擇完全可以疊加于廠家參考設(shè)計或開發(fā)套件支持的基礎(chǔ)之上,并再次縮短開發(fā)時間。
好了,前面扯的有點多,該談談縮短開發(fā)時間的事了。這里提到的好方法就是藍牙技術(shù)聯(lián)盟最新為物聯(lián)網(wǎng)產(chǎn)品開發(fā)推出的“Bluetooth Developer Studio”開發(fā)工具包。據(jù)藍牙聯(lián)盟官方公布:“Bluetooth Developer Studio”可有效縮減多達50%的藍牙學習時間。來自初級用戶和資深藍牙開發(fā)者的反饋表明,“Bluetooth Developer Studio”更能夠?qū)⑺{牙開發(fā)時間縮短多達70%。
縮短70%?究竟是如何做到的?簡而言之,就是通過提供“代碼實例”的方式,讓開發(fā)者在“開發(fā)庫”里找到符合自身開發(fā)項目大致想法的實例模板,通過簡單拖放(圖1),快速創(chuàng)建自己的項目,并在此基礎(chǔ)上生成開發(fā)原型,設(shè)計師可進一步利用開發(fā)包進行原型驗證和互操作性等測試(包括虛擬測試),工具也直接支持各家藍牙原廠(藍牙芯片和模塊供應商)的解決方案,可選擇具體的芯片/模塊后自動生成代碼文件,最終導入到原廠開發(fā)軟件或開發(fā)板中進行進一步功能性開發(fā)等步驟,將設(shè)計直接變身產(chǎn)品。高文森演示并舉例道,比如:我想設(shè)計一個“智能咖啡機”,有一塊開發(fā)板并希望完成上面的軟件。我可在工具包里檢索到另一個家伙的智能咖啡機項目,用鼠標拖過來,修改定義一些我所需要的變量,大約15分鐘的時間就可以搞定一個原型。然后基于原型,在里面進一步挑選原廠方案。比如要用Nordic的板做,Bluetooth Developer Studio就會自動生成適合Nordic的代碼,我可以把代碼直接放在Nordic開發(fā)板上。當然,開發(fā)包本身是圖形化的界面,操作、生成都很簡單。開發(fā)者也能輕松獲得教程,易于學習。
圖1 開發(fā)者在“開發(fā)庫”里找到符合自身項目需要的實例模板,通過簡單拖放,快速創(chuàng)建自己的項目
已經(jīng)有那么多廠家開發(fā)套件,為何還要用藍牙聯(lián)盟的工具包?當然首先它是完全免費下載的(不論是現(xiàn)在的Beta版還是未來的正式版)。其次,這次由聯(lián)盟來發(fā)布工具包主要是想填補一個空白,就是基于通用屬性配置文件GATT(Generic Attribute Profile)的開發(fā)和調(diào)試。對此高經(jīng)理也表示,有別于原廠的套件,聯(lián)盟發(fā)布的工具包是希望更多提供對藍牙協(xié)議層面的支持。利用原廠套件做開發(fā)前,設(shè)計師往往需要對最初的自定義配置文件(Profile)進行定義,需要理解很多的Profile文檔,現(xiàn)在在下載實例的同時可以省略這一步,或設(shè)計師可以在已有配置文件的基礎(chǔ)上加以創(chuàng)建新的應用,由此來大大節(jié)省開發(fā)時間。當然你的Profile也可以發(fā)布在平臺中供更多人使用。
從編譯角度看,這個工具的編譯功能也是對原廠編譯器某些方面的增強,你可以在工具中基于某個原廠的開發(fā)板生成代碼,隨后導入原廠的開發(fā)工具中進行進一步的性能開發(fā)、UI開發(fā)等,再用原廠的開發(fā)工具編譯代碼最終導入開發(fā)板,這樣的流程可以節(jié)省很多開發(fā)時間。當然這款工具也能在快速出原型的基礎(chǔ)上進行原型驗證、互操作驗證等虛擬測試。這也順應目前在開發(fā)界很流行的快速迭代概念,需要很快的把設(shè)計概念變成產(chǎn)品來驗證,這也對工具和開發(fā)流程提出新思路。
另外,這個工具也可利于不同廠家板子的選型,可以在原型設(shè)計后快速基于不同廠家的不同板子出代碼,節(jié)省選型時間。當然這個工具對于藍牙設(shè)計的初學者具有很大的指導性,藍牙聯(lián)盟希望通過Bluetooth Developer Studio工具降低藍牙開發(fā)門檻、同時通過設(shè)計模板的方式加速開發(fā)、也提高開發(fā)質(zhì)量。
談了這么多,最后小編也想補充一句,作為設(shè)計師,難道你不好奇其他人的開發(fā)嗎?設(shè)計庫內(nèi)的部分實例是基于開發(fā)者們上傳的應用和參考設(shè)計,你可以借鑒或?qū)ζ鋬?yōu)化。
聽上去設(shè)計庫很強大,里面都有些什么?由于是一個開源的平臺,所以“設(shè)計庫”內(nèi)最吸引人的部分就是“代碼實例”模板了。據(jù)高經(jīng)理介紹,設(shè)計庫里有來自原廠的參考設(shè)計,也有來自開發(fā)者自己上傳的設(shè)計。有些應用非常廣泛,會形成類似標準的實例,會標有“Adopted”的標識,意味著這個東西是被藍牙聯(lián)盟所廣泛采用的。有些則是基于設(shè)計師的上傳,有其獨特性。比如:心跳儀設(shè)計,如果大家基本都同意心跳儀應該有1、2、3種規(guī)范,投票通過了,這個叫“Adopted”??赡苓€會有一些廠商希望再加上5和6,這會是他自己定制的東西。目前開發(fā)庫的分類有二十幾類(圖2),內(nèi)容涵蓋可穿戴產(chǎn)品、智能家居、健康產(chǎn)品等各類智能硬件,由于目前僅是Beta版且是完全開源的,相信這個設(shè)計庫在未來會不斷擴充壯大。
圖2 目前開發(fā)庫有二十幾種分類,設(shè)計師自己構(gòu)建的原型也可以在工具中進行分類發(fā)布
哪些原廠的藍牙器件或板子可以在開發(fā)庫中直接導出?據(jù)高經(jīng)理介紹目前Bluetooth Developer Studio Beta版本已經(jīng)得到四、五家原廠的支持(如Nordic、CSR,TI,Broadcom都已經(jīng)支持或在籌備中),工具中可以支持他們市面上買得到的所有器型。同時還有更多的廠商正在和藍牙技術(shù)聯(lián)盟一起做研發(fā)。Bluetooth Developer Studio是個開源的項目,任何廠家想加入它的藍牙芯片或模塊都可以。國內(nèi)有很多做芯片、模組廠商有自己的方案,都可以加入到藍牙聯(lián)盟的工具里,Bluetooth Developer Studio一樣可以進行支持。
剛提到的工具自帶測試有哪些?如何保證設(shè)計出來的產(chǎn)品互操作性、穩(wěn)定性和用戶體驗?
據(jù)高經(jīng)理介紹,在藍牙設(shè)計中提高互操作性,也是提出這個開發(fā)工具的目的之一。整個工具內(nèi)含一個測試平臺。可以做兩種測試:1.虛擬的測試。在你決定正式上傳到平臺之前,可以在那里測試一下。比如:模擬數(shù)據(jù)發(fā)送接收的過程是否順暢。2.當你把原型做好后,可以互相連接,看能不能滿足初始設(shè)計的一些想法。同時,你也可以把“原型”分享給整個開發(fā)社區(qū)。別的設(shè)計師可以在此基礎(chǔ)上繼續(xù)提高。這也是提高互操作性的一種方式。同樣,對于用戶體驗,很大部分來自產(chǎn)品質(zhì)量和穩(wěn)定性,依然可以通過測試進行,測試平臺可以測試用戶不同的應用場景,來確定你設(shè)計的這個應用是否符合設(shè)計想法能并滿足最終用戶的體驗。
嫌這些還不夠?好吧。目前這是一個基于測試的Beta版本,從時間上看正式版本會在2015年7月底或8月初在全球正式發(fā)布。當然,無論是Beta版本還是正式版本,都會在藍牙聯(lián)盟網(wǎng)站上面向所有的藍牙開發(fā)人員免費的進行下載。
最后再插播一條重要訊息,從藍牙聯(lián)盟方面最新透露的消息看,目前Mesh工作組正在進行積極工作,將于15年底完成Mesh原型和草案提交,預計,會在2016年年初把Bluetooth Smart Mesh自組網(wǎng)技術(shù)規(guī)范發(fā)布出來。屆時,藍牙又添IoT重要利器,有了自組網(wǎng)技術(shù)規(guī)范可能會對整個無線互聯(lián)生態(tài)環(huán)境產(chǎn)生重大影響,當然目前看到影響最大的會在智能家居領(lǐng)域??磥硭{牙正陸續(xù)兌現(xiàn)著對IoT的戰(zhàn)略大布局(關(guān)于藍牙技術(shù)和IoT更詳細介紹,請參考小編另一篇文章:藍牙‘憑什么’贏得萬億美金身價IoT青睞?)
評論