网络通信之TCP Client通信(基于Arduino)

网络通信之TCP Client通信(基于Arduino)

前期准备

  1. Arduino IDE
  2. ESPDuino
  3. Arduino ESP8266版型文件

实验要求

通过将ESPDuino开发板设置成TCP Client模式,从而达到联网通信

具体方法

登录http://tcp.doit.am获取要使用的IP和端口:
在这里插入图片描述

程序流程

  1. 设置热点账号和密码
    const char* ssid=""
    const char* password=""
  2. 设置服务器IP
    const char* serverIP=“115.29.109.104”
  3. 设置端口号
    int serverPort=6535
  4. 设置WiFi模式
    WiFiClient client;
  5. 设置缓存
    char buff[512]
  6. 串口初始化
    Serial.begin(115200)
  7. 打开WiFi
    WiFi.begin(ssid,password)
  8. 打印IP地址
    Serial.println(WiFi.localIP())
  9. 进入主循环
  10. 选择没有连接的客户端
  11. 检测客户端是否连接成功
    client.connect(serverIP,serverPort)
  12. 检测客户端是否有数据
    client.available()
  13. 读取数据
    buff[bm++]=client.read
  14. 显示数据
    Serial.print(buff)
    client.print(buff)
    client.flush();

程序

#include<ESP8266WiFi.h>
const char*ssid ="STM32L476";
const char*password ="284122348";
const char*serverIP ="115.29.109.104";
int serverPort =6558;
WiFiClient client;
bool bConnected =false;
char buff[512];
int nm =0;
void setup(){
  Serial.begin(115200);
  delay(10);
  Serial.println();
  Serial.println();
  Serial.print("Connecting to");
  Serial.println(ssid);
  WiFi.begin(ssid,password);
  while(WiFi.status()!=WL_CONNECTED){
    delay(500);
    Serial.print(".");
  }
  Serial.println("WiFi connected");
  Serial.println("IP address:");
  Serial.println(WiFi.localIP());
}
void loop(){
  delay(1);
  if(bConnected ==false)
  {
    if(!client.connect(serverIP,serverPort))
  {
  Serial.println("connection failed");
  delay(5000);
  return;
}
bConnected=true;
Serial.println("connection ok");
}
else if(client.available())
{
Serial.println("data is coming");
while(client.available())
{
  buff[nm++]=client.read();
  if(nm>=511)break;
}
buff[nm]=0x00;
nm=0;
Serial.print(buff);
client.print(buff);
client.flush();
  }
}

实验现象

在这里插入图片描述
在这里插入图片描述

后续

如果想了解更多物联网、智能家居项目知识,可以关注我的项目实战专栏。
欢迎关注公众号与我交流。
在这里插入图片描述

编写不易,感谢支持。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

跋扈洋

编写不易,打赏支持一下我吧

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值