【问题标题】:Broadcasting messages via UDP over esp8266通过 ESP8266 上的 UDP 广播消息
【发布时间】:2019-10-19 15:20:58
【问题描述】:

我正在连接 4 个 nodemcu (esp8266)。 1个esp8266用作接入点,其他连接到它。

当我通过 esp8266 作为接入点将 UDP 数据包作为广播消息发送到所有 esp8266 时,其他人不会收到它但是当我使用家庭路由器甚至移动热点作为接入点时,会收到广播消息由另一个 esp8266。 另外,我在此处发布了用于 UDP 的部分代码,因此您可能会看到一些变量未声明,但它们最初是声明的,并且当我将其与接入点连接时代码正在工作,即不是 esp8266

接入点代码: #包括

void setup()
{
Serial.begin(115200);
Serial.println();

Serial.print("Setting soft-AP ... ");
boolean result = WiFi.softAP("ssid", "password123456");
if(result == true)
{
Serial.println("Ready");
}
else
{
Serial.println("Failed!");
}
}

void loop()
{
Serial.printf("Stations connected = %d\n", 
WiFi.softAPgetStationNum());
delay(3000);
}

以广播形式发送UPD数据包的代码:

unsigned int localPort = 2000;
IPAddress SendIP(192,168,43,255);
setup()
{
udp.begin(localPort);
Serial.print("Local port: ");
Serial.println(udp.localPort());
}
loop()
{
udp.beginPacket(SendIP, 2000); 

udp.write("p"); 
udp.endPacket();
}

接收UDP数据包的代码:

void loop()
{


int packetSize = udp.parsePacket();
if(packetSize)
{
udp.read(packetBuffer,UDP_TX_PACKET_MAX_SIZE);
p = packetBuffer[0];
Serial.println(p);
function();


}

请告诉我使用 esp8266 作为接入点发送 UDP 数据包有什么问题。 如果 esp8266 不能用,请告诉我有什么其他的芯片可以做这个工作,我想做一个便携式系统,所以我不能使用路由器。

【问题讨论】:

    标签: arduino udp esp8266 nodemcu arduino-esp8266


    【解决方案1】:

    ESP8266路由器AP模式下默认IP地址为192.168.244.1
    尝试将发送地址更改为 192.168.244.255。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-12
      • 2014-03-12
      • 2012-09-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多