[討論] Arduino Esp8266一些使用上的問題

作者: jerrychen26 (水澤)   2016-08-12 01:03:33
大家好,因為專題需求入手了一片Esp8266
使用上遇到了一些問題,後來有解決但是覺得很奇怪
所以想來問問看各位前輩。
我上網找到的資料,使用GET方式傳送資料到網站
大部分的指令都是
AT+CIPSTART="TCP","IP",PORT
AT+CIPSEND=長度
之後把GET這個字串丟出去
String GET="GET /index.jsp?data=1/"之類的
我在這裡遇到了一個問題
我的GET長度是91
但是直接打91送出去會錯誤
長度必須打入93,資料才會送出去,我在這邊卡滿久的
我在想是不是\r\n的關係
後來寫在Arduino上
網路上大部分的教學都是類似下面,IP+PORT都有連成功
然後送資料
WIFI.print( "AT+CIPSEND=" );
WIFI.println( GET.length() );
WIFI.println(GET)
(WIFI是用SoftwareSerial宣告的)
當初我就卡在這裡,找了很久還是不知道原因
就算我用 GET.length()+2;
資料還是送不出去
後來我改用
WIFI.print( "AT+CIPSEND=" );
WIFI.println( 200 ); //大於GET的數字
WIFI.println(GET);
WIFI.println("AT+CIPCLOSE");
這樣才成功把資料傳送出去
但是我看網路上送資料給THingSpeak的教學
他們都沒有遇到這種問題
都是直接讀GET.length()然後println(GET)這樣就OK了
我這種情況算是正常嗎?
有前輩遇過嗎?
謝謝。
作者: randy061 (061)   2016-08-23 00:54:00
WIFI.println( GET.length() ); 注意這行是 println。建議去查看看 print() 與 println() 的差別。

Links booklink

Contact Us: admin [ a t ] ucptt.com