|
最近發現遠程控制挺火的,正好也用8266搞了一下,發現挺好用的。 esp8266一般大家都會用它作為服務端,連接它自己發出的wifi,然后通過調試助手通信,這就局限于本身wifi覆蓋范圍了。
那具體怎么實現通過TCP連接到esp8266,從而實現手機APP用蜂窩數據就能實現通信呢?
可以看下面的鏈接。
先PS一下:本人對TCP沒什么研究,也是在網上跟 匠芯科技 所發布的教學一步一步學的(基本上是照搬的),同時感謝匠芯科技,還請大家勿噴,謝謝!
博客鏈接:http://www.cnblogs.com/yangfengwu/p/7736296.html
大家可以自己去看,我就是說一下過程。
esp8266連接路由器后會得到一個IP,因為大部分家里的路由器都會默認開啟DHCP服務,這樣的話每次重啟連接后的IP可能不一樣,那樣就不太好去
實現,如果那樣的話就還得需要一些其他步驟(這里不做說明)。 esp8266本身就可以設定固定的IP,防止每次IP不一樣。
步驟:1、設置為station模式或者station與AP共存也行 AT+CWMODE=3或等于1也行
2、復位一下 AT+RST
3、連接AP(連接路由器的wifi) AT+CWJAP – 連接 AP ps:可以先用AT+CWLAP 查詢當前可用的wifi
4、設置IP地址 例:AT+CIPSTA="192.168.3.123","192.168.3.1","255.255.255.0" ps:我家路由器是192.168.3.1段的
5、設置多連接 AT+CIPMUX=1
6、建立TCP服務端 AT+CIPSERVER=1,8080 ps:前面的1表示開啟,后面的為端口號(自己設定的)
基本上就是這些了,然后怎么實現內網映射,看上面的鏈接就行,有詳細講解的。
最后,還有TCP 服務超時時間的設定,因為測試的時候不一定會一直發送數據,會被檢測到一定時間內未有數據產生會自動關閉連接。
推薦設置一下
AT+ CIPSTO – 設置 TCP server 超時時間 |
例:AT+CIPSTO=100 就是100秒內未通信就會斷開連接,最大時間是7200秒,如果設置為0就表示永久不會被超時檢測,測試推薦設置為0。
關于自己做APP的TCP Client的方面還未搞明白,所以我安利一個APP方便大家調試。
個人覺得最好還是要自己搞一個APP,這樣自己定義怎么樣通信,會比較方便,因為調試助手每次都得自己操作才行。
如果有什么不懂的地方可留言討論!
|
評分
-
查看全部評分
|