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("\r\n%s\r\n", jsonBuf);
printf("\r\n%s\r\n", ALINK_TOPIC_PROP_POST);
//if (xQueueReceive(gpio_evt_queue, &io_num, portMAX_DELAY)) {
//ESP_LOGI(TAG, "GPIO[%d] intr, val: %d\n", 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灭
按下按键
控制灯亮:
控制灯灭:文章来源:https://www.toymoban.com/news/detail-408615.html
文章来源地址https://www.toymoban.com/news/detail-408615.html
到了这里,关于ESP8266连接阿里云通过MQTT上报状态属性的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!