ESP8266连接阿里云通过MQTT上报状态属性

这篇具有很好参考价值的文章主要介绍了ESP8266连接阿里云通过MQTT上报状态属性。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1、新建一个产品

2、添加物模型,物模型用于显示上报的消息的

ESP8266连接阿里云通过MQTT上报状态属性

编辑草稿,也就是添加属性

ESP8266连接阿里云通过MQTT上报状态属性 可以选择标准的和自定义的,我这里选择自定义的

ESP8266连接阿里云通过MQTT上报状态属性

设置物模型功能

ESP8266连接阿里云通过MQTT上报状态属性

我这里添加了两个,完成后发布上线

ESP8266连接阿里云通过MQTT上报状态属性

3、到设备中添加设备,用于ESP8266连接

ESP8266连接阿里云通过MQTT上报状态属性 添加成功后,可以看到

ESP8266连接阿里云通过MQTT上报状态属性

 我这里多添加一个topoic用来控制LED亮灭,然后上传到云端。

ESP8266连接阿里云通过MQTT上报状态属性

 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灭

ESP8266连接阿里云通过MQTT上报状态属性

 按下按键

ESP8266连接阿里云通过MQTT上报状态属性

 控制灯亮:

ESP8266连接阿里云通过MQTT上报状态属性

控制灯灭:

ESP8266连接阿里云通过MQTT上报状态属性文章来源地址https://www.toymoban.com/news/detail-408615.html

到了这里,关于ESP8266连接阿里云通过MQTT上报状态属性的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • esp8266WiFi模块通过MQTT连接华为云

    最近 突然想做物联网的项目,做一个类似远程控制家里的设备,比如控制灯,电视机,空调这样的,同时能够将家里的温湿度等信息可以实时上传到手机里。 刚开始认为这个不就是一个很简单的项目嘛, 几个小时 之内就能做出来,可是没想到诸事不顺,遇到各种各样的bu

    2023年04月20日
    浏览(44)
  • STM32通过ESP8266连接MQTT服务器

            ESP8266有多种连接MQTT方式,本文介绍使用的是AT MQTT版本固件的ESP01s,基于此固件版本进行说明。本文所需硬件:STM32F103RCT6、LED、ESP01s、DHT11,实现功能:温湿度上传和远程开关灯的基本功能。 B站视频教程:STM32+ESP8266+DHT11_哔哩哔哩_bilibili gitee: STM32_Share: STM32、DHT

    2024年02月09日
    浏览(36)
  • 【STM32 x ESP8266】连接阿里云 MQTT 服务器(报文连接)

    具体如何在阿里云创建一个 MQTT 服务器我就不写出来了,可以去百度一下(主要是我忘了,不好演示)。 有关 MQTT 报文的一些标识在我前面的 一篇文章 中讲过,感兴趣的可以去看看( 有关代码部分讲解的内容也在那里 ,这里就不细讲了,主要讲如何连接的) 插一嘴,如果

    2024年02月06日
    浏览(41)
  • ESP8266+STM32+MQTT发送数据到阿里云服务器(三、配置ESP8266模块并测试连接)

    1、固件烧录器 2、固件 3、串口工具 4、ESP866模块 5、USB转TTL模块 (以上软件工具文末分享的链接有,硬件请淘宝自行购买) 硬件如下图: 1、按照下面对照关系进行接线 USB转TTL ESP8266 3.3V 3V3 GND GND RX TX TX RX IO0 GND 2、打开固件烧录工具图标 3、点击“ OK ” 4、在出现的界面中,

    2024年03月23日
    浏览(37)
  • ESP8266-01 MQTT固件烧录并连接阿里云服务器

    1、烧录工具:flash_download_tool :   链接:https://pan.baidu.com/s/1jJJ07G56jNJ3SrOwstPzVA?pwd=8i93  提取码:8i93 2、串口调试助手:串口调试助手 3、阿里云配置生成工具: 链接:https://pan.baidu.com/s/13tjpFwGMeR0juS5OSEBiJQ?pwd=61me  提取码:61me 4、USB TO TTL 5、esp8266 01s 6、AT固件:下载   向esp8266烧

    2024年02月06日
    浏览(56)
  • STM32通过esp8266连接WiFi接入MQTT服务器

    上文我们讲到如何搭建本地MQTT服务器http://t.csdn.cn/aHNcO,现在介绍如何通过stm32连接MQTT 一.首先我们初始化esp8266这里我们使用的是USART4与其通信代码如下 二.通过数据间隔时间来判断是否是一串数据如果间隔时间大于30ms则判定为不是一串数据,接收缓冲器清零。 代码如下!

    2024年02月07日
    浏览(37)
  • 【阿里云】物联网平台配置ESP8266真实设备AT串口连接,支持MQTT协议通信

    1 阿里云物联网平台 官方文档:https://help.aliyun.com/product/30520.html 官方控制台:https://iot.console.aliyun.com/lk/summary/new 左边有产品和设备, 产品是抽象的品类 ,比如说电灯,空调等等。 设备是品类下具体的物品 ,和实物一一对应的云端信息,比如电灯1,电灯2,电灯-卧室,电灯

    2024年02月01日
    浏览(44)
  • STM32、ESP8266与MQTT连接阿里云物联网的串口通信异常解析

    STM32、ESP8266与MQTT协议连接阿里云物联网平台时常见的串口通信异常介绍 在构建物联网应用时,STM32、ESP8266与MQTT协议的结合是实现设备与网络间稳定通信的关键。然而,在连接阿里云物联网平台的过程中,串口通信异常成为了一个常见的挑战。本文将探讨这些异常现象及其可

    2024年04月22日
    浏览(32)
  • STM32+ESP8266+DHT11通过MQTT协议连接新版ONENET云平台上传数据

    项目讲解视频 新版 云平台搭建视频演示 单片机代码修改演示视频 APP参数修改 实物演示 前段时间ONENET云平台进行了升级更新,此前平台的多协议接入(包含旧版MQTT、HTTP、EDP、Modbus、TCP透传等)接口已经隐藏,后续应该会下架,为了能够后续继续使用ONENET云平台,就需要学

    2024年02月09日
    浏览(30)
  • 设备通过MQTT与ESP8266注册上云成功后出现离线连接不上问题

    之前在学习实现类如基于STM32开发的温度传感与上云开发时遇到了一个蛮头疼的问题。项目综合来说就是基于STM32的多点测温依据MQTT协议链接腾讯云,配套实现温度在微信小程序的显示。 最初开发时设备正常上云,在线后可实现温度数据上下行,相关微信小程序也可获得温度

    2024年02月11日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包