盡管該術語經常被寬松地應用,但嚴格定義的“物聯網”(IoT) 是指通過 Internet.Protocol 在網絡上通信或可訪問的嵌入式設備。在本文中,物聯網“解決方案”和物聯網“架構”指的是使嵌入式設備能夠連接到物聯網的網絡基礎設施、拓撲或技術。
與所有嵌入式設計一樣,應選擇添加物聯網連接以滿足特定的應用要求。并非所有應用程序都面臨相同的挑戰,因此已經提出、創建和部署了不同的架構。在本文中,我將簡要描述然后討論 開發人員使用FreeRTOS 的三種對比鮮明的物聯網架構。這三種架構是傳統的“網絡服務器設備”、“虛擬云設備”和“點對點”直接到設備的配置。這些只是許多可以選擇的架構中的三種(包括這三種架構的混合體)。
對于那些更熟悉使用 Web 和云設備進行物聯網連接的傳統方法的人來說,這里使用術語對等 (P2P) 來描述一種架構,該架構直接與部署的物聯網設備建立雙向命令和數據連接,因此術語“直接到設備”。 Nabto 是點對點架構的一個例子。Nabto 使用 FreeRTOS 提供跨所有嵌入式平臺的通用運行時環境,以利用其低功耗、無滴答運行的優勢。)
用例
從廣義上講,有三個基本的物聯網用例類別:
數據監控和采集。 此類用途的示例包括運輸公司在卡車在全國范圍內移動時監控其卡車的位置、生產公司監控制造的零件數量、車輛保險公司記錄其客戶的駕駛習慣,或維護公司監控已部署設備的性能屬性,以便在潛在故障發生之前對其進行預測。
提供控制接口。 此類用途的示例包括能夠遠程打開或關閉農場的動物飼料槽,遠程改變排水系統中泵的速度,遠程切換生產線正在生產的零件,或者只是打開或關閉關閉一個窗口。控制界面可以由中央監督和控制計算機系統以編程方式驅動,或由用戶手動驅動。
提供圖形用戶界面 (GUI)。 對于上述用例 1 或 2,GUI 為使用 IoT 設備的用戶提供了一個界面。通常需要 GUI 來向不同類別的用戶顯示不同的屏幕。例如,遠程維護技術人員(甚至會計師)可能可以訪問本地操作員無法訪問的屏幕和數據。
挑戰
不同的用例帶來不同的挑戰,因此由不同的物聯網架構提供服務。用例可能需要確保 IoT 上的節點能夠:
被標識和定位,可能被命名,并分配一個 IP 地址
部署在客戶的網絡防火墻后面時可以訪問
在沒有互聯網的情況下運行,特別是在設備調試期間
從不同的地理區域使用,這可能需要語言、貨幣或測量單位轉換(國際化)
僅由經過身份驗證的用戶訪問,或僅將他們的數據發送到經過身份驗證的服務器
確保通過 Internet 傳輸的數據已安全加密
確保數據存儲和數據庫安全且私密(誰擁有數據?)
確保所有交換數據和命令的完整性
動態更改正在采集的數據、采集數據的速率或采集數據的發送位置
動態改變連接數或數據流
易于集成,易于使用
具有成本效益
體系結構 1:Web 設備
在本文中,術語 Web 設備是指傳統的嵌入式 TCP/IP Web 服務器,如圖1所示。
圖 1:Web 設備的架構
這種方法已經使用多年,并且有充分的理由。當 IoT 被設想為一個家庭自動化網關,可以協調家中許多較小的設備時,Web 設備方法尤其受到關注。它的主要優點包括:
它使用熟悉的技術
它是完全獨立的,不依賴于云服務
CGI(和其他服務器端)腳本可以提供非常強大的控制接口
包含一個簡單的 FTP 或 TFTP 服務器將允許在部署后更新網頁和腳本(但請注意,必須連接每個部署的設備,然后單獨更新)。然而,盡管有這些優點,但快速重讀上述物聯網挑戰表明傳統網絡設備僅適用于一小部分潛在用例。依次通過每個點會花費太長時間,但以下幾點值得強調:
嵌入式固件有很多接口層,因此很復雜。必須提供的層示例包括 TCP/IP、HTTP 解析器、CGI 腳本執行、模板生成和文件系統。
即使是非常簡單的 Web 界面也需要大量的 HTML 邏輯,因此需要計算時間、內存資源和高帶寬。
在包括 DHCP 服務器(IP 地址的動態分配)和防火墻的標準網絡上部署 Web 設備可能需要在終用戶的路由器中設置特定規則,以便使 Web 設備可訪問。
從防火墻外部訪問 Web 設備需要 VPN、端口轉發、動態 DNS 或這些技術的組合。對于日常用戶來說,這些都是復雜的技術。
架構 2:虛擬云設備
虛擬云設備通常有少量固件,包括 IP 堆棧和將數據推送到預先確定的云服務器的規則。用戶與云服務器而不是物聯網設備本身進行通信,因此才有了“虛擬”術語。
圖 2:虛擬云設備的架構
再次回顧物聯網挑戰列表表明,虛擬云設備能夠克服標準網絡設備無法克服的挑戰。以下是虛擬云設備的一些值得注意的優勢:
它們稀疏的資源需求有助于降低成本和功耗。
呈現的界面駐留在易于訪問的云端,只需調整單個集中式服務器即可輕松響應新的界面需求。
國際化可以在服務器中實現。
對于需要連續記錄數據以供將來離線分析(所謂的“大數據”收集)的應用程序,這是一種有效的解決方案。
然而,再次僅克服了挑戰的子集,盡管方便地是與標準網絡設備克服的挑戰不同的子集。以下幾點也值得強調:
虛擬云設備適合只需要從物聯網設備推送數據而不是向物聯網設備推送數據的應用程序。
它本質上是不靈活的。編譯固件時決定推送哪些數據、推送數據的頻率以及推送數據的位置。這種不靈活還會導致帶寬浪費,因為數據的數量和頻率是固定的,必須考慮到壞的情況。
對互聯網連接有內在的依賴。
數據平均過期時間為推送間隔的一半。
如果數據存儲在其他人的服務器上,隱私可能會成為一個問題。
架構 3:直接對等設備
與僅與云服務器通信的虛擬云設備不同,啟用 Nabto 的設備僅出于以下兩個原因使用云服務器——所有其他通信都直接與部署的物聯網設備本身進行。
圖 3:點對點連接選項
Nabto 設備使用云服務器來:
直接與 IoT 設備調解并建立連接,每個 IoT 設備都有一個可解析的 URL,例如 serialnumber.myDomain.net,而不是預先確定的 IP 地址。
使用“UDP 打孔”建立連接,這是 Skype 等 IP 語音 (VoIP) 服務使用的一種技術。如果您熟悉 Skype 的使用,您就會知道您可以在通話時將呼叫連接到該人的任何位置(即使他們在防火墻后面),只需知道該人的 Skype ID,并擁有該人同意可以建立聯系。用于建立呼叫的技術對用戶是隱藏的,為用戶留下一個簡單的點擊通話用戶界面。
使用 FreeRTOS+Nabto,您可以連接到遠程物聯網設備,無論該設備在連接時位于何處(即使它位于防火墻后面),只需知道設備的 URL,并作為合法用戶進行安全驗證。同樣,用于建立連接的技術對軟件集成工程師是隱藏的,他們必須只提供一個 C 函數,而終用戶只需要知道物聯網設備的 URL。與 Skype 不同,Nabto 使用普通的互聯網命名方案和 DNS 系統。
允許通過基于 Web 的豐富用戶界面訪問微型物聯網設備,而物聯網設備不需要文件系統或完整的 TCP/IP 堆棧。物聯網設備只需要提供大約 10K 字節的代碼空間和幾千字節的 RAM。這是通過(對用戶)將存儲和處理 Web 內容的負擔無縫地轉移到功能強大的大型云服務器,讓 IoT 設備使用低帶寬協議提供實時數據和接收命令來實現的。此外,網絡內容緩存在用于查看用戶界面的網絡瀏覽器、平板電腦或智能手機應用程序中,即使在沒有互聯網連接的情況下也可以訪問設備。
圖 4:使用 Nabto 為小型物聯網設備創建豐富的用戶界面
回顧 IoT 挑戰列表表明,這種類型的點對點架構為每個列出的挑戰提供了解決方案。方便的是,從 IoT 設備設計人員的角度來看,它也是容易集成的設備之一,而從終用戶的角度來看,部署后更改數據采集決策的能力使其成為靈活的設備之一。內置加密和身份驗證,用戶可以完全控制數據存儲和隱私。
-
嵌入式
+關注
關注
5089文章
19169瀏覽量
306755 -
物聯網
+關注
關注
2912文章
44876瀏覽量
375648 -
網絡服務器
+關注
關注
0文章
30瀏覽量
10927
發布評論請先 登錄
相關推薦
評論