【问题标题】:Does Azure cloud know from which geo location a device sending the data to IoT hub?Azure 云是否知道设备从哪个地理位置将数据发送到 IoT 中心?
【发布时间】:2021-09-14 14:14:16
【问题描述】:

我有许多设备连接到 Azure IoT 中心。这些设备物理上位于世界不同的地方,例如

设备 A 在美国;设备 B 在法国;设备 C 在日本

上述所有设备都向 IoT 中心发送一些数据。我需要显示设备及其地理位置(城市和国家/地区)。

Azure 云是否知道设备的位置(地理位置)?我们可以使用这些信息在网页上显示设备的物理位置吗?

非常感谢任何帮助。 谢谢

【问题讨论】:

    标签: azure azure-web-app-service azure-iot-hub


    【解决方案1】:

    如果您不向其提供该数据,Azure IoT Hub 将无法判断您的设备在哪里。因此,如果您没有 GPS,您将无法准确知道设备的位置。但是您可以尝试以下一些方法,这完全取决于您的用例!

    您的设备位于静态位置(并且您知道在哪里)

    如果是这种情况,您可以考虑将位置添加到设备的设备孪生。如果设备从不更改其位置,并且您知道设备的位置,则这是一个有效的选项。如您所说,如果您有很多设备,请不要手动执行此操作,而是将其作为配置过程的一部分。

    您的设备未使用移动连接

    有很多在线服务提供所谓的地理定位(不会链接到任何服务,因为我没有在生产环境中尝试过它们)。它们通过使用您网络的公共 IP 地址来估算您的位置。这在大多数移动连接上都不起作用,尽管即使在移动连接上,您至少可以让国家正确。简而言之,您的设备可以使用其中一项服务来查找其位置并将其发送到 IoT 中心。

    【讨论】:

    • 非常感谢您的回答。
    【解决方案2】:

    位置图可以:

    • 在地图上绘制报告的位置。
    • 在地图上绘制遥测位置历史记录。
    • 创建地理围栏规则以在设备进入或离开特定区域时通知操作员。 向设备模板添加定位功能 使用 location 语义类型和 geolocation 架构类型

    从设备发送位置数据 当设备为 DeviceLocation 属性发送数据时,有效负载

    {
      "DeviceLocation": {
        "lat": 47.64263,
        "lon": -122.13035,
        "alt": 0
      }
    }
    

    当设备为Tracking发送数据时,必须将DeviceLocation 替换为“Tracking”。

    显示设备位置 您可以在 IoT Central 应用程序的多个位置显示位置数据。 您可以选择在地图上绘制位置,或显示单个值:

    您可以将地图图块添加到仪表板以绘制一个或多个设备的位置。当您添加地图图块以显示位置遥测时,您可以绘制一段时间内的位置。

    创建地理围栏规则 您可以使用位置遥测创建地理围栏规则,当设备移入或移出矩形区域时生成警报。该规则会在设备移入矩形区域时生成电子邮件:

    参考请关注Microsoft document

    【讨论】:

    • 非常感谢您的详细回答。我有一个问题:如果设备没有任何 GPS 功能,设备如何获取经度和纬度值?
    • 设备将向 IoT 中心发送数据,如果没有 GPS 功能,我不确定设备是否会获取纬度和经度值。
    猜你喜欢
    • 2022-01-14
    • 1970-01-01
    • 2018-11-05
    • 1970-01-01
    • 2019-11-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-18
    相关资源
    最近更新 更多