如何使用 ESP8266-12E 通过 UDP 发送/接收
How to send/receive via UDP with ESP8266-12E
好吧,我已经做了很多次UDP发送/接收。但现在我被困住了。
也许我错过了代码中的一些愚蠢错误,或者我正在使用的库中存在问题。无论如何,如果有人可以提供帮助,请看一下。
接收方代码
#include <ESP8266WiFi.h>
#include <WiFiUdp.h>
const char* ssid = "M3-L7";
const char* password = "mySmartChoice";
unsigned int localPort = 2390;
char packetBuffer[255];
WiFiUDP Udp;
void setup() {
Serial.begin(115200);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED){
delay(500);
Serial.print(".");
}
Udp.begin(localPort);
}
void loop() {
delay(10);
if (Udp.parsePacket()) {
int len = Udp.read(packetBuffer, 255);
if (len > 0) {
packetBuffer[len] = 0;
Serial.println(packetBuffer);
}
}
}
发送方/访问点的代码
#include <ESP8266WiFi.h>
#include <WiFiUdp.h>
const char *ssid = "M3-L7";
const char *password = "mySmartChoice";
unsigned int localPort = 2390;
WiFiUDP Udp;
void setup() {
delay(1000);
Serial.begin(115200);
WiFi.softAP(ssid, password);
Udp.begin(localPort);
}
void loop() {
Udp.beginPacket("192.168.4.1", localPort);
Udp.write("Hello");
Udp.endPacket();
delay(10);
}
好吧,我希望"你好"在他们到达连接点:D重复打印,但这已经结束了。
您可能想在Wifi.begin
之前尝试将以下内容添加到接收器:
WiFi.mode(WIFI_STA);
这会将 Wifi 设置为工作站(客户端(而不是接入点。您的代码没有这样做,因此很难确定发生了什么,尤其是当您重复使用以前编程为在 AP 模式下运行的设备时。
相关文章:
- Java 客户端C++服务器数据发送/接收问题
- SFML UdpSockets没有错误地发送/接收?
- 混合开放MP/MPI代码中的多线程发送/接收时出错
- 服务器客户端通过原始数据错误C 发送接收结构
- Boost Asio网络发送/接收是否具有任何形式的数据完整性保证
- C++ MPI 发送接收问题
- 如何使用 ESP8266-12E 通过 UDP 发送/接收
- 怀疑发送/接收
- 在 boost::asio 中发送/接收结构
- 如何在两个类之间发送/接收消息
- 关于发送/接收大量数据(UNIX-)插座的另一种融合
- 如何在 C++/WinAPI 中按网络适配器获取发送/接收的字节数
- 在两个不同的程序之间发送/接收数据
- MPI 没有收到我发送的相同缓冲区,阻止发送/接收
- 在Java Android和JNI之间发送/接收音频阵列
- 如何使用字符串在Qt中使用套接字发送/接收XML数据
- C++套接字发送/接收与写入/读取
- czmq 异步发送/接收 (PUB/SUB)
- 部分发送/接收 TCP 套接字 c++
- 通过PostMessage发送/接收字符串