作者jerrychen26 (水泽)
看板ASM
标题[讨论] Arduino Esp8266一些使用上的问题
时间Fri Aug 12 01:03:33 2016
大家好,因为专题需求入手了一片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了
我这种情况算是正常吗?
有前辈遇过吗?
谢谢。
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 60.244.175.6
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/ASM/M.1470935015.A.627.html
1F:→ randy061: WIFI.println( GET.length() ); 注意这行是 println。 08/23 00:54
2F:→ randy061: 建议去查看看 print() 与 println() 的差别。 08/23 00:54