ESP8266透傳:發(fā)送數據到HTTP服務器
微信公眾號:morixinguan
關注可了解更多的教程。問題或建議,請公眾號留言;
如果你覺得文章對您有幫助,歡迎微信贊賞
合作請點擊公眾號菜單中的合作機會后選擇商務合作,或者投稿文章請點擊合作機會的投稿文章。
????在進行HTTP測試中,SoapUI是很好的第三方工具。
????SoapUI是一個開源測試工具,通過soap/http來檢查、調用、實現Web Service的功能/負載/符合性測試。該工具既可作為一個單獨的測試軟件使用,也可利用插件集成到Eclipse,maven2.X,Netbeans 和intellij中使用。SoapUI Pro是SoapUI的商業(yè)非開源版本,實現的功能較開源的SoapUI更多。
????現在我們就利用SoapUI來模擬制作的一個HTTP服務器,制作的流程可以參考:https://blog.csdn.net/russ44/article/details/51680083
????接下來我們開始來用串口終端配置一下ESP8266聯網以及設置透傳功能,然后發(fā)送數據:
????
ESP8266進入透傳的配置:(以串口115200波特率為例)
(1)設置WIFI模式
AT+CWMODE=3 ? ? ? ? ? ? ? ? ? ? ? ? ?//設置為ap+sta共存
響應OK
(2)重啟
AT+RST
重啟后我們看到,這里出現亂碼,亂碼的原因是因為模塊剛上電的時候,波特率并不是我們所設置的115200,而是會稍微偏大一點,導致串口顯示出現亂碼。
(3)連接路由器
AT+CWJAP="ssid","password" ? ?//傳入路由的ssid和password
響應OK
(4)查詢設備IP
AT+CIFSR
響應設備的ip地址以及其它
(5)連接服務器(TCP)
AT+CIPSTART="TCP","server ip",server port ? ? //傳入遠端服務器的ip以及端口號
響應:OK
(6)開啟ESP8266的透傳模式
AT+CIPMODE=1
響應OK
(7)開始透傳
AT+CIPSEND
響應: > ? ? ? ? ? ? ?//從此時開始,串口輸入的字符會透傳到服務器端
將數據通過HTTP發(fā)送到遠端服務器:
1POST?/test/upload/messages?HTTP/1.1
2Host:?192.168.12.68:8999
3Content-Type:?application/json
4Content-Length:17
5cache-control:?no-cache
6
7{"text1"?:?"123"}
其中/test/upload/messages為URL的一部分
Host字段添加服務器IP和端口號,這里的服務器IP是192.168.12.68,端口號是8999
所以URL為:http://192.168.12.68:8999/test/upload/messages
Content-Type字段代表當前要使用數據的格式,這里使用的是application/json
Content-Length字段代表當前json數據的長度,也就是后面{"text1","123"}這串數據的長度。通過下面這個工具可知
當前的數據長度為17:
接下來是一個空格,這個空格一定要有,否則HTTP服務器會解析出錯
????后面的{"text1":"123"}就是我們要發(fā)送的json數據。接下來通過串口調試助手將帶http協議的json數據發(fā)到http測試服務器:
可以看到,HTTP服務器回復了200 OK,代表ESP8266的數據已經成功透傳到服務器。
優(yōu)質嵌入式學習干貨推薦:包括ARM邏輯、Linux設備驅動程序、Linux應用程序開發(fā)、Android系統學習等。
長期商務合作服務:
? ? ?本公眾號以及本人在圈子里有很多的人流量,如需定期產品推廣,貨源代銷等可關注微信公眾號<<安立順產品服務>>,我們可以用這個公眾號來幫你賺更多的錢。
聯系人:深圳安立順技術研發(fā)事業(yè)群總經理 ? 楊源鑫
免責聲明:本文內容由21ic獲得授權后發(fā)布,版權歸原作者所有,本平臺僅提供信息存儲服務。文章僅代表作者個人觀點,不代表本平臺立場,如有問題,請聯系我們,謝謝!