首页 > 其他分享 >stm32 esp8266测试问题原因记录

stm32 esp8266测试问题原因记录

时间:2024-02-11 13:11:06浏览次数:35  
标签:rt return esp8266 stm32 mqtt connect 测试 printf

现象:连上WIFI但发送数据失败

 原因:WIFI网络延时过大,或者程序设置的等待超时时间过小

解法:换个网络延时小的WIFI连,或者增加程序等待超时的时间

 

现象:连不上WIFI

 原因:esp8266_mqtt_init()中的的延迟过长,测试4S不行,要2S

解法:将4秒延时改回2S

 1 int32_t esp8266_mqtt_init(void)
 2 {
 3     int32_t rt;
 4     delay_ms(2000);
 5     //esp8266初始化
 6     esp8266_init();
 7 
 8 //    printf("esp8266_mqtt_init 397");
 9 
10     //退出透传模式,才能输入AT指令
11     rt=esp8266_exit_transparent_transmission();
12     if(rt)
13     {
14         printf("esp8266_exit_transparent_transmission fail\r\n");
15         return -1;
16     }    
17     printf("esp8266_exit_transparent_transmission success\r\n");
18     delay_ms(2000);
19     
20     //复位模块
21     rt=esp8266_reset();
22     if(rt)
23     {
24         printf("esp8266_reset fail\r\n");
25         return -2;
26     }
27     printf("esp8266_reset success\r\n");
28     delay_ms(2000);    
29     
30     //关闭回显
31     rt=esp8266_enable_echo(0);
32     if(rt)
33     {
34         printf("esp8266_enable_echo(0) fail\r\n");
35         return -3;
36     }    
37     printf("esp8266_enable_echo(0)success\r\n");
38     delay_ms(2000);    
39         
40     //连接热点
41     rt = esp8266_connect_ap(WIFI_SSID,WIFI_PASSWORD);
42     if(rt)
43     {
44         printf("esp8266_connect_ap fail\r\n");
45         return -4;
46     }    
47     printf("esp8266_connect_ap success\r\n");
48     delay_ms(2000);
49     //连接网址
50     rt =esp8266_connect_server("TCP",MQTT_BROKERADDRESS,1883);
51     if(rt)
52     {
53         printf("esp8266_connect_server fail\r\n");
54         return -5;
55     }    
56     printf("esp8266_connect_server success\r\n");
57     delay_ms(2000);
58     
59     //进入透传模式
60     rt =esp8266_entry_transparent_transmission();
61     if(rt)
62     {
63         printf("esp8266_entry_transparent_transmission fail\r\n");
64         return -6;
65     }    
66     printf("esp8266_entry_transparent_transmission success\r\n");
67     delay_ms(2000);
68     //连接mqtt
69     if(mqtt_connect(MQTT_CLIENTID, MQTT_USARNAME, MQTT_PASSWD))
70     {
71         printf("mqtt_connect fail\r\n");
72         return -7;    
73     
74     }
75     printf("mqtt_connect success\r\n");
76     delay_ms(2000);        
77     //订阅
78     if(mqtt_subscribe_topic(MQTT_SUBSCRIBE_TOPIC,0,1))
79     {
80         printf("mqtt_subscribe_topic fail\r\n");
81         return -8;
82     }    
83     printf("mqtt_subscribe_topic success\r\n");
84     
85     return 0;
86 }
View Code

现象:

 原因:esp8266_mqtt_init()中的延时过短

解法:测试270ms,也是可以的但不够稳定,建议没事保存默认2S不要改

 

标签:rt,return,esp8266,stm32,mqtt,connect,测试,printf
From: https://www.cnblogs.com/xuweihui/p/18013321

相关文章

  • STM32超声波模块问题
    先写没问题用法,有问题的语法就不示范voidSr04_Init(void){GPIO_InitTypeDefGPIO_InitStruct;TIM_TimeBaseInitTypeDefTIM_TimeBaseInitStruct;//打开GPIO组时钟RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA,ENABLE);RCC_AHB1PeriphClockCm......
  • JMeter 进行UDP压力测试
    第一步:安装udp插件第二步:添加线程组,然后按下添加UDP请求设置如下配置你要测试的服务器IP和端口。按照下面的格式输入16进制数数据然后可以开始跑了......
  • Jmeter进行TCP压力测试
    1.启动Jmeter后,在左侧测试计划节点,右键“添加”-》“线程”-》“线程组”2.在新增的线程组节点上。右键“添加”-》“取样器”-》“TCP取样器”3.在线程组节点上,再右键“添加”-》“监听器”-“察看结果树”构建完成后如下图:  4.设置并发相关参数是在线程组中,线程数即为并......
  • 网络游戏协议测试(接口测试)的一些总结
    什么是游戏协议?协议是网络游戏前后端交互的实现方式。游戏中协议的收发过程是怎样的?当我们在进行游戏的时候,我们点击了某个按钮进行某一种游戏行为,这个时候,客户端会按照跟服务器约定好的一些规则,将我们的游戏行为对应的请求和参数通过网络封包发送给服务器,服务端在收到这个......
  • 软件测试与游戏测试的区别
    功能上:功能上:软件测试只要基本上的功能不出现问题,不影响交互就没太大的问题;游戏测试则不同出现一些及其细微的功能缺陷都会导致游戏的胜负结果。性能上:性能上:软件测试讲究3-5-10的响应速度,3秒为良好优秀,5秒为一般,10秒为极差;但游戏在性能提供上讲究就会比较严格,一些细微的卡顿......
  • STM32打印掺杂乱码
    问题:STM32打印掺杂乱码 原因:时钟太快了(不要以为是电磁干扰,接触不良,硬件出问题,多想想在发现这种情况之前做了什么操作)问题:为什么之前好好的,现在不行了原因:安装CubeMX导致的,具体原因不清楚解法:根据外部晶振调对时钟频率 效果: ......
  • [职场] 面试专业测试考什么
    面试专业素质测试是什么职业素质是每个人生存发展的必要条件,对于大学生来说良好的职业素质是解决自身就业问题的根本保证。就业是民生之本,扩大就业是摆在各级党委和政府而前特别重要的现实性问题。以下是小编为您整理的面试专业素质测试是什么的相关内容。素质测试主要是......
  • PTES(Penetration Testing Execution Standard ,渗透测试执行标准)
    PTES是一种渗透测试标准,旨在提供一种通用语言描述的渗透测试执行范围和标准,始于2009年初,由一些创始成员围绕渗透测试行业讨论所得,参与者可以查看此列表。 其内容由7个主要部分组成,但该标准实际上并没有提供关于执行实际渗透测试的技术要求,但有一份相关的实践技术指南:http://ww......
  • 在spring场景下同时使用Mockito进行集成测试
    转自:GPT回答https://chat.openai.com/share/07721c36-f18e-429f-b570-d8e14b4d8b37Mockito@InjectMocks测试February8,2024 Anonymous如何使用@InjectMocks测试被代理对象ChatGPTChatGPT使用@InjectMocks来测试被代理对象是一种......
  • C#中获取进程当前路径各种方法的测试
    C#中获取进程当前路径各种方法的测试在CSharp中,获取当前进程的路径有很多种方式。同一个api在不同的运行和发布方式中,又会产生不同的效果。下面我用代码来测试一下效果,运行环境是:Windows10,.Net8。测试程序为放在``D:\的CurrentPathTest`目录。//不同的发布及运行方式//1.......