用 ESP32-WROOM-32 对接 DeepSeek AI 时,串口总打印“连接超时”。已确认 WiFi 连成功(能出 IP)、API Key 用 Postman 测过有效,也换了网络和供电,删了无关代码,还是没解决,求帮忙分析原因!
4条回答 默认 最新
来酱何人 2025-10-02 15:22关注ESP32 对接 DeepSeek AI 串口“连接超时”问题排查方案
结合电子信息工程的实践逻辑,从“网络链路-协议配置-硬件细节”三个核心维度,按优先级拆解排查方向,每个步骤附验证方法:
优先排查 WiFi 连接的“隐性问题”(最易忽略)
• WiFi 实际未连通:串口打印“WiFi connected”不代表能访问公网。可在代码中加一行 ping("api.deepseek.com", 5)(需用 ESP32 的 ping 库),若返回“ping failed”,说明路由器限制了 ESP32 外网访问(如校园网需认证、路由器开启 MAC 过滤)。
• 信号强度不足:ESP32 WiFi 模块灵敏度较低,若开发板离路由器超过 5 米或隔墙,易导致丢包。临时将设备移到路由器旁测试,排除信号干扰。
重点检查 API 通信的“协议配置”(核心环节)
• HTTPS/HTTP 协议 mismatch:DeepSeek AI 接口多要求 HTTPS(端口 443),若代码中用了 HTTP(端口 80)或端口号写错,会直接超时。需核对代码中 client.connect("api.deepseek.com", 443) 是否正确,且确保 ESP32 启用了 SSL 加密(需包含 WiFiClientSecure.h 库,而非 WiFiClient.h)。
• API 请求格式错误:即使 Key 正确,请求头(如 Content-Type: application/json)、请求体(如 prompt 字段格式)缺失或写错,会导致服务器不响应。可在代码中加“打印完整请求内容”的串口输出,对比 DeepSeek 官网 API 文档的示例格式。
最后排查硬件与环境“底层问题”
• 供电不稳定:ESP32 联网+通信时电流会增至 100-200mA,若用电脑 USB 口供电(尤其笔记本),可能因电压不足导致 WiFi 模块频繁断连。换用 5V/2A 外接电源(如手机快充头),通过 DC 口给开发板供电测试。
• 端口或串口波特率不匹配:若串口监视器波特率(如 115200)与代码中 Serial.begin(115200) 不一致,可能误判“超时”(实际是打印内容乱码)。先确认两者波特率完全相同,再观察是否有其他错误信息(如“SSL handshake failed”)。
本回答被题主选为最佳回答 , 对您是否有帮助呢?评论 打赏 举报解决 1无用