Test van een WiFi mesh netwerk met ESP32 devices

Opzet van dit onderzoek

Het doel van deze test was het onderzoeken van beschikbare API's voor het opzetten van een WiFi mesh netwerk met een ESP32 microcontroller. Vervolgens werd gemeten hoe snel data een mesh knooppunt bereikt en terug wordt gezonden.

Veel van de geteste API's leverden teleurstellende resultaten op, met een gemiddelde netwerkvertraging van 100 ms per knooppunt. Echter, één API, die gebaseerd is op FreeRTOS, voldeed aan de verwachtingen en slaagde erin om met vertragingen van slechts 5 tot 10 ms te werken, en dat zonder het gebruik van een TCP-achtig bevestigingsprotocol.

In de volgende tabel worden de resultaten gepresenteerd waarbij de microcontrollers zich in dezelfde ruimte bevonden:

34:85:18:a9:aa:98: hops: 1, mean: 6.69, stdev: 4.66, min: 4.00, max: 40.00

34:85:18:ab:3e:7c: hops: 1, mean: 6.81, stdev: 4.26, min: 3.00, max: 22.00

34:85:18:aa:fd:dc: hops: 2, mean: 10.37, stdev: 4.68, min: 6.00, max: 30.00

34:85:18:aa:39:3c: hops: 2, mean: 10.68, stdev: 7.33, min: 6.00, max: 62.00

34:85:18:aa:dd:44: hops: 2, mean: 13.22, stdev: 7.88, min: 6.00, max: 56.00

34:85:18:a9:d4:dc: hops: 2, mean: 11.08, stdev: 6.55, min: 6.00, max: 52.00

34:85:18:ab:31:44: hops: 3, mean: 14.09, stdev: 5.59, min: 9.00, max: 33.00

34:85:18:ab:43:9c: hops: 3, mean: 14.51, stdev: 7.18, min: 9.00, max: 52.00

34:85:18:ab:3d:30: hops: 3, mean: 20.59, stdev: 14.55, min: 10.00, max: 93.00

34:85:18:a9:be:cc: hops: 3, mean: 13.98, stdev: 5.13, min: 9.00, max: 30.00

34:85:18:aa:c2:d0: hops: 3, mean: 14.88, stdev: 6.35, min: 8.00, max: 33.00

De reactietijden, uitgedrukt in milliseconden, werden gemeten in de controller die verbonden is met de PC.
Wanneer de apparaten zich in verschillende ruimtes bevinden, verspreid over een appartementsgebouw met drie verdiepingen, nemen de maximale reactietijden toe. Echter, de gemiddelde waarden blijven bevredigend.
Deze variatie kan effectief aangepakt worden door een extra protocol laag toe te voegen. Dit protocol zorgt ervoor dat datapakketten na een korte vertraging opnieuw verzonden worden, wat de betrouwbaarheid van de verbinding verbetert.
Er zijn testen gedaan met de ESP32, ESP32-S3 en de ESP32-C3, met dezelfde resultaten.

Enkele foto's