Трансляция сообщений через UDP через esp8266 - PullRequest
0 голосов
/ 04 июня 2019

Я подключаю 4 nodemcu (esp8266). 1 esp8266 используется в качестве точки доступа, а другие подключены к ней.

Когда я отправляю UDP-пакеты как широковещательное сообщение всем esp8266 через esp8266 в качестве точки доступа, другие не получают его, однако, когда я использую домашний маршрутизатор или даже мобильную точку доступа в качестве точки доступа, широковещательные сообщения принимаются другим esp8266. Кроме того, я разместил здесь часть своего кода, который используется для UDP, поэтому могут быть некоторые переменные, которые вы увидите как необъявленные, но они первоначально объявлены, и код работает, когда я соединяю его с точкой доступа, которая является не esp8266

Код для точки доступа: #include

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 не может быть использован, скажите, пожалуйста, какой-нибудь другой чип, который может работать, я хочу сделать портативную систему, чтобы я не мог использовать маршрутизатор.

1 Ответ

0 голосов
/ 27 июня 2019

IP-адрес по умолчанию для маршрутизатора ESP8266 в режиме AP: 192.168.244.1 .
Попробуйте изменить адрес отправки на 192.168.244.255.

...