阿里云物联网MQTT对接

==》点击此处返回主目录《==

一、登录阿里云物联网平台:https://iot.console.aliyun.com/lk/summary/new 如下图所示。(注意:公共实例 在 华东2(上海),企业版实例可以选择任意支持的站点。)

 二、选择“设备管理”-“产品”点击“创建产品”按钮。参照下图创建。

 

 三、进入设备界面,点击“添加设备”或“批量添加”。(在创建完产品之后,也会提示创建设备,与这里进入的界面是一样的。注意:DeviceName 长度不能超过 20个字符)

四、创建好设备之后,点击设备列表右侧的“查看”可进入如下界面。

 五、在设备查看界面,点击右上角的devicesecret处的“查看”,在弹出的“设备证书”提示框中,点击“一键复制”,粘贴到文本文件中,内容显示如下:

{
 "ProductKey": "a1owulEnjRQ",
 "DeviceName": "BOX20200500001",
 "DeviceSecret": "6GsxXCskZkWbedgIuGkKuyErhmn1Zipa"

如果是企业版实例,还需要 mqtt 服务器域名,如下图所示:

六、设备上线后,可以通过阿里云后台对应的 topic 下发消息。消息格式参考文档《通用网络协议》 第三个指令:语音播报

topic权限说明QOS值
/${ProductKey}/${deviceName}/user/get订阅服务器通过该topic向设备发送消息0或者2
/${ProductKey}/${deviceName}/user/update发布设备通过该topic向服务器发送消息0或者2

七、服务器相关API列表参考阿里云官方文档: https://help.aliyun.com/document_detail/69893.html?spm=a2c4g.11174283.6.750.15001668S6CvRa其中服务器向设备发送消息,调用的是 pub接口 ,阿里云提供了在线调试平台,调试成功,会生成示例代码,如下图所示:

 八、服务器获取设备回传的数据,请参阅文档:https://help.aliyun.com/document_detail/143601.html 

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
首先,你需要在阿里云物联网平台上创建设备和产品,并获取设备的三元组(ProductKey、DeviceName、DeviceSecret)。 然后,你需要在QT中使用MQTT协议对接阿里云物联网平台。可以使用QT提供的QtMqtt模块,该模块提供了MQTT客户端实现,支持TLS加密连接和QoS级别2的消息传递。 以下是使用QtMqtt模块对接阿里云物联网平台的基本步骤: 1. 在QT项目中添加QtMqtt模块。在.pro文件中添加如下代码: QT += mqtt 2. 创建MQTT客户端并连接到阿里云物联网平台。示例代码如下: QtMqtt::Client *client = new QtMqtt::Client(this); client->setHostname("<your-product-key>.iot-as-mqtt.cn-shanghai.aliyuncs.com"); client->setPort(1883); client->setUsername("<your-device-name>&<your-product-key>"); client->setPassword("<your-device-secret>"); client->connectToHost(); // 等待连接成功 if (!client->waitForConnected()) { qDebug() << "Failed to connect to MQTT broker!"; return; } 3. 发布消息到阿里云物联网平台。示例代码如下: QMqttTopicName topicName("<your-product-key>/<your-device-name>/update"); QtMqtt::Message message("Hello World!"); client->publish(topicName, message); 4. 订阅阿里云物联网平台的消息。示例代码如下: QMqttTopicFilter topicFilter("<your-product-key>/<your-device-name>/get"); client->subscribe(topicFilter); connect(client, &QtMqtt::Client::messageReceived, this, [=](const QByteArray &message, const QMqttTopicName &topic) { qDebug() << "Received message:" << message << "on topic:" << topic.name(); }); 以上示例代码仅供参考,实际使用时需要根据阿里云物联网平台的要求进行相应的配置和处理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值