嵌入式開發(fā)者不容忽視的物聯(lián)網(wǎng)組件
除了硬件之外,IoT 設(shè)備及其相關(guān)數(shù)據(jù)也應(yīng)當(dāng)納為物聯(lián)網(wǎng)服務(wù)的一部分。有了這樣的概念,再來做項目測試時將和以往有所不一樣。
我們需要將更多的關(guān)注點集中在 IoT 提供的服務(wù)上。雖然“物體”是物聯(lián)網(wǎng)中提到最多的術(shù)語,但現(xiàn)實情況是消費者和企業(yè)并不特別關(guān)注物體或者設(shè)備本身。物聯(lián)網(wǎng)真正的核心部分在于這些設(shè)備產(chǎn)生的數(shù)據(jù)以及它們所支持的業(yè)務(wù)。哪怕是一個非常小的傳感器,也應(yīng)該提供有用的物聯(lián)網(wǎng)服務(wù)。雖然以往的嵌入式設(shè)備開發(fā)人員大多時候不會考慮到服務(wù)層面,但從現(xiàn)在開始他們應(yīng)當(dāng)轉(zhuǎn)變思維方式,以滿足物聯(lián)網(wǎng)世界中網(wǎng)絡(luò)連接所需的功能、質(zhì)量、性能和安全方面的要求。
IoT 由各類服務(wù)組成
盡管“物體”一詞是 IoT 術(shù)語的一部分,但它并非物聯(lián)網(wǎng)的核心。實際上,信息采集、基礎(chǔ)設(shè)施的控制以及這些設(shè)備提供的真實世界的感知能力才是物聯(lián)網(wǎng)的關(guān)鍵。
消費者對自己房間的溫度值或者某個攝像機采集的視頻并不感興趣。他們在乎是更高層面的東西: 安全系統(tǒng)保證能夠檢測到房子周圍的一切運動,或者他們的空調(diào)能夠自動保持舒適的溫度。企業(yè)在乎的不是工廠中單個邏輯控制器的輸出,而是裝配線的實際生產(chǎn)量。這是思維方向的重大轉(zhuǎn)變,因為它迫使設(shè)備開發(fā)人員更好地了解其產(chǎn)品及其業(yè)務(wù)的應(yīng)用場景。
設(shè)備是服務(wù)的重要組成部分
單個的嵌入式設(shè)備可能無法提供一項完整的服務(wù); 然而,眾多設(shè)備連接到一個較大的系統(tǒng)中即可提供一項強大的服務(wù)。比方說,在汽車中發(fā)動機控制單元(ECU)的作用單獨使用時僅僅用于確保發(fā)動機基本的運轉(zhuǎn)和排放,但是當(dāng)它通過無線連接將發(fā)動機數(shù)據(jù)發(fā)送給汽車的中央服務(wù)器時,就可以實現(xiàn)對發(fā)動機燃油消耗數(shù)據(jù)的跟蹤。這些數(shù)據(jù)可用于智能路線規(guī)劃和運營成本的預(yù)估。因此,ECU 便成為企業(yè)戰(zhàn)略決策的關(guān)鍵點。
隨著我們以設(shè)備為中心的思維轉(zhuǎn)向以服務(wù)為中心,新的思維方式擴大了單個設(shè)備的運行環(huán)境和使用范圍,從而影響了整個系統(tǒng)的設(shè)計。
集合:物聯(lián)網(wǎng)由大量的“物體”組成,每一個單獨的物體都有自己的價值和功能。設(shè)備需要組織在一起,以便在更高的層面提供有用的信息。例如,HVAC(暖通空調(diào)) 系統(tǒng)不需要報告每個房間的溫度。單個傳感器向監(jiān)控系統(tǒng)上報信息(如工業(yè)控制中的 SCADA 系統(tǒng)),這些系統(tǒng)將作出本地決策,并將其報告給遠程更高級別的系統(tǒng)。
自我監(jiān)控:如果每個傳感器都一直上報其獲取到的所有信息,那么高層次的業(yè)務(wù)決策過程將被海量的數(shù)據(jù)所淹沒。在我們的 HVAC 示例中,本地的監(jiān)控系統(tǒng)可以根據(jù)中央處理器設(shè)置的數(shù)值(例如,基于天氣和電費率)來維護建筑物溫度。因此,企業(yè)級系統(tǒng)將依靠 HVAC 系統(tǒng)提供的基礎(chǔ)服務(wù),可以報告諸如能耗的關(guān)鍵信息。
可替換性: 隨著時間的推移,設(shè)備集合所提供的服務(wù)變得比單個設(shè)備本身更有價值。為了滿足新的業(yè)務(wù)需求,現(xiàn)有的傳感器和控制器可以完全用新的一批來替換掉。不管是因為設(shè)備故障還是系統(tǒng)升級,硬件設(shè)備都是可以靈活替換的。從表面上看,這對于設(shè)備制造商來說似乎是一件壞事,但是那些真正明白服務(wù)和質(zhì)量的重要性的智能企業(yè)終將發(fā)展成為市場的領(lǐng)導(dǎo)者。
基于服務(wù)的測試對于物聯(lián)網(wǎng)項目的成敗至關(guān)重要
一旦遵循了以服務(wù)為中心的理念,那么就必須采用對應(yīng)的設(shè)計、實施和測試流程。雖然服務(wù)提供業(yè)務(wù)價值,但是確保設(shè)備滿足服務(wù)層的要求也是至關(guān)重要的。顯然,單元、子系統(tǒng)和系統(tǒng)級別的功能測試仍然很重要,并且擴大測試范圍的好處也立即可見。
和以往僅僅滿足個別設(shè)備的質(zhì)量不同,現(xiàn)在我們擴大了范圍,考慮的是所提供服務(wù)的質(zhì)量。在 HVAC 示例中,新的溫度傳感器可能更輕量,成本更低,電池壽命更長,無線覆蓋范圍更廣。但是,它需要與整個建筑物的控制系統(tǒng)一起工作才能體現(xiàn)出價值。
在服務(wù)層面進行測試以確保滿足非功能性需求。例如,在設(shè)備級或常規(guī)的軟件單元測試期間難以評估性能和可靠性。基于服務(wù)的測試可以模擬設(shè)備的操作環(huán)境,以提供逼真的負(fù)載。在 HVAC 示例中,新的溫度傳感器可以用不同的請求速率進行測試,以查看其是否符合性能要求。
對 IoT 系統(tǒng)的網(wǎng)絡(luò)攻擊將來自網(wǎng)絡(luò)本身,通過攻擊暴露的 API?;诜?wù)的測試可以通過模糊(隨機和錯誤的數(shù)據(jù)輸入)或拒絕服務(wù)攻擊來創(chuàng)建強大的安全測試模擬環(huán)境。HVAC 示例中的新溫度傳感器可能會按預(yù)期請求正常運行,但在過載時會崩潰。攻擊者可能會利用這一點來重載系統(tǒng)并導(dǎo)致中斷。