Я пытаюсь отправить пакет udp с сервера python на клиент arduino по широковещательному IP-адресу ('255.255.255.255'). Сервер python отправляет пакет нормально, но arduino вообще не может получить пакет даже после отключениябрандмауэр Windows
код сервера:
server = socket(AF_INET, SOCK_DGRAM)
server.setsockopt(SOL_SOCKET, SO_REUSEADDR, 1)
server.setsockopt(SOL_SOCKET, SO_BROADCAST, 1)
server.bind(('', 8090))
while True:
# sending a messgae to client port with broadcast IP
message = str.encode("12000")
server.sendto(message, ('<broadcast>', 8090))
print("Sent packet with message: ", message)
time.sleep(1)
content, addr = server.recvfrom(1024)
sender_port = int(content.decode())
print("sender port: ", sender_port)
IP, port = addr
print("from: ", IP, port)
/////Arduino code:
const char* ssid = "";
const char* password = "";
int port = 8090;
char packetBuffer[255];
WiFiUDP udp;
void setup()
{
Serial.begin(115200);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(2000);
Serial.println("...");
}
udp.begin(port);
Serial.print("WiFi connected with IP: ");
Serial.println(WiFi.localIP());
}
void loop()
{
int packetSize = udp.parsePacket();
Serial.println(packetSize);
if (packetSize) {
int len = udp.read(packetBuffer, 255);
Serial.println("packet recieved");
if (len > 0) {
packetBuffer[len] = '\0';
}
Serial.println("Server IP address is ");
IPAddress remoteIp = udp.remoteIP();
Serial.println(remoteIp);
размер полученного пакета равен 0, и он должен иметь размер и содержимое