IoT Edge設備可以作為網(wǎng)關(guān)運行,提供網(wǎng)絡上其他設備和IoT中心之間的連接。
IoT Edge中心模塊的作用類似于IoT中心,因此可以處理來自任何具有IoT中心標識的設備的連接,包括其他IoT Edge設備。這種類型的網(wǎng)關(guān)模式稱為“透明”,因為消息可以從下游設備傳遞到IoT中心,就像它們之間沒有網(wǎng)關(guān)一樣。
對于不能或無法自行連接到IoT中心的設備,IoT Edge網(wǎng)關(guān)可以提供該連接。這種類型的網(wǎng)關(guān)模式稱為“轉(zhuǎn)換”,因為IoT Edge設備必須對傳入的下游設備消息執(zhí)行處理,然后才能將這些消息轉(zhuǎn)發(fā)到IoT中心。這些場景需要IoT Edge網(wǎng)關(guān)上的其他模塊來處理處理步驟。
透明和轉(zhuǎn)換網(wǎng)關(guān)模式并不相互排斥。單個IoT Edge設備既可以充當透明網(wǎng)關(guān),也可以充當轉(zhuǎn)換網(wǎng)關(guān)。
所有網(wǎng)關(guān)模式提供以下優(yōu)勢:
·邊緣分析–在本地使用AI服務處理來自下游設備的數(shù)據(jù),而無需向云發(fā)送完全保真的遙測數(shù)據(jù)。本地查找和響應見解,并僅將一部分數(shù)據(jù)發(fā)送到IoT中心。
·下游設備隔離–網(wǎng)關(guān)設備可以屏蔽所有下游設備,而不對Internet公開。它可以位于無連接的運營技術(shù)(OT)網(wǎng)絡和提供Web訪問權(quán)限的信息技術(shù)(IT)網(wǎng)絡之間。同樣,無法自行連接到IoT中心的設備可以改為連接到網(wǎng)關(guān)設備。
·連接多路復用-通過IoT Edge網(wǎng)關(guān)連接到IoT中心的所有設備都可以使用相同的基礎(chǔ)連接。這種多路復用功能要求IoT Edge網(wǎng)關(guān)使用AMQP作為其上游協(xié)議。
·流量平滑-在本地保存消息的同時,如果IoT中心對流量進行限制,IoT Edge設備將自動執(zhí)行指數(shù)回退。此優(yōu)點使解決方案能靈活應對流量高峰。
·脫機支持-網(wǎng)關(guān)設備存儲不能傳遞到IoT中心的消息和孿生更新。
透明網(wǎng)關(guān)
在透明網(wǎng)關(guān)模式下,在理論上可以連接到IoT中心的設備可以改為連接到網(wǎng)關(guān)設備。下游設備有其自己的IoT中心標識,并使用MQTT或AMQP協(xié)議進行連接。網(wǎng)關(guān)只是在設備與IoT中心之間傳遞通信。設備和通過IoT中心與其交互的用戶都不知道網(wǎng)關(guān)正在協(xié)調(diào)它們的通信。這樣缺乏感知意味著網(wǎng)關(guān)被認為是“透明”的。
有關(guān)IoT Edge中心如何管理下游設備與云之間的通信的詳細信息,請參閱了解Azure IoT Edge運行時及其體系結(jié)構(gòu)。
IoT Edge設備不能位于IoT Edge網(wǎng)關(guān)的下游。
父子關(guān)系
通過將IoT Edge網(wǎng)關(guān)設置為與之連接的下游設備子級的父級,可以在IoT中心中聲明透明的網(wǎng)關(guān)關(guān)系。
可在網(wǎng)關(guān)配置中的以下三個點建立父/子關(guān)系:
云標識
透明網(wǎng)關(guān)方案中的所有設備都需要云標識,以便能夠在IoT中心進行身份驗證。創(chuàng)建或更新設備標識時,可以設置設備的父設備或子設備。此配置授權(quán)父網(wǎng)關(guān)設備處理其子設備的身份驗證。
備注
將IoT中心內(nèi)的父設備設置為使用對稱密鑰身份驗證的下游設備的可選步驟。但是,從版本1.1.0開始,每個下游設備都必須分配到父設備。
可以通過將環(huán)境變量AuthenticationMode設置為值CloudAndScope,將IoT Edge集線器配置為返回到以前的行為。
子設備只能有一個父級。每個父級最多可以有100個子級。
網(wǎng)關(guān)發(fā)現(xiàn)
子設備需要能夠在本地網(wǎng)絡上找到其父設備。使用主機名(完全限定的域名(FQDN)或IP地址)配置網(wǎng)關(guān)設備,其子設備將使用該主機名來定位它。
在下游IoT設備上,使用連接字符串中的gatewayHostname參數(shù)指向父設備。
安全連接
父設備和子設備還需要對彼此的連接進行身份驗證。每個設備都需要一個共享根CA證書的副本,子設備使用該副本來驗證它們是否連接到正確的網(wǎng)關(guān)。
透明網(wǎng)關(guān)后面的設備功能
與IoT Edge的消息傳遞管道一起使用的所有IoT中心基元也支持透明網(wǎng)關(guān)方案。每個IoT Edge網(wǎng)關(guān)都具備存儲和轉(zhuǎn)發(fā)通過它傳入的消息的能力。
使用下表查看設備與網(wǎng)關(guān)后的設備對不同IoT中心功能的支持情況。
轉(zhuǎn)換網(wǎng)關(guān)
如果下游設備無法連接到IoT中心,則IoT Edge網(wǎng)關(guān)需要充當轉(zhuǎn)換器。通常,不支持MQTT、AMQP或HTTP的設備需要此模式。由于這些設備無法連接到IoT中心,因此,如果不進行一些預處理,它們也將無法連接到IoT Edge中心模塊。
對于通常特定于下游設備的硬件或協(xié)議的自定義或第三方模塊,需要將它們部署到IoT Edge網(wǎng)關(guān)。這些轉(zhuǎn)換模塊將傳入的消息轉(zhuǎn)換為IoT中心可以理解的格式。
轉(zhuǎn)換網(wǎng)關(guān)有兩種模式:協(xié)議轉(zhuǎn)換和標識轉(zhuǎn)換。
協(xié)議轉(zhuǎn)換
在協(xié)議轉(zhuǎn)換網(wǎng)關(guān)模式下,只有IoT Edge網(wǎng)關(guān)具有IoT中心的標識。轉(zhuǎn)換模塊從下游設備接收消息,將其轉(zhuǎn)換為受支持的協(xié)議,然后IoT Edge設備代表下游設備發(fā)送這些消息。所有信息好像都來自一臺設備,即網(wǎng)關(guān)。如果云應用程序想要以設備位單位分析數(shù)據(jù),則下游設備就必須在其消息中嵌入額外的標識信息。此外,IoT中心基元(例如孿生和直接方法)僅受網(wǎng)關(guān)設備支持,而不受下游設備支持。與透明網(wǎng)關(guān)相比,這種模式中的網(wǎng)關(guān)被視為不透明,因為它們掩蓋了下游設備的標識。
協(xié)議轉(zhuǎn)換支持資源受限的設備。許多現(xiàn)有設備將生成能夠為企業(yè)提供見解的數(shù)據(jù);然而,它們的設計并未考慮云連接。不透明的網(wǎng)關(guān)允許解鎖這些數(shù)據(jù),并在IoT解決方案中使用這些數(shù)據(jù)。
標識轉(zhuǎn)換
標識轉(zhuǎn)換網(wǎng)關(guān)模式基于協(xié)議轉(zhuǎn)換,但是IoT Edge網(wǎng)關(guān)還代表下游設備提供IoT中心設備標識。轉(zhuǎn)換模塊負責理解下游設備使用的協(xié)議,為其提供標識,并將其消息轉(zhuǎn)換為IoT中心基元。下游設備作為一流設備出現(xiàn)在IoT中心,隨附克隆和方法。用戶可以與IoT中心中的設備進行交互,而同時不了解中間網(wǎng)關(guān)設備。
標識轉(zhuǎn)換具備協(xié)議轉(zhuǎn)換的優(yōu)勢,并且還允許從云完全管理下游設備。IoT解決方案中的所有設備都顯示在IoT中心內(nèi),不管它們使用的是什么協(xié)議。
轉(zhuǎn)換網(wǎng)關(guān)后面的設備功能
下表說明了如何在兩種轉(zhuǎn)換網(wǎng)關(guān)模式下將IoT中心功能擴展到下游設備。
使用協(xié)議轉(zhuǎn)換模式時,通過該網(wǎng)關(guān)連接的所有設備共享同一個可包含最多50條消息的云到設備的隊列。僅當很少設備通過各字段網(wǎng)關(guān)進行連接以及云到設備的流量較低時,才使用該模式。
IoT Edge運行時不包含協(xié)議或標識轉(zhuǎn)換功能。這些模式需要自定義模塊或第三方模塊,這些模塊通常特定于所使用的硬件和協(xié)議。Azure市場包含多個可供選擇的協(xié)議轉(zhuǎn)換模塊。有關(guān)使用標識轉(zhuǎn)換模式的示例,請參閱Azure IoT Edge LoRaWAN初學者工具包。