【零知ESP8266教程】WIFI TCP协议通信 TCP客户端示例

本帖主要讲解ESP8266 WIFI功能关于TCP协议网络传输的应用,这里演示了ESP8266作为TCP客户端的示例:
1、硬件
零知ESP8266开发板
2、软件
代码如下:

/**********************************************************
*    文件: tcp-client.ino      by 零知实验室([url]www.lingzhilab.com[/url])
*    -^^- 零知开源,让电子制作变得更简单! -^^-
*    时间: 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;//创建一个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);
}
 
//一直循环执行:
void loop() {
    // 在这里加入主要程序代码,重复执行:
    Serial.print("connecting to ");
    Serial.println(host);
     
    if (!client.connect(host, port)) {
        Serial.println("connection failed");
        Serial.println("wait 5 sec...");
        delay(5000);
        return;
    }
     
    // 发送数据到Tcp server
    Serial.println("Send this data to server");
    client.println(String("lingzhilab"));
     
    //读取从server返回到响应数据
    String line = client.readStringUntil('\r');
    Serial.println(line);
     
    Serial.println("closing connection");
    client.stop();
     
    Serial.println("wait 5 sec...");
    delay(5000);
}

注:上述代码中需要填写自己的Wifi热点ssid和密码以及电脑所在局域网分配的IP地址(在零知工具箱(请至零知官网“软件下载”页面获取)-网络调试界面可以选择IP,这两处是一致的)。

3、验证测试
首先打开零知工具箱的网络调试窗口,然后选择TCP服务端,并选择IP和端口:
在这里插入图片描述
然后点击【连接】,这样就在电脑端开启了一个TCP服务器,然后就可以和ESP8266进行通信了:
在这里插入图片描述
更多精彩请关注零知官网。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值