您的位置:首页 > 汽车 > 新车 > 深圳企业网站制作公司介绍_大学生创业 2月亏3万_下载百度导航app_厦门人才网app

深圳企业网站制作公司介绍_大学生创业 2月亏3万_下载百度导航app_厦门人才网app

2024/11/18 2:50:28 来源:https://blog.csdn.net/yyqzjw/article/details/142278370  浏览:    关键词:深圳企业网站制作公司介绍_大学生创业 2月亏3万_下载百度导航app_厦门人才网app
深圳企业网站制作公司介绍_大学生创业 2月亏3万_下载百度导航app_厦门人才网app

1. MQTT协议

该协议为应用层协议,传输层使用的是tcp,MQTT的订阅和发布,就相当于在抖音中你关注了某个领域的博主(订阅),如果有其他人发了作品就会推给你(发布),默认已经安装好了

简单演示
订阅

mosquitto_sub -h "47.121.24.16" -p 1883  -t "A" 

mosquitto_sub 订阅指令
-h 主机ip
-p 端口号1883
-t 主题

发布

mosquitto_pub -h "47.121.24.16" -p 1883 -t "A" -m "nihaoma"

mosquitto_pub 发布指令
-h 主机ip
-p 端口号1883
-t 主题
-m 内容

在这里插入图片描述
订阅主题“A”的就可以收到

2.esp8266通过MQTT连接服务器

1.需要在单片机里面建立配置用户信息

void esp8266_connect_MQTT(const char*ip,int port,const char* user,const char* password)

//需要云服务器ip地址和端口号,以及MQTT服务器的用户名以及密码,如果是匿名用户的话,用户名和密码随便给
在这里插入图片描述
在这里插入图片描述

根据手册构建指令配置信息保存在单片机rom
在这里插入图片描述

2.eps8266连接MQTT
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
连接成功在服务器这边验证

isof -i |grep mosquitto   //查看链接情况

在这里插入图片描述

3.发布

单片机发布,MQTT服务器这边订阅就可以收到
在这里插入图片描述

void esp8266_Publish(const char* topic,const char*content);//发布的主题以及内容

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.订阅

在MQTT服务器这边发布,esp8266这边订阅,然后通过串口2返回给单片机,单片机将其给串口1,然后在串口助手上显示出来

void esp8266_subscribe(const char* topic)//订阅主题

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
发现发送的helloworld收到成了helloword了,所以我们需要

	   uint8_t data,flag=0;uint32_t old_tick=0;while (1){/* USER CODE END WHILE *//* USER CODE BEGIN 3 */if(HAL_GetTick()-old_tick>50&&flag) //假如说收到最后一个字符后等50ms后,说明接收完了{clearbuffer();  //打印到串口1,清除缓冲区flag=0;  //防止频繁冲刷缓冲区}if(HAL_UART_Receive(&huart2,(uint8_t*)&data,1,10)==HAL_TIMEOUT)  //一个字符和另一个字符很快就能接收,如果超过10ms,就直接continue{continue;}else{	buffer[num++]=data;  //放到缓冲区里面old_tick=HAL_GetTick();//获取当前字符时间,用于和下一个字符作对比flag=1;}}

在这里插入图片描述
在这里插入图片描述

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com