问题已解决,参考下文
解决设备连接不上Packet sender,收发信息丢失的问题
先上代码
#include <WiFi.h>
#include <WiFiUdp.h> //引用以使用UDP
const char *ssid = "wifi名称";
const char *password = "wifi密码";
WiFiUDP Udp; //创建UDP对象
unsigned int localUdpPort = 11111; //本地端口号
void setup()
{
Serial.begin(115200);
Serial.println();
WiFi.mode(WIFI_STA);
WiFi.begin(ssid, password);
while (!WiFi.isConnected())
{
delay(2500);
Serial.print(".");
}
Serial.println("Connected");
Serial.print("IP Address:");
Serial.println(WiFi.localIP());
Udp.begin(localUdpPort); //启用UDP监听以接收数据
}
void loop()
{
int packetSize = Udp.parsePacket(); //获取当前队首数据包长度
if (packetSize) //如果有数据可用
{
char buf[packetSize];
Udp.read(buf, packetSize); //读取当前包数据
Serial.println();
Serial.print("Received: ");
Serial.println(buf);
Serial.print("From IP: ");
Serial.println(Udp.remoteIP());
Serial.print("From Port: ");
Serial.println(Udp.remotePort());
Udp.beginPacket(Udp.remoteIP(), Udp.remotePort()); //准备发送数据
Udp.print("Received: "); //复制数据到发送缓存
Udp.write((const uint8_t*)buf, packetSize); //复制数据到发送缓存
Udp.endPacket(); //发送数据
}
}
测试工具:packet sender
问题:
用packet sender发送UDP报文esp32收不到
esp32发送UDP报文packet sender也收不到
尝试解决方法:
1.管理员运行Packet sender ,失败
2.手机下载UDP接收发送app测试 ,失败
3.检查端口是否被占用, 失败
猜测:
1.esp32硬件问题
2.程序由逻辑漏洞
综上…
如有大佬指教,不胜感激