Liste der Anhänge anzeigen (Anzahl: 1)
Ich habe es jetzt mal ausprobiert.
Ich habe dabei auf eine Netzwerkadresse direkt gesendet xxx.xxx.x.1 und auf Broadcast xxx.xxx.x.255. Als Testtool habe ich Packet Sender installiert. UDP-Adresse 58817.
Beim Deep Sleep habe ich einen Wert von 128 eingesetzt. Das sind Abstände von ca. 6 Sekunden in denen er schläft, aufwacht (Reset) und Paket sendet.
Die Pause vor einem Deep Sleep habe ich mit "delay(5000)" gemacht.
Jedes Paket kommt an.
Das Versenden der Pakete dauert durchaus, mit Anmelden am Netzwerk, ein paar Sekunden. Geht das nodeMCU zu schnell in Deep Sleep, wird kein Paket versendet.
Ich habe auch ein nodeMCU, das rumspinnt, weil es ständig Ausnahmefehler produziert und also immer neu startet. Ich habe dann ein anderes nodeMCU genommen, gleiche Sorte (hatte 5 bestellt), das funktioniert scheints einwandfrei.
Jedenfalls, bei diesem ersten Test jetzt kann ich nicht erkennen, dass nichts ankommt, das Gegenteil ist der Fall.
Ich habe die FritzBox Cable 6360.
Ich habe die Sleep-Zeit auf ca. 1min verlängert:
Anhang 33925
Ich sehe, ob alle Pakete ankommen, weil ich immer nur ein Paket verschicke. Nicht mit mehreren Versuchen (zig Pakete bis eins ankommt).
MfG
PS:
Code:
#include <ESP8266WiFi.h>
#include <WiFiUDP.h>
#define PORT 50000 //ab 50000 ist mir sicherer, habe ich irgendwann mal ausspioniert, untenrum muss man bei Portnummern ggf. mit Kollisionen anderer Programme rechnen
WiFiUDP udpServer;
const char* ssid = "xxxxxxx"; //SSID WLAN Netz
const char* password = "xxxxxxxxxxxxxxxxxxxxxxx"; //Passwort des WLAN Netzes
const char* ziel = "192.168.0.255"; //Empfänger Broadcast-Adresse xxx.xxx.x.255 !
void setup() {
Serial.begin(115200);
delay(10);
Serial.println();
Serial.println();
Serial.print("Verbinde mich mit Netz: ");
Serial.println(ssid);
WiFi.begin(ssid, password);
WiFi.config(IPAddress(192,168,0,xx), IPAddress(192,168,0,x), IPAddress(255,255,255,0), IPAddress(192,168,0,x));
//richtige Konfiguration - 192,168,0,x : IP-Adresse der FritzBox
//und 192,168,0,xx : IP-Adresse dieses nodeMCU
//255,255,255,0 : Subnetzmaske
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.println("WiFi Verbindung aufgebaut");
Serial.print("Eigene IP des ESP-Modul: ");
Serial.println(WiFi.localIP());
// UDP Server starten
udpServer.begin(PORT);
delay(500);
if(udpServer.beginPacket(ziel, 58817)==1)Serial.println("beginPacket - ok"); //Zielport muss natürlich stimmen, nicht irgendwo hin schicken - ziel ist hier Broadcast-Addresse (s.o.)
//Port: >50000
udpServer.write("Hallo");
udpServer.endPacket();
}
void loop() {
delay(5000); //extremst wichtig - UDP-Paket muss erst sicher versendet sein!
ESP.deepSleep(60*1000000);
}