【问题标题】:How Device receives Direct Methods in the IoT Hub?设备如何在 IoT 中心接收直接方法?
【发布时间】:2017-10-07 03:14:15
【问题描述】:

根据 IoT Hub 中 Direct Method 的文档,指出用户通过面向服务的 URI "{iot hub}/twins/{device id}/methods/ 调用直接方法" 并且设备在 MQTT 主题 "$iothub/methods/POST/{method name}/" 上接收它
我对这种映射的工作方式有些困惑。
IoT 中心是否有任何内部映射可将请求重定向到特定设备?
其他设备如何识别该方法不适用于他们,因为设备正在侦听的主题似乎不是特定于设备的,我们只需要特定的设备来接收该方法调用?

【问题讨论】:

  • Azure IoT Hub 不是通用 MQTT 代理。

标签: azure azure-iot-hub


【解决方案1】:

Azure IoT Hub 是设备和云 (IoT Stack) 之间的双向集成网关。其主要目标是通过默认(内置)或自定义端点将设备遥测数据快速摄取到云流管道。

基本上,Azure IoT 中心有两种端点,例如面向设备的端点和面向服务的端点。 有关这些端点的更多详细信息是here

在内部,Azure IoT Hub 不是面向总线的,它不是通用 MQTT 代理,也不是通用通信代理,它是具有点对点星型拓扑通信的集成网关,例如设备对-云 (D2C) 和云到设备 (C2D) 消息传递。没有直接的设备到设备消息传递。

C2D 消息传递有一些限制,请参阅IoT Hub quotas and throttling。 C2D 消息传递可以使用设备孪生功能以异步或同步方式进行。

基本上,C2D 消息传递是基于点对点星型通信,换句话说,您不能向设备发送多播广播消息。在这种情况下,推荐的方式是创建一个作业,用于将消息逐个发送到设备。

通过 Azure IoT 中心在设备上调用直接方法只能通过使用 Http 协议的面向服务的端点。在另一端,例如面向设备的端点,它只能由具有面向连接的协议(例如 MQTT 或 AMQP)的设备使用。

面向设备的端点支持 MQTT v3.1.1 通信协议,详情请参阅here

使用 MQTTBox Client、https://iotdevtool.comAzure IoT Hub Tester 等第三方工具可以使用 Azure IoT Hub 评估 MQTT 设备的行为。

以下屏幕 sn-ps 显示在 MQTT 设备上调用直接方法。请注意 Azure IoT Hub 测试器使用直接 MQTT 协议和 Azure IoT Hub。

第 1 步:在面向服务的端点 (Http) 上调用直接方法。请注意,url 地址有一个目标设备 ID(在此测试 Device10 中)。

第 2 步:设备(Device10)接收到直接方法

第 3 步:设备 (Device10) 将响应发送回调用者

第 4 步:调用者在超时限制内收到来自 Device10 的响应

【讨论】:

    【解决方案2】:

    当设备通过 IoT 中心进行身份验证时,它会包含其设备 ID。见:https://docs.microsoft.com/en-us/azure/iot-hub/iot-hub-mqtt-support#using-the-mqtt-protocol-directly

    IoT Hub 然后可以确保设备接收正确的直接方法调用。

    【讨论】:

    • 我们正在寻找调用直接方法时发生的内部过程。 IoT Hub 如何通过所有设备都在侦听的公共主题将其处理到目标设备。
    【解决方案3】:

    每个直接方法都以单个设备为目标,即使多个直接方法具有相同的名称,也只有目标设备可以接收该方法。

    所以请随意测试和使用它。

    【讨论】:

    • 我们希望在我们的代码中直接使用 MQTT 主题,因此我们需要知道设备如何接收它们的特定请求,因为所有设备都在监听一个公共主题而不是设备特定主题。跨度>
    • @RahulBansal 你测试过吗,遇到了什么问题?
    • 我们尚未对此进行测试。我们正在从理论上评估它是否适合我们的问题陈述。我们正在尝试了解它的实际工作原理、IoT Hub 的内部映射以及直接方法的设备。
    猜你喜欢
    • 2020-11-03
    • 2018-11-11
    • 1970-01-01
    • 1970-01-01
    • 2023-01-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-27
    相关资源
    最近更新 更多