首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >叶子/下游设备是否直接连接到物联网集线器,即使边缘被用作网关?

叶子/下游设备是否直接连接到物联网集线器,即使边缘被用作网关?
EN

Stack Overflow用户
提问于 2019-07-12 07:13:48
回答 1查看 528关注 0票数 1

我正在尝试设置一个多边缘设备作为边缘网关。我们不希望我们的叶子/传感器/下游设备直接连接到互联网/云,因此我希望物联网边缘网关(顾名思义)能够连接下游设备和云/物联网枢纽之间的连接。但是,我意识到物联网集线器/边缘的连接字符串在任何设备级别上都是简单的。

这让我假设下游设备将消息发送到端点(prolly messages/* )到云/物联网中心,而网关正是从那里获得消息(可能会处理这些数据),并将其转发回$upstream,后者避开了网关的全部功能。

这里,在IOT边缘网关https://learn.microsoft.com/en-us/azure/iot-edge/how-to-create-transparent-gateway的消息路由部分中,在来自下游设备的路由消息部分中。

代码语言:javascript
运行
复制
{
    "routes":{
        "sensorToAIInsightsInput1":"FROM /messages/* WHERE NOT IS_DEFINED($connectionModuleId) INTO BrokeredEndpoint(\"/modules/ai_insights/inputs/input1\")", 
        "AIInsightsToIoTHub":"FROM /messages/modules/ai_insights/outputs/output1 INTO $upstream" 
    } 
}

使之听起来像是网关正在将掉在内置端点(默认)上的消息路由到$upstream。我在网上找不到关于这个主题的任何其他更清晰的文件。如果有人把这件事弄清楚,我会很感激的。我期待着边缘网关的连接字符串(我在设备端提到的连接字符串是类似于localhost的:端口而不是cloudaddress+gatewayhostname)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-07-12 07:24:57

如果连接字符串包含网关主机名,并且在设备上使用的SDK正确地处理此问题,则设备只连接到网关,而不是连接到IoT集线器。

您可以在这里看到.NET SDK中的示例:

代码语言:javascript
运行
复制
this.HostName = builder.GatewayHostName == null || builder.GatewayHostName == "" ? builder.HostName : builder.GatewayHostName;

https://github.com/Azure/azure-iot-sdk-csharp/blob/f86cb76470326f5af8426f3c2695279f51f6e0c8/iothub/device/src/IotHubConnectionString.cs#L30

如果设置了网关主机名,它实际上会覆盖连接的IoT集线器主机名。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57001913

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档