ESP8266开发(6)——如何将ESP8266设置为UDP客户端接受信息

目录

目录

前言

一、UDP客户端连接

二、注意事项


前言

上一篇中写了如何在PC上搭建UDP服务器,本例中作为通信的客户端采用的是ESP8266,本文记录如何将ESP8266作为UDP客户端。

一、UDP客户端连接


#include<ESP8266WiFi.h>
#include<WiFiUdp.h>

#define wifiName "" //这里填WIFI名称
#define password "" //这里填WIFI密码

WiFiUDP Udp;
unsigned int localUdpPort = 8266; //端口
//设置固定IP
IPAddress local_IP(192, 168, 1, 1);
IPAddress gateway(192, 168, 0, 1);
IPAddress subnet(255, 255, 255, 0);
IPAddress dns(8,8,8,8);

void setup(){
  Serial.begin(9600);
  Serial.printf("connecting WIFI %s",wifiName);
  WiFi.config(local_IP,gateway,subnet,dns);
  WiFi.mode(WIFI_STA); //将WIFI设置为STA模式
  WiFi.begin(wifiName,password);
  while(WiFi.status()!=WL_CONNECTED){
    delay(1000);
    Serial.println("\r\connecting...");
  }
  Serial.println("connected");

  if(Udp.begin(localUdpPort)){
    Serial.printf("listening IP:%s, UdpPort:%d\n",WiFi.localIP().toString().c_str(),localUdpPort); //在UDP服务器中填这个localIP地址,确保信息是传输到这个客户端
  }
  else{
    Serial.println("listen failed");
  }
}

void loop(){
  int packetSize = Udp.parsePacket();
  if(packetSize){
    char val = Udp.read(); //val为接收到的信息
    Serial.println(val);
  }
}

二、注意事项

连接WIFI与TCP客户端操作一致,当连接WIFI成功后进行通讯,这里需要注意将串口打印的localIP地址填到UDP服务器的IP位置,确保服务器发送的信息传输到该客户端,避免信息传输混乱。

猜你喜欢

转载自blog.csdn.net/qq_41904236/article/details/127140525