物聯網 (IoT) 將對未來的業務開展方式產生重大影響。通過實時捕獲和分析傳感器數據,新的商業模式將成為可能。對于許多組織而言,提供具有成本競爭力的基于使用的工業機器人合同所需的數據點數量將達到數百個。即使對于一個普通的跨國機器人制造商轉型為服務提供商而言,物聯網傳感器和系統的全球部署也將涉及數千個傳感器、網關和系統。
這些龐大的“系統系統”將對測試人員提出重大挑戰。確保物聯網應用程序已準備好進行可靠部署至關重要。真正的挑戰是如何現場測試數百或數千個地理上分散的設備的部署。將它們安裝到實驗室不僅在物理上是不可能的,而且它也無法正確測試系統中更多可變的元素,例如無線連接、環境條件和現實生活中的使用模式。唯一現實的選擇是通過模擬測試整個系統。
大多數物聯網系統傾向于遵循類似的三層方法,如圖 1 所示。小節點組相互連接,然后通過無線網關和網絡連接到基于云的數據存儲和分析服務器。通常,節點設備將是測量溫度、電力消耗的傳感器、光傳感器或控制執行器,例如開關、泵和加熱控制。網關或集中器處理與外界的連接,并確保安全。后端服務器通常位于云中,處理物聯網系統的業務和控制方面。
能夠測試通常在地理上分散在多個站點、安裝或設施的系統將需要相似數量的實驗室設置。實現這一點的物理模擬將比節點本身的成本更昂貴。
值得慶幸的是,使用模擬器,大型網絡的設置相對簡單。這是通過在模擬器中編寫代碼以在虛擬無線網絡上虛擬部署和布局節點來實現的。然后需要對無線網絡進行一些建模,以模擬節點之間無線鏈路的可變方面。單個腳本可以取代嘗試管理數百個物理項目的測試。
模擬解決方案的一個例子是 Wind River 的 Simics。使用此模擬器,您可以模擬 IoT 設計的所有方面,例如每個節點的硬件設置、處理器、層、無線網絡等。真正的操作系統和目標代碼應用程序,使用在實際硬件上使用的相同二進制文件,運行模擬節點。
使用這種方法,您可以看到您的無線堆棧在較差的鏈路條件下和網絡故障發生時的性能,以及傳感器和執行器發生的情況、節點的硬件睡眠模式/喚醒以及它們如何節省電力。您還可以測試管理網絡節點的所有中間件以及軟件更新(尤其是任何 OTA 更新)如何運行。也可以通過這種方式測試安全性,確保網關和節點能夠正確運行,并且不會受到潛在的安全威脅或黑客攻擊。
模擬將允許測試人員輕松地動態改變無線電網絡條件。更改一對節點之間的信號強度并因此隨機丟棄數據包是可以在模擬規則中設置的。這種情況在現實世界中經常發生,例如當火車通過兩個節點之間的視線并中斷通信一分鐘左右時。嘗試在實驗室中使用物理設置創建這樣的模擬將很難實現。
模擬也是測試物聯網應用程序擴展能力的一種非常好的方法。隨著活動節點數量的增加,硬件和軟件行為會發生變化,這會影響系統的整體性能。有時,系統如何擴展的含義并不立即顯而易見,但同樣,仿真提供了一種正確測試這一點的方法。
如圖 2 所示,仿真提供了構建任何規模的系統的能力,從小到大。這意味著系統的行為可以在整個范圍內進行測試,從小型單元測試或子系統測試,一直到可以想象的最大設置。通常,每個系統規模都會揭示系統中的不同問題。這不僅關乎最大的設置,還關乎確保在中等系統規模下也能高效運行。
測試也可以橫向擴展,如圖 3 所示。很容易構建許多網絡變體來測試軟件,以不同的方式部署相同數量的節點。可以測試網關和傳感器節點之間的不同平衡,以及不同的網絡拓撲。圖 3 還顯示了仿真如何讓您并行運行許多不同的測試,這使得運行一組測試的總時間低于必須在硬件上串行運行的總時間。
基于物聯網的設計的另一個有趣方面是,盡管有數百或數千個節點,但占空比可能相當低。傳感器不會不斷地向云端報告數據,這一事實極大地幫助了那些由電池供電的傳感器。因此,在被測系統中往往會有很多空閑時間。這段時間可以通過使用“超級模擬”來加速模擬。像 Simics 這樣的模擬解決方案不會逐個循環地播放空閑時間,而是直接跳到下一個有趣的事件,該事件將喚醒一個睡眠節點。因此,一個大部分空閑的系統的模擬速度可以比實時快很多倍,這是在大型物聯網模擬中利用的屬性。
最后,需要物理實驗室來執行最終的系統測試。您必須測試您發布的內容并發布您測試的內容。然而,使用模擬來增強物理測試實驗室以覆蓋更多測試用例和運行更多測試變體是必要的,以確保質量得到維持,并且系統在各種情況下都保持穩健。通過仿真,您將能夠更快、更輕松地設計和構建更好的物聯網系統。
審核編輯:郭婷
-
傳感器
+關注
關注
2566文章
53008瀏覽量
767525 -
物聯網
+關注
關注
2931文章
46251瀏覽量
392654 -
操作系統
+關注
關注
37文章
7152瀏覽量
125598
發布評論請先 登錄
如何部署OpenVINO?工具套件應用程序?
ANACONDA——關于發布數據應用程序的新簡單方法

測試壓阻式壓力傳感器性能的方法
壓力傳感器怎么測試好壞

android手機上emulate應用程序的方法
AWTK-WEB 快速入門(2) - JS 應用程序

AWTK-WEB 快速入門(1) - C 語言應用程序

使用OpenVINO? ElectronJS中創建桌面應用程序

評論