Arduino & ESP8266 - 响应中的奇怪字符

Arduino & ESP8266 - strange characters in response

我正在研究 Arduino Uno + ESP8266 项目。

我尝试将它们用作 Wi-Fi 网络上的网络服务器来控制连接到 Arduino 的电机——基本上是一个通过 Wi-Fi 接收信号的触发系统。目前,我已经通过从 Arduino 发送 AT 命令成功地将 ESP8266 连接到我的接入点。同一网络上的另一个客户端可以静态访问 ESP8266 分配的 IP 地址。

但是,当我尝试捕获一些 HTTP 查询(我想将它们用作控制电机的条件)时,我 偶尔 遇到 HTTP 请求中的非 ASCII 字符。我使用串口调试,请看下面link中的截图:

Arduino - Computer serial communication for debugging

“,519:POST ...”这一行应该在“/?”之后包含一个完整的数字,但是却出现了一些奇怪的字符。所以我无法确定控制电机的输入数据。千载难逢,请求的预期格式如下所示:

The correct data received

HTTP 响应部分没有问题,即使我收到无法解释的请求,我仍然可以将 JSON 错误消息发送回客户端。

尝试注意: Arduino 使用不同的串行端口与计算机和 ESP8266 通信。由于可以建立连接并发送数据,我相信双方的波特率都是正确的。 (ESP8266 为 115200,计算机为 9600 - 也尝试了 115200 并得到相同的结果)

我使用 Arduino 的 V3.3 作为 ESP8266 的电源。但我也像许多人建议的那样使用稳压器来平滑电流。问题依旧。

我被这个问题困扰了几天,只是想知道是否有人有类似的经历,或者可以为下一步提供一些线索。

经过相当大的努力稳定电路后,我切换到 NodeMCU 并让系统完美运行。我认为如果没有其他组件,ESP8266 本身就不够强大,不幸的是我对此一无所知。 因此,我想通过一个简短的建议来结束这个帖子,建议任何遇到同样问题的人切换到 NodeMCU(它将取代 Arduino 和 ESP8266);如果那可以支持需求。