Связь TCP-клиента сетевой связи (на основе Arduino)

TCP/IP

Предварительная подготовка

=======

  1. Arduino IDE

  2. ESPDuino

  3. Файл версии Arduino ESP8266

Экспериментальные требования

Сетевая связь достигается путем установки платы разработки ESPDuino в режим TCP-клиента.

Обзор связи TCP

TCP: протокол управления передачей.
Протокол 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();
  }
}

Экспериментальные явления

图片
图片

следовать за

Просто нажмите, если хотите
图片

Писать не легко, спасибо за поддержку.

В этой статье используетсяПомощник по синхронизации статейСинхронизировать