一、阿里云平台
官网:点击跳转
二、创建产品与设备
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代码:
例程:点击跳转
需要代做项目的可以私信!!