gpt4 book ai didi

azure - 即使边缘用作网关,叶子/下游设备是否直接连接到 iot-hub?

转载 作者:行者123 更新时间:2023-12-03 01:37:18 26 4
gpt4 key购买 nike

我正在尝试将物联网边缘设备设置为边缘网关。我们不希望我们的叶子/传感器/下游设备直接连接到互联网/云,因此我希望物联网边缘网关(顾名思义)能够桥接下游设备和云/物联网之间的连接中心。但是,我意识到任何设备级别的 iot-hub/edge 的连接字符串都很简单

iothub-with-gatewayhostwayAppend 的连接字符串

这让我假设下游设备将消息传输到端点(可能是消息/*)到云/物联网集线器,并且网关从那里获取它(然后可能使用该数据)并将其转发回$upstream,它避开了网关的整个点。

此处位于 IOT-EDGE-GATEWAY 的消息路由部分 https://learn.microsoft.com/en-us/azure/iot-edge/how-to-create-transparent-gateway ,在“从下游设备路由消息”部分中

{
"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:port 而不是 cloudaddress+gatewayhostname 的内容)

最佳答案

如果您的连接字符串包含网关主机名 - 并且您在设备上使用的 SDK 可以正确处理此问题,则设备仅连接到网关,而不连接到 IoT 中心。

您可以在此处查看 .NET SDK 中的示例:

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 中心主机名。

关于azure - 即使边缘用作网关,叶子/下游设备是否直接连接到 iot-hub?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57001913/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com