3

我正在使用 arduino 和 esp8266 与我的 HTTP 服务器(Nginx+flask)进行交互。我已经成功地将请求发送到服务器,但是,当我检查 esp8266 收到的消息时,esp8266 没有从服务器获取所有数据。

假定的结果应该是:

+IPD,179:HTTP/1.1 200 OK
Server: nginx/1.1.19
Date: Sat, 02 Jan 2010 00:11:02 GMT
Content-Type: application/json
Content-Length: 25
Connection: keep-alive

{
  "status": "SUCCESS"
}

目前我得到的结果是:

+IPD,179:HTTP/1.1 200 OK
Server: nginx/1.1.19
Date: Sat,

我发送到 ESP8266 模块的流:

AT+CWMODE=1  
AT+CWJAP="Telstra1357_2.4G","adelaide12345"  
AT+CIPMUX=0  
AT+CIPSTART="TCP","192.168.0.6",80  
AT+CIPSEND=217 POST /data/push/ HTTP/1.1  
Host: 192.168.0.6  
User-Agent: Sensor Station  
Content-Type: application/json  
Content-Length: 89  

{"device_id":0,"data":[{"label":"Light","reading":606},  {"label":"Motion","reading":497}]}  `

我曾尝试使用超时/延迟来等待更多数据,但它没有用。有人有同样的问题吗?

4

1 回答 1

0

我有类似的问题!对我来说,它有助于检查波特率。我将 ESP8266 与 SoftwareSerial 连接,但 ESP 在 115200 上工作,这对于 SoftwareSerial 来说太高了。我将波特率更改AT+UART_DEF=9600,8,1,0,0为 9600,然后它工作正常!您需要检查您的固件以获得正确的 AT-命令。

检查您的电源(外部电源最合适)并发送 CLOSE 命令。它可能会有所帮助!

于 2016-07-05T09:04:45.697 回答