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

前期准备

=======

  1. Arduino IDE

  2. ESPDuino

  3. Arduino ESP8266版型文件

实验要求

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

TCP通信概述

TCP:传输控制协议 (Transmission Control Protocol)。
TCP协议是面向连接的通信协议,即传输数据之前,在发送端和接收端建立逻辑连接,然后再传输数据,它提供了两台计算机之间可靠无差错的数据传输。

TCP旨在适应支持多网络应用的分层协议层次结构。 连接到不同但互连的计算机通信网络的主计算机中的成对进程之间依靠TCP提供可靠的通信服务。TCP假设它可以从较低级别的协议获得简单的,可能不可靠的数据报服务。 原则上,TCP应该能够在从硬线连接到分组交换或电路交换网络的各种通信系统之上操作。

具体方法

登录tcp.doit.am获取要使用的IP和端口:
图片

程序

#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();
  }
}
复制代码
复制代码

实验现象

图片
图片

后续

喜欢就点一点在看吧
图片

编写不易,感谢支持。

本文使用 文章同步助手 同步

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享