??物聯(lián)網 (IoT) 推動嵌入式控制向前所未有的智能水平發(fā)展。對于過去獨立使用設備之處,物聯(lián)網將它們集成至一個由多個子系統(tǒng)組成的系統(tǒng)中。這種方式令設備能夠相互協(xié)作并與其他服務進行交互,從而提供更出色的性能、響應能力和正常運行時間。
對于應用涉及到的所有物聯(lián)網設備提供的數(shù)據(jù)流,用戶可以利用云技術的強大計算能力,讓機器學習、數(shù)據(jù)挖掘和其他技術對這些數(shù)據(jù)流進行處理。同時,這些物聯(lián)網設備也無需專門針對應用進行設計?;谠频南到y(tǒng)可以利用 Spark 和 Hadoop 等數(shù)據(jù)整理技術對不同來源的實時信息和歷史信息進行整合,可以實現(xiàn)跨多個來源的關聯(lián)作業(yè),同時在實現(xiàn)過程中能夠獲得有價值的信息。雖然物聯(lián)網具備一定的處理能力,但也不可避免可能會遇到各種復雜情況。
物聯(lián)網應用交付的一個關鍵問題在于每個解決方案組成部分的多樣性。物聯(lián)網應用需要獲取來自不同類型傳感器的讀數(shù),例如溫度、運動和空氣質量。即使對于相同類型的傳感器讀數(shù),數(shù)據(jù)也可能采集自不同制造商提供的設備,或者來自非物聯(lián)網設計的舊硬件。
以監(jiān)控酒店內每個房間內溫度的物聯(lián)網項目為示例。每個房間可以有三個傳感器,而且每個傳感器都能監(jiān)控溫度??块T的傳感器可以將其溫度傳感器作為火警報警器模塊的一部分,另一個靠近床的傳感器可以與室內空調控制相關聯(lián),而浴室中的傳感器可以作為物聯(lián)網升級部分的專用裝置安裝。
對于從每種類型的設備獲得讀數(shù)的軟件,其需要考慮每個傳感器的校準方法及獲得數(shù)據(jù)的方式。某些設備可以依據(jù)超出編程閾值的條件變化或通過基于云的應用按需定期發(fā)送數(shù)據(jù)。同時,它們可能分別使用不同的網絡連接實現(xiàn)數(shù)據(jù)中繼 – 有的使用有線網絡,而有的利用藍牙或 Zigbee 等無線網絡。此時,該應用需要考慮這種可變化性。但問題遠不止這些。
功耗是許多物聯(lián)網設備的主要課題。保持較長電池使用壽命的最常用方法是盡可能減少無線通信及核心微處理器等高功耗系統(tǒng)的活動。這些子系統(tǒng)在系統(tǒng)生命周期的大部分時間內都保持低功耗睡眠狀態(tài)。它們會在短時間內醒來,并在再次睡眠前處理任務。結果實現(xiàn)了低占空比。也許只有不到系統(tǒng)生命周期 1% 的時間是處于完全清醒的高功耗狀態(tài)。在剩余 99% 的時間內,只需對維持系統(tǒng)狀態(tài)所需的系統(tǒng)(例如實時時鐘)進行供電。采用這樣的設計,物聯(lián)網節(jié)點可以在一次電池充電后使用數(shù)年。
現(xiàn)在,許多微控制器 (MCU) 都集成了硬件狀態(tài)機。這樣一來,可以通過實時時鐘觸發(fā)來定期喚醒重要的傳感器,而且在不喚醒主機微處理器的情況下即可獲取讀數(shù)。在喚醒微處理器執(zhí)行處理操作之前,某些系統(tǒng)可以采用一組預定讀數(shù)。其他系統(tǒng)也可以將閾值編程至傳感器邏輯中,以便能夠對較大偏差立即做出反應。
在云端運行的控制應用可能會向設備或向設備發(fā)送狀態(tài)更改命令來請求需要的數(shù)據(jù)。但是設備可能會在一段時間內沒有響應,這是為了確保低占空比需求,因此當命令發(fā)出時,設備仍將處于低功耗狀態(tài)。該應用需要有邏輯,以確保其對設備狀態(tài)的理解與現(xiàn)實保持一致。
在物聯(lián)網的初始階段,集成商發(fā)現(xiàn)他們必須使用自定義協(xié)議或遠程過程調用 (RPC) 技術為云集成構建自己的軟件基礎設施。通常,他們會在專用設施中使用自己的數(shù)據(jù)中心或租借的刀片式服務器,而且在這里他們可以運行從互聯(lián)嵌入式設備接收數(shù)據(jù)的應用程序,將信息推送到中央數(shù)據(jù)庫,并運行向用戶呈現(xiàn)數(shù)據(jù)和執(zhí)行模式分析的應用程序。
集成商將負責確保故障恢復能力和高可用性,并解決設備未與網絡建立永久連接的復雜環(huán)境。實現(xiàn)這一目標的一種方法是使用設備影子概念。這些設備影子指的是在云端存儲的文檔,它們可以緩存有關設備狀態(tài)(自上次報告后)和任何待定更改的信息。
雖然應用程序可以自己管理設備影子,但如果將其轉移到可以跨多種類型的設備提供標準化接口的服務層,則可以更輕松地管理該任務。目前,這是由 Amazon Web Services、IBM Watson IoT 和 Google Cloud 等云基礎設施產品提供處理的眾多功能之一。
云基礎設施平臺執(zhí)行的另一項服務是協(xié)議映射。云的發(fā)展圍繞廣泛使用的 TCP/IP 協(xié)議,以及協(xié)議可以承載的服務。雖然許多基于云的服務所用的超文本傳輸協(xié)議 (HTTP) 是一種無狀態(tài)協(xié)議,但由于 TCP 的廣泛支持,該協(xié)議運行于面向狀態(tài)的 TCP 層之上。但是,只有少數(shù)物聯(lián)網設備具有所需的資源來實現(xiàn)完整的 TCP/IP 堆棧,進而實現(xiàn)與云應用直接通信。根據(jù)互聯(lián)網工程任務組 (IETF) 請求評議的定義,受限應用協(xié)議 (CoAP) 簡化了 HTTP,使其與資源受限設備的兼容程度更高,并且無需使用 TCP 層。
CoAP 采用 4 字節(jié)報頭和緊湊編碼,能夠支持數(shù)據(jù)包長度比通常由骨干以太網連接所提供數(shù)據(jù)包長度更短的協(xié)議。CoAP 的常見替代方案是 IBM 開發(fā)的消息隊列遙測傳輸 (MQTT) 協(xié)議,其所具備的特性被認為更適合眾多物聯(lián)網實現(xiàn)。該協(xié)議可以在各種數(shù)據(jù)包格式上運行,例如藍牙和 Zigbee 以及 TCP/IP。與傳統(tǒng) HTTP Web 服務的客戶端服務器模式相比,MQTT 支持發(fā)布訂閱模式。該模式具有盡量減少單個物聯(lián)網設備請求的優(yōu)點。
??
圖 1 - 網關映射 MQTT 和 CoAP
圖 2 - MQTT 發(fā)布/訂閱模型示例
為了確保不同平臺間數(shù)據(jù)傳輸?shù)囊恢滦?,云平臺采用 JavaScript 對象表示法 (JSON) 格式。要將數(shù)據(jù)發(fā)送到云,設備必須首先將其擁有的數(shù)據(jù)編碼為 JSON 表示形式,然后用作 CoAP、HTTP 或 MQTT 消息的有效負載。實施者可選擇:讓終端設備執(zhí)行此任務或依靠網關來處理該過程。在廣泛使用傳統(tǒng)硬件的系統(tǒng)中,網關通常是首選。網關可以使用專有或預設物聯(lián)網標準來收集設備使用的數(shù)據(jù),并將數(shù)據(jù)在 JSON 表示形式之間轉換,也可以作為從云接收的任何命令的代理。網關實現(xiàn)將決定是否需要以設備可以理解的形式轉換和中繼這些命令。
為了處理 JSON 轉換以及與云的交互,為物聯(lián)網設計的設備可能包含自己的軟件堆棧。對 JSON 和網絡接口的支持可以整合到核心實時操作系統(tǒng) (RTOS),并使用 C 語言之類的編程語言進行訪問。由某些物聯(lián)網集成商采用且受云基礎設施提供商支持的技術會在每個針對物聯(lián)網云集成進行優(yōu)化的終端設備上實施虛擬機。
圖 3 - JSON 格式的傳感器輸出示例
在每個物聯(lián)網設備平臺上實施的設備驅動程序用于將來自虛擬機的命令轉換為底層 RTOS 和固件可以理解的形式。固件負責優(yōu)化功耗和低級計時,并提供云端層可以依賴的標準化服務集。
與傳統(tǒng)嵌入式環(huán)境相比,云環(huán)境中的開發(fā)可提供各種更豐富的編程工具。今天,用于云編程的語言往往被設計為在受管代碼環(huán)境中運行。代碼并不是被編譯,而是在運行時進行解釋,或者如果要提供更高的性能,則需要即時 (JIT) 編譯。雖然嵌入式開發(fā)人員通常選擇的編程語言有限(主要是 C 語言和 C++),但云開發(fā)人員可以訪問各種編程語言,而且其中許多語言針對特定需求進行了優(yōu)化。盡管 Java 和 Python 支持許多應用需求,但 Hadoop 對 Java 進行了擴展,以便更輕松地在多個計算節(jié)點之間傳播數(shù)據(jù)處理工作負載。
雖然嵌入式和云編程都意味著使用交叉開發(fā)資源,但為服務器編寫代碼的開發(fā)人員通常可以使用虛擬機技術在自己的計算機上構建目標環(huán)境的縮小版本。嵌入式開發(fā)人員通常需要針對目標單獨開發(fā)代碼,并且在每個編輯-編譯-下載序列后運行測試,因此會增加周轉時間。支持受管代碼語言的中間件環(huán)境通過在本地虛擬機上實現(xiàn)原型代碼來幫助簡化開發(fā),從而提供了類似于云開發(fā)人員所體驗到的效果。
由于可以使用云基礎設施服務,因此集成商現(xiàn)在可以訪問一系列工具,從而使完整物聯(lián)網解決方案的構建變得更加容易。這些面向云的服務深入到了設備層,可確保大大降低部署的復雜性,并且讓集成商能夠充分利用物聯(lián)網的全部功能。
-
嵌入式
+關注
關注
5198文章
20449瀏覽量
334114 -
物聯(lián)網
+關注
關注
2945文章
47820瀏覽量
415063 -
智能
+關注
關注
8文章
1751瀏覽量
122121
發(fā)布評論請先 登錄
??物聯(lián)網推動嵌入式控制向前所未有的智能水平發(fā)展
評論