目录

基于STM32和ESP8266连接阿里云云平台MQTT协议

基于STM32和ESP8266连接阿里云云平台(MQTT协议)

文章结尾有源码
硬件方面

硬件层面我们需要stm32c8t6,esp8266,温湿度传感器,usb转ttl,stlink,以上硬件的连接方式可以自行选择,也可以使用代码里面写好的方式进行连接

软件方面

keil5,串口调试助手

准备好以上内容,就可以进入代码的编写了,本次实验需要用到esp8266的mqtt固件,在这里简单介绍一下MQTT协议,MQTT协议是常用的物联网通信协议,是一种轻量级的协议,基于发布/订阅模型的消息传递协议,MQTT广泛应用于物联网(IoT)领域,用于传递传感器数据、控制设备、监控等场景。所以MQTT很适合用于传输一些传感器数据,因为它不会占用太大的字节,那在我们这里,esp8266就作为发布者,向阿里云发送数据,阿里云则作为订阅者,接受并且处理esp8266发送过来的数据。

具体操作

我们首先要先到阿里云平台注册账号,并且创建设备,这里就不详细展开说明了,这个可以去找相应的教程。在阿里云创建好平台后,获取自己相应的阿里云三元素即可,因为8266连接阿里云需要这些参数

https://i-blog.csdnimg.cn/blog_migrate/bec092a83b9b07ba2d2f4870dfaa802a.png

完成这些后,我们就可以进入stm32代码的编写了,其实主要就是控制stm32通过串口向esp8266发送at指令,对esp8266进行指定的操作,例如发送连接wifi的指令,

发送AT指令使用esp8266来连接阿里云平台

https://i-blog.csdnimg.cn/blog_migrate/73f489bfce6749702ac08ab24c3e5901.png

更新接受到的传感器数据并上传

https://i-blog.csdnimg.cn/blog_migrate/93ec7847349fbf343f0a8575a6ad7300.png

然后还需要驱动我们的DHT11等其他类型的传感器的代码,就ok了,内容相对没有非常复杂,

https://i-blog.csdnimg.cn/blog_migrate/34ea3cd223e5f144106a967c046985f5.png

最后我们在阿里云平台上就可以看到实时更新的数据了,非常方便

https://i-blog.csdnimg.cn/blog_migrate/40a0152f00f7a3af78a3385871415d49.png

链接:https://pan.baidu.com/s/1NZRk-PeEDViGSnBscK4-zQ

提取码:m61l