前言
在上一次的项目中,利用STM32开发板和ESP8266模块,完成了一个物联网台灯、门铃报警的小项目。利用手机上的微信小程序,就能控制开发板上LED灯的亮灭,按下开发板上的按键,也能够在微信小程序上显示报警。
虽然说完成了这个项目,但仔细思考就能发现明显缺陷。手机和开发板必须连接在同一个WiFi信号下,如此一来,实际的应用场景就会变得非常狭窄了。只有使用者在家中,且手机连着WiFi的情况下,才能发挥作用。如果使用者外出,手机和开发板不在同一个WiFi上,那就不能控制台灯,也不能收到门铃报警了。
那么如何克服这个缺点呢?这里就引入了MQTT协议来解决这个问题。
同时,还引入了FreeRTOS系统,来怼项目进行优化。
`
一、什么是MQTT协议
在理解MQTT协议之前,首先要知道,网络通讯的基础。两个设备之间,是如何传输数据的。
在之前的项目中,开发板和手机连在同一个WiFi上,让开发板和手机通讯的时候,必须要确定的两个要素,分别是IP地址和Port端口。
也就是说,想要在两个设备之间传输数据,就必须要知道两个设备的IP地址和Prot端口。那么同样的,如果想要我们不同网络下,实现开发板和手机之间的网络通讯,也需要知道两个设备的IP地址和prot端口。
但是呢,仅仅是知道了IP地址和端口之后,也是不能直接进行通讯的,因为两个路由器之间,不能直接进行通讯,中间必须要有一个服务器的存在。路由器a将信息放到服务器上,路由器b在服务器上查询这个信息。这种通过发布和订阅的形式进行通讯的网络通讯协议,就是叫做MQTT协议。
MQTT协议,是一种基于TCP/IP形式的网络协议。可以以一对一的形式进行发布和订阅,也可以以一对多的形式进行发布的订阅。
在嵌入式中,MQTT协议的发布者,常常是单片机,它采集各种传感器的信息,通过MQ

本文介绍了MQTT协议和FreeRTOS系统在物联网项目中的应用。通过MQTT协议解决了设备跨网络通讯的问题,FreeRTOS则提高了系统的运行效率。文章还详细说明了如何在STM32开发板上配置和使用这些技术。
2504

被折叠的 条评论
为什么被折叠?



