乐鑫技术交流
直播中

王飞云

7年用户 1472经验值
私信 关注
[问答]

HTTPs客户端请求导致WEEMOS D1 Mini崩溃的原因?如何解决?

我刚开始使用 ESP 模块,由于我不知道的原因,在板崩溃之前我不能提交超过 8 个 http.GET() 请求。
我已将草图附加到这篇文章中。下面是串行打印输出。
同样出于未知原因,我时不时会收到一些读取超时错误。任何关于这意味着什么的解释将不胜感激。抱歉,如果这是我忽略的一个非常明显的错误。
18:14:55.853 -> [设置] 等待 4...
18:14:56.855 -> [设置] 等待 3...
18:14:57.863 -> [设置] 等待 2...
18:14:58.851 -> [SETUP] WAIT 1...
18:14:59.840 -> 51496
18:15:03.035 -> [HTTPS] begin...
18:15:03.035 -> [HTTPS] GET...
18:15:05.751 -> [HTTPS] GET...代码:200
18:15:05.751 -> 1
18:15:05.751 -> DRAM 免费:38264 字节
18:15:06.768 -> [HTTPS] 开始.. .
18:15:06.768 -> [HTTPS] GET...
18:15:09.309 -> [HTTPS] GET... 代码:200
18:15:09.309 -> 2
18:15:09.309 -> DRAM 免费: 37728 字节
18:15:10.331 -> [HTTPS] 开始...
18:15:10.331 -> [HTTPS] GET...
18:15:13.015 -> [HTTPS] GET... 代码:200
18:15 :13.015 -> 3
18:15:13.015 -> DRAM 免费:37192 字节
18:15:14.022 -> [HTTPS] 开始...
18:15:14.022 -> [HTTPS] GET...
18:15:16.664 -> [HTTPS] GET... 代码:200
18:15:16.664 -> 4
18:15:16.664 -> DRAM 免费:36152 字节
18:15:17.670 ->[HTTPS] 开始...
18:15:17.670 -> [HTTPS] GET...
18:15:22.894 -> [HTTPS] GET... 代码:200
18:15:33.147 -> [HTTPS] GET... 失败,错误:读取超时
18:15:33.147 -> 6
18:15:33.147 -> DRAM 免费:39216 字节
18:15:34.160 -> [HTTPS] 开始...
18:15:34.160 -> [HTTPS] GET...
18 :15:39.628 -> [HTTPS] GET... code: 200
18:15:39.628 -> 7
18:15:39.628 -> DRAM free: 34736 bytes
18:15:40.648 -> [HTTPS] begin...
18:15:40.648 -> [HTTPS] GET...
18:15:50.799 -> [HTTPS] GET... 代码:200
18:15:50.799 -> 8
18:15:50.799 -> DRAM 免费:34200字节
18:15:51.815 -> [HTTPS] 开始...
18:15:51.815 -> [HTTPS] GET...
18:16:00.617 -> [HTTPS] GET... 代码:200
18:16:00.617 -> 9
18:16:00.617 -> DRAM 免费:33856 字节
18:16:01.643 -> [HTTPS] 开始...
18:16:01.643 -> [HTTPS] GET...
18: 16:04.646 ->
18:16:04.646 -> -------------- 异常解码器在这里切 ------------
18:16 :04.646 ->
18:16:04.646 -> 软 WDT 复位
18:16:04.646 ->
18:16:04.646 -> >>>堆栈>>>
18:16:04.646 ->
18:16:04.646 -> ctx : cont
18:16:04.646 -> sp: 3ffff3b0 end: 442dc526 offset: 01a0
一大堆代码然后
18:16:09.849 -> ets Jan 8 2013,rst cause:4, boot mode:(3,6)
18 :16:09.849 ->
18:16:09.849 -> wdt 重置
18:16:09.849 -> 加载 0x4010f000,len 3460,16 号房间
18:16:09.849 -> 尾部 4
18:16:09.849 -> chksum 0xcc
18:16:09.849 -> load 0x3fff20b8, len 40, room 4 18
:16:09.849 -> tail 4 18:16:09.849
-> chksum 0xc9
18:16:09.849 -> csum 0xc9
18:16:09.849 -> v00060ae0
18:16:09.849 -> ~ld


回帖(1)

张生

2023-12-11 14:16:20
据您提供的信息,可能有两个问题导致您的WEEMOS D1 Mini崩溃和超时错误:

1. ESP8266模块处理HTTPs请求时的性能问题。ESP8266在处理HTTPs请求时可能会表现出较差的性能,因此建议使用HTTP协议而不是HTTPs协议。

2. 功能仍在处理一个http.GET()请求时,发起新的请求。在您的草图中,您使用了for循环启动了8个http.GET()请求,如果其中一个请求正在进行中,而您又发起了其他请求,那么ESP8266模块可能会崩溃。解决此问题的方法是在草图中等待所有http.GET()请求都完成后再开始新的请求。

建议采取以下步骤解决问题:

1. 使用HTTP协议而不是HTTPs协议,这可以提高ESP8266模块的性能并减少超时错误。

2. 在草图中等待所有http.GET()请求完成后再开始新的请求。

如果问题仍然存在,请提供更多详细信息以便更好地帮助您解决问题。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分