|
本帖主要講解ESP8266 WIFI功能關于TCP協(xié)議網(wǎng)絡傳輸?shù)膽茫@里演示了ESP8266作為TCP客戶端的示例: 1、硬件 零知ESP8266開發(fā) 2、軟件 代碼如下: - /**********************************************************
- * 文件: tcp-client.ino by 零知實驗室
- * -^^- 零知開源,讓電子制作變得更簡單! -^^-
- * 時間: 2019/06/17 12:32
- * 說明:
- ************************************************************/
-
- #include <ESP8266WiFi.h>
-
- #define SSID "xx" //這里改成你的wifi名字
- #define PASSWD "xx"//這里改成你的wifi密碼
-
- const uint16_t port = 8888;
- const char * host = "192.168.0.111"; // ip or dns
- WiFiClient client;//創(chuàng)建一個tcp client連接
-
- // 復位或上電后運行一次:
- void setup() {
- //在這里加入初始化相關代碼,只運行一次:
- Serial.begin(115200);
-
- WiFi.mode(WIFI_STA);
- WiFi.begin(SSID,PASSWD);
-
- Serial.println("Wait for WiFi... ");
- //等待wifi連接成功
- while (WiFi.status() != WL_CONNECTED) {
- Serial.print(".");
- delay(500);
- }
-
- Serial.println("");
- Serial.println("WiFi connected");
- Serial.print("IP address: ");
- Serial.println(WiFi.localIP());
-
- delay(500);
- }
-
- //一直循環(huán)執(zhí)行:
- void loop() {
- // 在這里加入主要程序代碼,重復執(zhí)行:
- Serial.print("connecting to ");
- Serial.println(host);
-
- if (!client.connect(host, port)) {
- Serial.println("connection failed");
- Serial.println("wait 5 sec...");
- delay(5000);
- return;
- }
-
- // 發(fā)送數(shù)據(jù)到Tcp server
- Serial.println("Send this data to server");
- client.println(String("lingzhilab"));
-
- //讀取從server返回到響應數(shù)據(jù)
- String line = client.readStringUntil('\r');
- Serial.println(line);
-
- Serial.println("closing connection");
- client.stop();
-
- Serial.println("wait 5 sec...");
- delay(5000);
- }
復制代碼
注:上述代碼中需要填寫自己的Wifi熱點ssid和密碼以及電腦所在局域網(wǎng)分配的IP地址(在零知工具箱(請至零知官網(wǎng)“軟件下載”頁面獲取)-網(wǎng)絡調(diào)試界面可以選擇IP,這兩處是一致的)。
3、驗證測試 首先打開零知工具箱的網(wǎng)絡調(diào)試窗口,然后選擇TCP服務端,并選擇IP和端口:
adjustone.jpg (94.03 KB, 下載次數(shù): 25)
下載附件
2019-9-26 11:45 上傳
然后點擊【連接】,這樣就在電腦端開啟了一個TCP服務器,然后就可以和ESP8266進行通信了:
adjusttwo.jpg (107 KB, 下載次數(shù): 25)
下載附件
2019-9-26 11:46 上傳
|