You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ESP8266-01通过AT指令向MySQL存储数据失败求助

问题排查与正确AT指令配置

错误点分析

  1. 参数拼写错误:正确的参数名是MQ4_smoke_ppm,但你写成了MQ4_rook_ppm,PHP脚本无法识别该参数,直接导致数据库插入逻辑失败。
  2. HTTP请求格式错误:Connection字段应为Connection: keep-alive(连字符不可省略);且HTTP请求头结束后必须添加两个空行,否则服务器无法正确解析请求边界。
  3. CIPSEND长度不匹配:AT+CIPSEND=xxx中的数字必须与实际发送的字节数完全一致,长度错误会造成请求被截断或发送异常。

正确的AT指令完整流程

假设ESP8266已完成WiFi连接(未连接的话需先执行AT+CWJAP="WiFi名称","WiFi密码"):

# 1. 建立TCP连接到Apache服务器
AT+CIPSTART="TCP","192.168.1.6",80

# 等待返回结果
CONNECT
OK

# 2. 启动发送,先确认请求内容的字节数(以下请求总字节数为161)
AT+CIPSEND=161

# 等待提示符>出现后,发送规范的HTTP请求
OK
> GET /insertMQ4.php?MQ4_CO_ppm=1&MQ4_alcohol_ppm=2&MQ4_smoke_ppm=3&MQ4_H2_ppm=4&MQ4_LPG_ppm=5&MQ4_CH4_ppm=6 HTTP/1.1
Host: 192.168.1.6
Connection: keep-alive


# 此处必须输入两个空行,触发发送
SEND OK

# 3. 关闭TCP连接
AT+CIPCLOSE

CLOSED

额外注意事项

  • 字节数校验:后续修改参数值时,必须重新计算AT+CIPSEND后的数字,确保与所有发送字符(包括换行符\r\n)的字节数完全匹配。
  • 换行符规范:HTTP请求中的换行必须是\r\n(Windows风格),部分串口工具默认仅发送\n,需调整工具设置。
  • 调试技巧:可在insertMQ4.php中添加日志功能,记录接收到的请求参数:
file_put_contents('request_log.txt', print_r($_GET, true) . "\n", FILE_APPEND);

通过日志可以直观检查ESP8266实际发送的参数是否正确。

内容的提问来源于stack exchange,提问作者kml

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 03:43:30