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