乐鑫技术交流
直播中

张强

7年用户 1354经验值
私信 关注
[问答]

在SoftAP模式下使用ESP8266时遇到问题求解

我在 SoftAP 模式下使用 ESP8266 时遇到问题。
我想在 AP 大小上接收 UDP 数据包,并在站大小上发送其他 UDP 数据包(经过一些处理)。
使用在网上找到的示例,我编写了一个小程序,我的 ESP-01 现在可以连接为站点和接入点,并具有正确的地址。
但是我不知道下一步该怎么做:在我写的一些程序中,我使用“readPacket”和“sendPacket”函数来接收和发送UDP数据包,但是我如何区分这两个网络呢?(fi 在一个网络而不是另一个网络上发送数据包)。
我试图复制 UDP (WiFiUDP udp) 的实例,但我从 IDE 收到错误消息。

回帖(1)

周必镜

2024-1-15 16:59:31
对于你的问题,你需要保持两个注意事项:

1. 在 ESP8266 的 SoftAP 模式下,它既充当接入点(AP),也充当站点(STA)。这意味着你需要使用不同的端口或特定的数据包协议来标识来自 AP 或 STA 的数据包。例如,在使用不同的端口时,当你在 AP 上监听某个端口时,你将只接收来自其他设备发送到该端口的数据包,而不会接收来自你自己的站台发送的数据包。

2. 当你发送数据包时,你需要将目标地址设置为你想要发送到的目标地址。这可以是接收方的 IP 地址和端口号,也可以是本地网络中的广播地址。例如,如果你想在 AP 上的所有连接的设备上触发某个动作,你可以将目标地址设置为 IP 地址为 255.255.255.255,端口号为你在设备上监听的端口号,这样数据包将被广播到所有连接设备上。

关于你提到的错误,我建议你尝试检查代码,看看是否存在语法错误或其他问题,并尝试从一个简单的示例开始,逐步构建你的功能。可以查阅 ESP8266 的文档和示例,以获得更多细节和帮助。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分