Azure IoTHub:获取连接设备的 IP 地址/位置
Posted
技术标签:
【中文标题】Azure IoTHub:获取连接设备的 IP 地址/位置【英文标题】:Azure IoTHub: Get IP Address / Location of connected devices 【发布时间】:2022-01-18 18:50:49 【问题描述】:我想查询连接到 Azure IoTHub 的设备的公共 IP 地址或地理位置。 我在大约 3 年前发现了一个关于这个主题的问题 here。 但答案并不是我真正想要的。有谁知道现在 IoTHub 或 Azure Functions 中是否有直接用于此任务的新功能?
【问题讨论】:
我能问一下您对其他问题的回答不满意吗? IoT Hub 中没有内置功能。 当然,因为到目前为止我们还没有为这个项目使用设备孪生。仅使用设备孪生来实现地理定位功能对我来说似乎有点过分。也许我会通过遥测消息将 ip 推送到天蓝色...... 【参考方案1】:简短的回答是,Azure IoT Hub 中没有内置功能来实现这一点。 Rita Han之前给出的答案还是正确的。不过我想更详细一点。
如果您有权访问 GPS,则可以将其存储在设备孪生的报告属性中。如果没有可用的 GPS,您可以将设备的公共 IP 存储在报告的属性中,并使用外部 API 来解析大致位置。
正如您在评论中提到的,您还可以在遥测消息中发送 IP。这也可以,但设备孪生的好处是它在设备离线时也可用,无需任何存储资源(设备孪生位于集线器中)。查看这两种情况的努力,它们都只使用一条消息将 IP 发送到 IoT 中心。不同之处在于,如果您使用的是 MQTT,则您需要 can listen for a confirmation message 以防您更新报告的属性。
【讨论】:
太好了,感谢您提供详细的回答和澄清使用设备孪生的好处。在我的情况下,上传的数据必须与地理位置相关联,设备可以在其生命周期内的不同位置之间移动。所以在我的情况下,最好通过遥测发送日志数据的文件名和相应的地理位置,并将这些信息保存在日志文件中......以上是关于Azure IoTHub:获取连接设备的 IP 地址/位置的主要内容,如果未能解决你的问题,请参考以下文章
Azure iothub Device使用golang抛出InternalServerError
Azure IoT Hub 十分钟入门系列 - 实现从设备上传日志文件/图片到 Azure Storage
Azure IoT Hub 十分钟入门系列 - 使用模拟设备发送设备到云(d2c)的消息