得益于開源軟件的成功經(jīng)驗,Arduino開創(chuàng)了開源硬件(OSHW)模型,鼓勵業(yè)余和專業(yè)工程師去學習、修改、宣傳、制作和銷售其設(shè)計的公開可用硬件產(chǎn)品。開源硬件在個人和商業(yè)應用中的作用借助其內(nèi)置(或現(xiàn)成)的藍牙互連不斷擴大,雖然藍牙5.0規(guī)范和隨后推出的網(wǎng)格網(wǎng)絡是非常重要的里程碑,但是藍牙的低功耗特性將繼續(xù)幫助開源硬件獲得更廣泛的應用,更重要的是配置藍牙和云訪問都是目前可行的技術(shù)方案,對于愛好者和工程師來說開源硬件和藍牙無線連接將是一種潛在的強大工具。
開源硬件的作用
多年以來開源硬件(OSHW)一直沒有引起人們的注意,主要的用戶就是一些極客和愛好者,早期的產(chǎn)品主要是基于成熟的不復雜的處理器芯片,比如Atmel公司的ATmega3228 八位微控制器(MCU)系列,這也使得開源硬價格便宜,更加親民。然而最近幾年內(nèi),創(chuàng)業(yè)公司和成熟的公司發(fā)現(xiàn)開源硬件能夠幫助縮短硬件(和軟件)的開發(fā)時間,從而讓用戶更加專注于產(chǎn)品差異化的設(shè)計,此外使用開源硬件能夠降低風險,刺激創(chuàng)新。
開源硬件表現(xiàn)出的優(yōu)勢很快就吸引了一些老牌的和初創(chuàng)的芯片供應商,這涉及到幾十億美元的業(yè)務,對于每個芯片巨頭如Intel和TI等這都是一個全新的領(lǐng)域,比如開源硬件廠商Seeed Studio和SparkFun正在對外出售的單板計算機(SBC)就是符合開源模型的硬件產(chǎn)品。
當然成熟且穩(wěn)定的開源硬件對于消費者來說也是受益的,工程師有一系列的單板計算機(SBC)產(chǎn)品可供選擇,對于售價低于100美元(通常是低于50美元)的開源硬件,一般在校學生到大部分的電子工程師都可以負擔的起,比如下面BeagleBoard開源硬件公司推出的BeagleBone Black單板計算機(如圖1所示)。
圖1:這款產(chǎn)品集成了足夠大的Flash存儲空間來存儲GestIC庫
這款單板計算機(SBC)采用的是Sitara ARM Cortex-A8 32位RISC微處理器,集成了512MB DDR3L 400MHz的SDRAM、4GB Flash、USB2.0主從接口、網(wǎng)口等等,BeagleBone Black單板計算機足夠的強大,能夠運行操作系統(tǒng),比如Linux、安卓,控制復雜的機器人或者管理一個家庭的安全系統(tǒng)。
為了完善更多的功能,最新版本的開源硬件單板計算機開始集成了高級的RF無線芯片,支持物聯(lián)網(wǎng)(IoT)和工業(yè)物聯(lián)網(wǎng)(IIoT)的互聯(lián),IoT或者IIoT是一個全局的互聯(lián)網(wǎng)絡,智能計算機、軟件、設(shè)備、機器、執(zhí)行器、傳感器等互相交換數(shù)據(jù)和指令,形成一個具有成千上萬個應用的平臺。
借助基于Web的集成開發(fā)環(huán)境(IDE)(一般兼容Arduino),一名具備基本編程技能但是沒有RF經(jīng)驗的工程師都可以利用開源硬件開放的無線互聯(lián)功能,這些應用可以是簡單的數(shù)據(jù)記錄(濕度、溫度等),使用智能手機連接到云服務器更具測量結(jié)果出發(fā)一定的動作(比如發(fā)送一條消息或者觸發(fā)警報)。
對于物聯(lián)網(wǎng)(IoT)無線互聯(lián)的作用
盡管我們知道智能手機連接到互聯(lián)網(wǎng)看起來非常的簡單,但是它的作用絕不是微不足道的。復雜(因此價格昂貴)的調(diào)制解調(diào)器執(zhí)行高級的網(wǎng)絡協(xié)議并且集成到智能手機(還包括計算機、平板電腦、路由等)中來保持各種連接。目前雖然在裝備簡單、資源限制傳感器方面取得了一定的進展,但是在實現(xiàn)廉價、常規(guī)、可靠的IoT/IIoT連接之前還有一些不可避免的工程挑戰(zhàn)要解決。
一些短距離和長距離的RF技術(shù)是建立常規(guī)連接的基礎(chǔ),但是低功耗藍牙(藍牙無線連接低功耗形式)具有一些關(guān)鍵的優(yōu)勢,這些優(yōu)勢包括低功耗(確保更長的電池壽命、較少的維護)、可以修訂優(yōu)化的開源標準以及多家供應商的支持,更多的優(yōu)勢則來自于更多的智能手機、平板電腦和可穿戴設(shè)備制造商的認可和采用。
低功耗藍牙規(guī)范包括物理層(PHY)和固件棧,芯片供應商通常都會提供一個兼容標準的固件,讓用戶能夠?qū)W⒂谧约簯?a target="_blank">程序代碼的開發(fā),經(jīng)過開發(fā)工具的編譯形成一個堆棧式的系統(tǒng)分層(如圖2)。舉個例子,工程師可以向固件中添加一些代碼來實現(xiàn)處理、格式化數(shù)據(jù),并周期性發(fā)送數(shù)據(jù)給智能手機端來顯示溫度趨勢,處理過程聽起來簡單,即使使用非常便捷的開發(fā)工具,無線應用代碼的開發(fā)也會讓那些缺乏經(jīng)驗的人感到吃力。
圖2:低功耗藍牙應用代碼編譯后放在藍色部分執(zhí)行,灰色部分為系統(tǒng)固件(來源:TI)
開源硬件單板計算機供應商已經(jīng)在嘗試解決應用層程序開發(fā)的問題,比如將對藍牙的配置操作集成到用戶熟悉的集成開發(fā)工具(IDE)中,工程師可以通過以太網(wǎng)或USB進行通信來配置單板計算機,可以說很容易就可以建立與智能手機或者其他集成藍牙功能設(shè)備之間的無線連接。
藍牙(BLE)的配置
UDOO Neo是一款信用卡大小的單板計算機,采用的是飛思卡爾(FreeScale)iMX6SoloX應用處理器,集成的是嵌入式ARM Cortex A9和M4內(nèi)核,這款產(chǎn)品同樣集成了SAM3X8E微控制器(MCU),支持安卓和Linux操作系統(tǒng),此外集成的無線芯片(TI WiLink芯片)同時支持低功耗藍牙和WiFi(IEEE 802.11 B/g/n)的無線連接。
一名相關(guān)專業(yè)的學生就可以利用Arduino IDE、教學材料、Arduino Sketch(Arduino公司對于代碼塊的命名)以及一些功能庫來實現(xiàn)SAM3X8E MCU的功能代碼,當然經(jīng)驗豐富的工程師可以使用C/C++、Python、Java或者其他編程語言來實現(xiàn)MCU和i.MX應用處理器的應用程序。
用戶可以利用Arduino IDE熟悉的開發(fā)環(huán)境來配置Neo板卡的無線功能,借助USB將單板計算機(SBC)與PC連接起來,然后打開網(wǎng)頁控制面板進行相關(guān)設(shè)置(如圖3)。網(wǎng)頁控制面板包括NEO BLE藍牙連接狀態(tài)(此外還有WiFi、網(wǎng)絡、USB的連接指示狀態(tài))。該網(wǎng)頁控制面板還能夠直接打開Arduino Web IDE開發(fā)環(huán)境方便程序開發(fā),從網(wǎng)頁控制面板板我們可以打開藍牙,將該硬件設(shè)置為可搜尋的。從可用設(shè)備列表中選擇一個設(shè)備激活與Neo板卡的無線連接,這個過程本質(zhì)上與集成藍牙功能的智能手機與藍牙音箱建立連接一樣簡單。
圖3:UDOO的網(wǎng)頁控制面板能夠很容易的激活Neo板卡的無線連接(來源:UDOO)
然而將開源硬件單板計算機與智能手機進行配對,借助無線連接做一些有用的功能是兩種完全不同的事情,控制鏈路上的數(shù)據(jù)傳輸需要一些基礎(chǔ)的編碼技能但是也不會難住一個熟悉Arduino IDE開發(fā)環(huán)境的工程師,比如燒寫單板計算機的Flash實現(xiàn)板卡上一排led燈的閃爍。
當然我們還可以設(shè)計擴展板卡來實現(xiàn)單板計算機的無線連接功能,這在開源硬件社區(qū)里面很普遍,通過兩塊板卡上設(shè)計配對的連接器將兩塊板卡無縫的對接在一起,比如ST微電子的Nucleo板卡,它也是一款開源標準的單板計算機,采用的是STM32 MCU處理器(ARM Cortex M4內(nèi)核),它與X-NUCLEO-IDB05A1擴展對接使其具備藍牙(BLE)功能(如圖4)。
圖4:IDB05A1擴展板卡能夠為Nucleo SBC板卡擴展藍牙無線連接功能(來源:ST微電子)
Nucleo/IDB05A1另一個額外的優(yōu)勢來自于ST微電子參與 ARM mbed操作系統(tǒng)的開發(fā),它是基于ARM MCU面向物聯(lián)網(wǎng)低功耗設(shè)備的操作系統(tǒng),部分開源提供一定的代碼庫資源,能夠直接實現(xiàn)對Nudeo板卡的配置,支持一系列常見的應用,如心率監(jiān)測應用程序,引入mbed代碼庫后經(jīng)過編譯后生成鏡像文件,通過mbed IDE工具就可以下載到Nucleo SBC板卡中運行。
從智能手機上的STM32 BLE應用程序app中可以選擇心率監(jiān)測傳感器(比如Nucleo),建立連接和數(shù)據(jù)通信后會將心率數(shù)據(jù)顯示在智能手機的顯示屏上。
接入云服務
在這些實例應用中,開源硬件單板計算機作為一種外設(shè),將數(shù)據(jù)(比如從旋轉(zhuǎn)編碼器接收的數(shù)據(jù))發(fā)送給智能手機設(shè)備,當然開發(fā)者們也正在研究使用UDOO、Intel、STM微電子SBC板卡作為中央設(shè)備開發(fā)更復雜的無線應用工程,采集多個無線外設(shè)傳感器的數(shù)據(jù),比如第三方藍牙溫度和濕度傳感器。采集的數(shù)據(jù)會暫時保存在SBC板卡的Flash存儲其中,稍后會發(fā)送給智能手機端App(SBC板卡相當于外圍設(shè)備,智能手機充當中央單元)。
這個項目可以擴展更多豐富的功能,比如根據(jù)溫度和濕度數(shù)據(jù)觸發(fā)一些動作或者操作等,首先將采集的相關(guān)數(shù)據(jù)從同智能手機上傳到云服務器,然后部署一定的觸發(fā)服務,比如ThingSpeak.com,ThingSpeak類似的服務遵循條件判定的規(guī)則,數(shù)據(jù)輸出完全依賴于輸入的數(shù)據(jù)。比如一棟房子的三個房間的濕度超過70%就會向智能手機發(fā)送一個通知來提示打開除濕器。
使用藍牙實現(xiàn)單板計算機(SBC)互聯(lián)網(wǎng)的連接具有一定的挑戰(zhàn)性,今天很多藍牙固件包含因特網(wǎng)協(xié)議(IPv4或IPv6)與藍牙協(xié)議的轉(zhuǎn)換技術(shù),但是實際上沒有兼容性的商業(yè)無線路由設(shè)備來充當它們之間轉(zhuǎn)換的中繼站。一個解決方案就是選擇第二塊開源硬件單板計算機來充當中繼設(shè)備,但是這無疑很簡陋,而且需要對藍牙固件開發(fā)和IPv6等網(wǎng)絡協(xié)議和開發(fā)工具有深入的了解和開發(fā)經(jīng)驗。
對于一個沒有RF相關(guān)經(jīng)驗的工程師來說,一個更簡單的解決方案就是借助一個集成了無線通信功能的單板計算機(比如Arduino 101),這樣就可以使用藍牙來采集傳感器的數(shù)據(jù),轉(zhuǎn)換后通過WiFi方式將數(shù)據(jù)上傳到云服務器(WiFi路由器在我們的生活中無處不在)。
一些可用的開源資源如ThingSpeak推出的Arduino庫文件大大簡化了開發(fā)過程,能夠輕松的實現(xiàn)單板計算機加入WiFi網(wǎng)絡并且周期性將數(shù)據(jù)上傳到ThingSpeak云服務器上等功能。
雙向的無線連接能夠接收傳感器的數(shù)據(jù),向網(wǎng)絡網(wǎng)關(guān)(或者借助WiFi連接到云服務器)發(fā)送數(shù)據(jù),此外還可以接收來自其他計算設(shè)備的數(shù)據(jù)或者指令,隨著快速發(fā)展的物聯(lián)網(wǎng)領(lǐng)域,無線連接將開源硬件單板計算機與“智能”密切的聯(lián)系在一起,而且借助這些鏈接還可以進行操作系統(tǒng)、芯片固件的更新,通過軟件補丁來維護系統(tǒng)的安全性。
總結(jié)
開源硬件單板計算機的無線互連需求越來越廣泛,強大的開發(fā)工具的支持、適當?shù)拈_發(fā)板卡價格使得幾乎沒有RF專業(yè)知識的工程師來說都可以很快的上手,這極大的增加了這些開源硬件產(chǎn)品所適用的范圍和數(shù)量。集成無線功能的開源硬件單板計算機正在推動創(chuàng)新和資源共享潮流,這也是開源標準的源動力。
-
藍牙
+關(guān)注
關(guān)注
116文章
6077瀏覽量
173980 -
云服務
+關(guān)注
關(guān)注
0文章
855瀏覽量
39703
發(fā)布評論請先 登錄
求助,關(guān)于藍牙mac地址的批量寫入問題求解
關(guān)于藍牙協(xié)議棧的應用
你聽過藍牙的知識產(chǎn)權(quán)嗎?關(guān)于藍牙的知識產(chǎn)權(quán)你了解多少?
講述關(guān)于藍牙的基礎(chǔ)知識和藍牙模塊的選型介紹
HarmonyOS關(guān)于藍牙的相關(guān)資料下載
關(guān)于藍牙技術(shù)的詳細講述
關(guān)于藍牙的那些真真假假傳說
關(guān)于藍牙的一些小知識你知道哪些
關(guān)于藍牙模塊的簡易小車(基于51單片機)

評論