Arduino开发[1].ESP8266_TCP连接【1】

Arduino作为客户端连接服务器

  • 服务器工具下载及配置
  • ArduinoIDE书写代码
  • 调试及TCP后续具体作用

1.服务器工具下载及配置

  • 下载服务器调试工具NetAssist
  • 协议类型-TCP Server
  • 本地主机地址-你的电脑IP地址(不知道自行cmd-ipconfig)
  • 本地主机端口-1000到65535都行
  • 点击打开。
~~~~按打开按钮没反应,更换端口再试,或检测软件是否多开

2.ArduinoIDE书写代码

我用的是EPS8266其他可自行配置

#include <ESP8266WiFi.h>
const char *ssid = "WIFI的SSID";
const char *password = "WIFI的密码";
const IPAddress serverIP(192,168,43,81); //欲访问的地址
uint16_t serverPort = 6666;         //服务器端口号
WiFiClient client; //声明一个客户端对象,用于与服务器进行连接

void setup()
{
    Serial.begin(115200);
    Serial.println();

    WiFi.mode(WIFI_STA);
//    WiFi.setSleep(false); //关闭STA模式下wifi休眠,提高响应速度
    WiFi.begin(ssid, password);
    while (WiFi.status() != WL_CONNECTED)
    {
        delay(500);
        Serial.print(".");
    }
    Serial.println("Connected");
    Serial.print("IP Address:");
    Serial.println(WiFi.localIP());
}

void loop()
{
    Serial.println("尝试访问服务器");
    if (client.connect(serverIP, serverPort)) //尝试访问目标地址
    {
        Serial.println("访问成功");

        client.print("Hello world!");                    //向服务器发送数据
        while (client.connected() || client.available()) //如果已连接或有收到的未读取的数据
        {
            if (client.available()) //如果有数据可读取
            {
                String line = client.readStringUntil('\n'); //读取数据到换行符
                Serial.print("读取到数据:");
                Serial.println(line);
                client.write(line.c_str()); //将收到的数据回发
            }
        }
        Serial.println("关闭当前连接");
        client.stop(); //关闭客户端
    }
    else
    {
        Serial.println("访问失败");
        client.stop(); //关闭客户端
    }
    delay(5000);
}

3. 调试及TCP后续具体作用

上传程序到ESP8266,打开IDE中的串口调试

N秒后如上图所示,调试助手显示HelloWorl则代码TCP连接成功

ESP8266_物联网开发大器,连上TCP后可对服务器如,树莓派进行通信,可完成一系列的物联网操作。目前实现dht11温湿度传感器的实时传输到服务器并对数据进行记录分析到WEB服务器。

本章节完成了,刚玩ESP8266很菜,大神求教!!!
  • 2
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值