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