当前位置: 首页 > 知识库问答 >
问题:

蔚蓝物联网枢纽。云到设备消息(MQTT,自定义主题)

公良俊楚
2023-03-14

蔚蓝物联网枢纽。云到设备消息(MQTT,自定义主题)

我有一个蔚蓝物联网中心。在这里我创建了一个自定义设备。此设备已成功连接到Azure IoT集线器。我也可以从这个设备接收数据(设备到云)。

但我也想给这个设备发个消息。

run.csx

public static async void Run(EventData myIoTHubMessage, TraceWriter log)
{
    log.Info($"{myIoTHubMessage.SystemProperties["iothub-connection-device-id"]}");
    var deviceId = myIoTHubMessage.SystemProperties["iothub-connection-device-id"].ToString();
    var msg = JsonConvert.SerializeObject("{\"Values\": {\"Slave 8.Channel 1.Output\": false,");
    var c2dmsg = new Microsoft.Azure.Devices.Message(Encoding.ASCII.GetBytes(msg));

    await client.SendAsync(deviceId, c2dmsg);
}

共有1个答案

仇炜
2023-03-14

Azure IOT Hub不是一个通用的MQTT代理。面向设备的方面有预定义的主题,请参阅这里的详细信息。

通过基于AMQP协议的面向服务endpoint向设备发送C2D消息。您应该使用Microsoft Azure IoT Service Client SDK(Microsoft.Azure.devices)中的ServiceClient代理。下面的代码片段显示了这一部分:

// create proxy
string connectionString = ConfigurationManager.AppSettings["myIoTHub"];
var client = ServiceClient.CreateFromConnectionString(connectionString);

// send AMQP message
await client.SendAsync(deviceId, c2dmsg);

在面向设备的一侧,设备应该订阅以下主题筛选器:

devices/{device_id}/messages/devicebound/#
 类似资料:
  • 物联网设备是非标准设备,可以相互无线连接到网络并能够传输数据。物联网设备正在扩大互联网连接,超越了智能手机,笔记本电脑,平板电脑和台式机等标准设备。通过技术嵌入这些设备使我们能够通过网络进行通信和交互,并且可以远程监控和控制它们。 有许多种基于IEEE 802.15.4标准的物联网设备。这些设备包括无线电池,可连接的传感器板和接口板,对研究人员和开发人员非常有用。 物联网设备包括计算机设备,软件,

  • 获取设备配置信息 根据业务需求获取设备 配置的各种信息。 参数说明 字段 类型 必须 备注 device RKDevice 是 设备 namespace String 是 存储空间、根据业务填写 key String 是 信息存储Key 示例代码 Swift: RokidMobileSDK.device.getServiceInfo(device: RKDevice, namespace: Str

  • 获取设备配置信息 根据业务需求获取设备 配置的各种信息。 参数说明 字段 类型 必须 备注 deviceId String 是 设备Id namespace String 是 存储空间、根据业务填写 key String 是 信息存储Key 示例代码: Kotlin val deviceId: String = "XXX" val namespace: String = "YYY" val ke

  • 是否可以将Azure服务总线添加到云到设备消息队列中?当我收到消息时,我必须确保所有消息都以相同的顺序到达IoTHub。我找不到IoTHub中的标准队列是否提供它。我想使用ServiceBus的第二个原因是过期时间也更长,IoTHub只提供48小时的消息。我知道通过在IoTHub配置中添加endpoint和路由,我可以很容易地在设备消息中使用ServiceBus,但是C2D消息呢?

  • 在搜索文档之后,我找不到任何关于如何在没有使用外部服务器的情况下使用FCM向设备发送消息的信息。 例如,如果我正在创建一个聊天应用程序,我将需要向用户发送关于未读消息的推送通知,因为他们不会一直在线,而且我不可能在后台有一个始终连接到实时数据库的持久服务,因为这会占用太多资源。 那么当某个用户“B”向他/她发送聊天消息时,我将如何向用户“a”发送推送通知呢?我需要一个外部服务器来完成这个任务吗?还

  • 通过设置open_mqtt_protocol选项,启用后会解析mqtt包头,worker进程的onReceive事件每次会返回一个完整的mqtt数据包。 程序代码 mqtt_server.php <?php function decodeValue($data) { return 256 * ord($data[0]) + ord($data[1]); } function decode