2015-11-20 93 views
3

我正在使用arduino和esp8266與我的HTTP服務器(Nginx + flask)進行交互。我已經成功發送請求到服務器,但是,當我檢查收到的消息esp8266時,esp8266沒有從服務器獲取所有數據。Arduino ESP8266沒有收到來自HTTP服務器的所有數據

假想的結果應該是:

+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}]} ` 

我有試圖使用超時/延遲等待更多的數據,但它沒有奏效。 任何人都有同樣的問題?

回答

0

我有類似的問題!對我來說,它幫助檢查波特率。我將ESP8266與SoftwareSerial連接起來,但是ESP在115200上工作,對於SoftwareSerial來說太高了。我將AT+UART_DEF=9600,8,1,0,0的波特率更改爲9600,然後工作正常!您需要檢查您的固件以獲取正確的AT命令。

檢查您的電源(外部電源是否合適)併發送CLOSE命令。它可能有幫助!

相關問題