ESP8266连接阿里云通过MQTT上报状态属性
2023-04-18 16:53:24 时间
1、新建一个产品
2、添加物模型,物模型用于显示上报的消息的
编辑草稿,也就是添加属性
可以选择标准的和自定义的,我这里选择自定义的
设置物模型功能
我这里添加了两个,完成后发布上线
3、到设备中添加设备,用于ESP8266连接
添加成功后,可以看到
我这里多添加一个topoic用来控制LED亮灭,然后上传到云端。
4、修改ESP8266代码
连接设备的密码、用户名、uri参考:MQTT连接阿里云物联网平台步骤_qingeratech的博客-CSDN博客
通讯数据格式参考:数据格式 - 阿里云物联网平台 - 阿里云
#define PRODUCT_KEY "gu7ilTJSCqY"
#define DEVICE_NAME "ESP8266-Status"
#define DEVICE_SECRET "7192748eea14bb1daf55dc0540c9ef25"
#define DEVICE_ID "ESP8256"
#define REGION_ID "cn-shanghai" //注册阿里云服务器对应的地区
/* 线上环境域名和端口号,不需要改 */
#define MQTT_URI "mqtt://" PRODUCT_KEY ".iot-as-mqtt." REGION_ID ".aliyuncs.com"
#define MQTT_PORT 1883
#define MQTT_USERNAME DEVICE_NAME "&" PRODUCT_KEY
#define CLIENT_ID DEVICE_ID "|securemode=3,signmethod=hmacsha1,timestamp=789|"
//使用阿里云平台中的密码解析网址进行破解,https://help.aliyun.com/document_detail/86706.html
#define MQTT_PASSWD "31026abf078a85f4791eb727f3f631eb6cb09795"
#define ALINK_BODY_FORMAT "{"params":%s}"
#define ALINK_TOPIC_PROP_POST "/sys/" PRODUCT_KEY "/" DEVICE_NAME "/thing/event/property/post"
#define ALINK_TOPIC "/" PRODUCT_KEY "/" DEVICE_NAME "/user/LED_SW"
esp_mqtt_client_config_t mqtt_cfg = {
.uri = "mqtt://gu7iajfhl7g.iot-as-mqtt.cn-shanghai.aliyuncs.com",
.username = "FH_ESP_Test&gu7iajfhl7g",
.password = "7e659c8603463c1d9acfb388b74d45cb76903741",
.client_id = "FESA234FBDS99|securemode=3,signmethod=hmacsha1,timestamp=789|",
.port = 1883,
//.transport = MQTT_TRANSPORT_OVER_TCP,//设置连接协议
};
sprintf(param, "{"LED_STA":%d,"KEY_STA":%d}", s_led_sta & 0x01, (s_led_sta >> 1) & 0x01);
sprintf(jsonBuf, ALINK_BODY_FORMAT, param);
printf("
%s
", jsonBuf);
printf("
%s
", ALINK_TOPIC_PROP_POST);
//if (xQueueReceive(gpio_evt_queue, &io_num, portMAX_DELAY)) {
//ESP_LOGI(TAG, "GPIO[%d] intr, val: %d
", io_num, gpio_get_level(io_num));
if (s_mqtt_c) {
esp_mqtt_client_publish(client, ALINK_TOPIC_PROP_POST, jsonBuf, 0, 1, 0);
}
esp_mqtt_client_subscribe(client, ALINK_TOPIC, 1);
5、下载程序后,打开设备物模型查看,记得右上角的实时刷新打开
默认按键松开,led灭
按下按键
控制灯亮:
控制灯灭:
相关文章
- 微软:我们关于Silverlight战略转移[原文]
- PDC10与最后的恐慌者
- 关于Silverlight战略转移新闻,我的思考
- 欢迎腾讯抄袭,腾讯系部分产品正慢慢成为中国IT土产中最好用的产品
- 【老孙随笔】腾讯,互联网创业者的噩梦
- 老调重弹——如何面试(二)
- 老调重弹——如何面试(一)
- 程序物语(十)守望内心的宁静
- 重新认识C#: 玩转指针
- 换个角度谈谈学习的过程
- 基于自然语言的软件工程和程序设计(中)
- 重读《由C#风潮想起的-给初学编程者的忠告》有感
- 如何提升工作中的影响力
- Windows Mobile开发,Native C++ PK .NET Compact Framework
- 程序员“宅钱”的几种方式和我的体会
- 微软最新嵌入式界面开发技术(Silverlight for Embedded)
- 是什么造成了MVP的尴尬现状?我们该怎么办?
- 大学四年
- 做技术的思考
- 程序员你真的只是程序员吗?