Gast
#5437829
Moin, ich lasse hier zwei ESP8266 mittels ESP-Now (802.11 Vendor Action Frames; also ohne AP, IP usw.) kommunizieren. Das klappt soweit auch ganz gut, aber nun versuche ich eine automatische Discovery-Funktion einzubauen. Dazu möchte ich regelmäßig einen Frame an die Broadcast-MAC (ff:ff:ff:ff:ff:ff) senden. Das geht auch, ohne dass die API einen Fehler meldet, aber der Frame kommt auf dem anderen ESP8266 nicht an. Je nachdem, wo man in der Doku von Espressif liest, wird broadcasting unterstützt oder auch nicht. Laut Changelog sollte ab dem SDK 2.1 aber Broadcasting möglich sein. Hat sich damit zufällig schon mal jemand auseinandergesetzt? Es gibt Workarounds, die z.B. einen AP aufspannen, damit sich die ESPs gegenseitig finden können, aber das ist irgendwie am Ziel vorbei, wie ich finde. Ein ähnliches Workaround habe ich wie folgt getestet: Ich weise den AP Interfaces der ESPs die MAC fe:ff:ff:ff:ff:ff zu (das e, weil Multicast-MACs vom SDK abgewiesen werden; siehe https://en.wikipedia.org/wiki/MAC_address#Unicast_vs._multicast). Die STA Interfaces bleiben bei ihrer pro Chip einzigartigen MAC-Adresse. Damit kann ich dann sowohl direkte Frames senden, als auch "an alle", aber leider nicht besonders gut. Viele Pakete werfen Sendefehler und kommen auch nicht an. Das mehrfache Vergeben von fe:ff:ff:ff:ff:ff ist eben wohl doch nicht so gesund.