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