Qt + mqtt对接阿里云平台(一)

一、阿里云平台

官网:点击跳转

二、创建产品与设备

1、"公共实例"

2、"设备管理"->"产品"->"创建产品"

3、"产品名称"->"自定义品类"->"确认"

4、"前往添加"

5、"添加设备"

6、摄入DeviceName和备注名称

7、"前往查看"

三、添加功能定义

1、"产品"->"查看"

2、"功能定义"->"前往编辑草稿"

3、"添加自定义功能"

4、发布上线

四、代码测试

1、生成设备端代码

2、获取product_key、device_name、device_secret

3、修改测试代码

根据之前的操作,我们可以下载得到一个压缩包,将其解压,然后修改 mqtt_basic_demo.c 里面的相应代码:

1)修改product_key、device_name、device_secret

2)修改mqtt_host

由于我是21年之前注册的,并且地址为 华东2(上海),所以修改该值为:

const char *mqtt_host = "{YourProductKey}.iot-as-mqtt.cn-shanghai.aliyuncs.com"; //({YourProductKey}.iot-as-mqtt.${YourRegionId}.aliyuncs.com)

3)添加发布消息功能

打开下面代码注释,并修改里面的YourProductKey、YourDeviceName,根据自己的功能修改LightSwitch值

char *pub_topic = "/sys/{YourProductKey}/{YourDeviceName}/thing/event/property/post";

char *pub_payload = "{\"id\":\"1\",\"version\":\"1.0\",\"params\":{\"LightSwitch\":0}}";

res = aiot_mqtt_pub(mqtt_handle, pub_topic, (uint8_t *)pub_payload, (uint32_t)strlen(pub_payload), 0);

if (res < 0) {

printf("aiot_mqtt_sub failed, res: -0x%04X\n", -res);

return -1;

}

我的修改如下:

4)编译运行

make

./output/mqtt-basic-demo

出现如下打印,说明连接成功了:

然后在云平台可以看到设备 在线 了,并且显示 "1(开)" ,说明我们的发布也成功了。

5)下发控制

根据上面操作,设备端可以看到打印:

五、qmqtt代码:

例程:点击跳转

需要代做项目的可以私信!!

相关推荐
我的offer在哪里2 天前
企业级 K8s 深度解析:从容器编排到云原生基石的十年演进
阿里云·k8s
uesowys2 天前
阿里云通义万相视频生成大模型开发训练部署
阿里云·视频生成大模型
小白考证进阶中2 天前
自学阿里云认证,能救一个是一个!
阿里云·云计算·阿里云acp·阿里云acp认证·阿里云acp考试·阿里云acp报名·阿里云acp备考
Serverless 社区2 天前
阿里云函数计算 AgentRun 全新发布,构筑智能体时代的基础设施
人工智能·阿里云·云原生·serverless·云计算
XiaoLeisj2 天前
【SpringAI】第六弹:深入解析 MCP 上下文协议、开发和部署 MCP 服务、MCP 安全问题与最佳实践
阿里云·大模型·协议·spring ai·mcp
Serverless社区3 天前
阿里云函数计算 AgentRun 全新发布,构筑智能体时代的基础设施
阿里云·云原生·serverless·函数计算
₯㎕星空&繁华4 天前
阿里云服务器安装MySQL服务器
服务器·ubuntu·阿里云·云计算
千里马-horse4 天前
HTTP、WebSocket、XMPP、CoAP、MQTT、DDS 六大协议在机器人通讯场景应用
mqtt·websocket·http·机器人·xmpp·coap·fastdds
云雾J视界4 天前
Flink Checkpoint与反压问题排查手册:从日志分析到根因定位
大数据·阿里云·flink·linq·checkpoint·反压
你的大佬9994 天前
阿里云百炼ai模型
人工智能·阿里云·云计算