ESP-NOW: Acht belangrijke punten die je moet kennen

 

ESP-NOW is een draadloos communicatieprotocol dat speciaal is ontwikkeld voor de microcontrollers ESP8266 en ESP32. Het biedt een energiezuinige, veilige, betaalbare en eenvoudige draadloze communicatieoplossing voor ESP32-apparaten. Met ESP-NOW kunnen meerdere ESP32-apparaten met elkaar communiceren zonder wifi of routers, waardoor een mesh-netwerk van apparaten ontstaat.

 
 


Wat is ESP-NOW?

 

esp-now is een lichtgewicht communicatieprotocol dat is ontworpen voor een efficiënte en betrouwbare verbindingsloze communicatieoplossing. Het is ontworpen voor embedded apparaten en is bijzonder geschikt voor de ESP-chipfamilie van Espressif Systems.
 
esp-now maakt gebruik van bestaande wifi-hardware om directe communicatie tussen één-op-veel- en veel-op-veel-apparaten mogelijk te maken, zonder dat een router of ander tussenliggend apparaat nodig is.
 

Met ESP-NOW kunnen we unidirectionele of zelfs bidirectionele communicatie tussen ESP-microcontrollers tot stand brengen zonder dat er een wifi-netwerk nodig is. Het maakt draadloze point-to-point-gegevensoverdracht met lage overhead mogelijk, maar met kleinere pakketten. Er kan maximaal 250 bytes aan gegevens worden overgedragen. Als er dus een grote hoeveelheid gegevens moet worden verzonden, is dit protocol niet geschikt.
 

Met ESP-NOW wordt het verbindingsprotocol vereenvoudigd, waardoor het energieverbruik afneemt omdat er minder tijd nodig is voor gegevensoverdracht. Daarnaast gebruikt ESP-NOW dezelfde 2,4GHz-band als wifi, maar is er geen verbinding nodig en wordt de lokale netwerkverbinding niet verstoord. Het is een snel en handig communicatieprotocol voor het verzenden van kleinere hoeveelheden gegevens.
 

  

Werkingsprincipe van ESP-NOW

Het werkingsprincipe van esp-now is relatief eenvoudig: het is gebaseerd op de implementatie van de wifi-MAC-laag. Hieronder staat de werkstroom van esp-now:
  • Initialisatie: Initialiseer de esp-now-bibliotheek en configureer de rol van het apparaat (zender of ontvanger).
  • Koppelen: Voordat de communicatie kan beginnen, moeten de zender en ontvanger een koppelingsprocedure uitvoeren. Tijdens het koppelingsproces stuurt de zender zijn MAC-adres naar de ontvanger om een vertrouwensrelatie tot stand te brengen. 3.
  • Gegevens verzenden: De zender stuurt een pakket naar de ontvanger met behulp van de API van de esp-now-bibliotheek. Het pakket kan elk type gegevens bevatten, zoals netwerkinformatie, een firmware-upgradebestand of foutopsporingsinformatie.
  • Gegevens ontvangen: de ontvanger luistert naar het wifi-kanaal en ontvangt pakketten van de verzender. Zodra het pakket is ontvangen, activeert de ontvanger de callbackfunctie () om het te verwerken. 5.
  • Gegevens verwerken: de ontvanger verwerkt het ontvangen pakket via de callbackfunctie. Afhankelijk van het type pakket kan de ontvanger de bijbehorende bewerkingen uitvoeren, zoals het bijwerken van de netwerkconfiguratie, het uitvoeren van een firmware-upgrade of het uitvoeren van foutopsporing.
 

Kenmerken van ESP-NOW

esp-now heeft de volgende functies die het een voordeel geven bij grootschalige gegevensoverdracht:
  • Lage latentie: esp-now gebruikt wifi om rechtstreeks te communiceren zonder een router of andere tussenliggende apparaten, waardoor de overdrachtslatentie wordt verminderd.
  • Hoge betrouwbaarheid: esp-now maakt gebruik van het betrouwbare ARQ()-mechanisme (Automatic Retransmission Request) om een betrouwbare gegevensoverdracht te garanderen.
  • Laag energieverbruik: esp-now maakt gebruik van een energiezuinig ontwerp voor embedded apparaten om het energieverbruik te verlagen en tegelijkertijd de communicatiekwaliteit te behouden.
  • Flexibiliteit: esp-now ondersteunt verbinding en besturing van apparaten in een-op-veel- en veel-op-veel-configuraties, waardoor het aan de behoeften van verschillende toepassingsscenario's kan voldoen.
  • Gebruiksgemak: de gebruiksvriendelijke API van esp-now stelt ontwikkelaars in staat het protocol snel te integreren en te implementeren.
  • Een-op-een-gegevensoverdracht (versleuteld en niet-versleuteld).
  • Ondersteuning voor versleutelde en niet-versleutelde peerapparaten. Voor versleutelde apparaten zijn er maximaal 10 peers in de Workstation-modus en maximaal 6 peers in SoftAP of een combinatie van beide modi. Voor niet-versleutelde apparaten zijn echter maximaal 19 apparaten toegestaan, zonder beperking voor hun bedrijfsmodus.
  • Er kan maximaal 250 bytes aan gegevens worden verzonden in kleine pakketten.
  • Er wordt een callbackfunctie gegenereerd die de applicatielaag informeert of de gegevensoverdracht is geslaagd.
Om de ESP-NOW-verbinding te initialiseren, moeten we eerst de ESP32-kaarten koppelen. De verbinding blijft behouden na het opnieuw opstarten van een kaart en de overdracht gaat zonder problemen door.



Welke factoren beïnvloeden ESP-NOW?


Het bereik van ESP-NOW hangt af van verschillende factoren, waaronder het antenneontwerp, de configuratie en de gebruiksomgeving. Over het algemeen kan ESP-NOW een bereik tot 220 meter (772 voet) hebben; deze bereiken zijn echter bij benadering en kunnen sterk variëren afhankelijk van de omstandigheden.

Factoren die het ESP-NOW-bereik kunnen beïnvloeden zijn onder andere:
  • RF-interferentie: ESP-NOW werkt op de 2,4GHz-band, die wordt gedeeld met andere draadloze technologieën zoals Bluetooth en wifi. Dit betekent dat er interferentie kan optreden van andere apparaten die op dezelfde band werken.
  • Gebruiksomgeving: Het bereik van ESP-NOW kan worden beïnvloed door fysieke obstakels zoals muren, plafonds en vloeren, evenals door omgevingsfactoren zoals temperatuur, luchtvochtigheid en atmosferische druk.
  • Antenneontwerp: Het bereik van ESP-NOW kan worden beïnvloed door het type en ontwerp van de gebruikte antenne. Zo kan het gebruik van een richtantenne het bereik van ESP-NOW vergroten, terwijl het gebruik van een omnidirectionele antenne het bereik kan verkleinen.
 

Is ESP-NOW veilig?

Je kunt ESP-NOW-communicatie op verschillende manieren beveiligen om deze veilig en privé te houden:
  • Gegevens versleutelen: Gegevensversleuteling is een van de nuttigste manieren om ESP-NOW-communicatie te beveiligen. Je kunt de gegevens versleutelen met verschillende versleutelingsalgoritmen, zoals AES of RSA. Door de gegevens te versleutelen voorkom je dat iemand de verzonden gegevens onderschept en leest.
  • Beveiligingssleutels gebruiken: ESP-NOW ondersteunt het gebruik van beveiligingssleutels om verbindingen tussen apparaten te authenticeren en tot stand te brengen. Met beveiligingssleutels kun je ervoor zorgen dat alleen geautoriseerde apparaten met elkaar kunnen communiceren.
  • Gebruik beveiligde communicatieprotocollen: Als de beveiliging van je toepassing geavanceerdere beveiligingsmaatregelen vereist, kun je overwegen een ander communicatieprotocol te gebruiken, zoals wifi, dat ingebouwde ondersteuning biedt voor versleuteling en authenticatie.
  • Gebruik een afzonderlijke beveiligingslaag: In sommige gevallen kan het nuttig zijn om naast ESP-NOW een afzonderlijke beveiligingslaag te gebruiken voor extra beveiliging. Je kunt bijvoorbeeld een beveiligd tunnelingprotocol zoals HTTPS gebruiken om gegevens te beschermen die via ESP-NOW worden verzonden. Welke communicatietypen zijn beschikbaar met ESP-NOW?
 

ESP32 ESP-NOW-eenrichtingscommunicatie

Bij eenrichtingscommunicatie fungeert het ene peerapparaat als zender/master en het andere als ontvanger/slave. In dit geval zijn er meerdere configuraties voor de zender en ontvanger mogelijk.
  • Eén ESP32-kaart die gegevens naar een andere ESP32-kaart verstuurt
Zoals in de onderstaande afbeelding te zien is, fungeert één ESP32-kaart als zender en ontvangt de andere kaart gegevens, waardoor deze als ontvanger fungeert.
Toepassing: sensorgegevens verzenden en ESP-uitgangen aansturen, waaronder leds, relais, zoemers enzovoort.

  • Eén ESP32-zenderkaart die gegevens naar verschillende andere ESP32-ontvangerkaarten verstuurt
In dit geval fungeert één ESP32-bord als zender/master en verzendt het gegevens naar meerdere ESP32-borden die als ontvanger/slave fungeren.
Gebruik: afstandsbediening
  • Eén ESP32-bord ontvangt gegevens van verschillende andere ESP32-zenderborden
Ten slotte ontvangt in dit geval één ESP32-bord (ontvanger/slave) gegevens van meerdere ESP32-borden (zender/master).
Doel: sensorgegevens van verschillende sensoren ontvangen.

Of zelfs een netwerk van ESP32-borden opzetten om gegevens over te dragen:
 
 

Op welke gebieden kan ESP-NOW worden gebruikt?


ESP-NOW heeft een breed toepassingsgebied in verschillende toepassingsscenario's, vooral voor grootschalige gegevensoverdracht. Hieronder staan enkele veelvoorkomende toepassingsscenario's:
  • Netwerkconfiguratie: ESP-NOW kan worden gebruikt om netwerkconfiguratiegegevens snel over te dragen, zodat apparaten eenvoudig verbinding kunnen maken met een opgegeven wifi-netwerk.
  • Firmware-upgrade: via ESP-NOW kunnen apparaten firmware-upgradebestanden ontvangen en de upgrade vervolgens uitvoeren. Debugging en afstandsbediening: ESP-NOW kan worden gebruikt om het apparaat op afstand te debuggen en te bedienen, wat ontwikkelaars helpt bij het oplossen van problemen en het testen van functies.
  • Overdracht van sensorgegevens: ESP-NOW kan worden gebruikt om sensorgegevens, zoals temperatuur en luchtvochtigheid, over te dragen voor realtimebewaking en gegevensverzameling.
  • Slimme woningbesturing: ESP-NOW kan worden gebruikt voor communicatie en besturing tussen slimme huishoudelijke apparaten, zoals slimme lampen en slimme stopcontacten.
  • Industriële automatisering: ESP-NOW heeft veel potentieel voor industriële automatisering, voor realtimegegevensoverdracht en besturing tussen apparaten.

 

Misschien wilt u dit ook weten

Wat is de één-op-één-bitsnelheid voor ESP32 in de ESP-NOW-modus?

Testresultaat:
  • Wi-Fi-modus: station.
  • De PHY-snelheid is standaard 1 Mbps.
  • Ongeveer 214 Kbps in een open omgeving.
  • Ongeveer 555 Kbps in een afschermkast.
  • Als u een hogere snelheid nodig hebt, kunt u de snelheid configureren via esp_wifi_config_espnow_rate.

 

Kan wifi tegelijkertijd met ESP-NOW worden gebruikt?

Ja, maar houd er rekening mee dat het kanaal van ESP-NOW hetzelfde moet zijn als dat van het verbonden toegangspunt.

 

Hoe stel ik de snelheid in waarmee ESP-NOW-gegevens worden verzonden?

Je kunt de functie esp_wifi_config_espnow_rate() gebruiken om de snelheid te configureren, bijvoorbeeld esp_wifi_config_espnow_rate(WIFI_IF_STA, WIFI_ PHY_RATE_MCS0_LGI).

 

Met ESP-NOW kun je maximaal 20 apparaten koppelen. Is er een manier om meer apparaten te besturen?

Je kunt broadcastpakketten gebruiken en de bestemmingsadressen in de payload opnemen. Het aantal adressen wordt dan niet beperkt door het maximumaantal. Je hoeft alleen het juiste broadcastadres te configureren.

Raadpleeg de documentatie voor meer vragen:ESP-NOW


Is ESP-NOW beter dan wifi voor communicatie tussen ESP32-apparaten?

ESP-NOW is vaak een betere keuze voor rechtstreekse communicatie tussen ESP32-apparaten wanneer je een laag energieverbruik, lage latentie en geen afhankelijkheid van een router wilt. Het is echter niet ideaal voor grote gegevensoverdrachten of internetgebaseerde toepassingen.

Is voor ESP-NOW een wifi-router of internetverbinding vereist?

Nee. Met ESP-NOW kunnen ESP32-apparaten rechtstreeks met elkaar communiceren zonder wifi-router of internettoegang. Daardoor is het geschikt voor lokale draadloze besturing en sensornetwerken.

Wat is de belangrijkste beperking van ESP-NOW?

Een van de belangrijkste beperkingen is de pakketgrootte. ESP-NOW is ontworpen voor kleine, lichte berichten in plaats van grote gegevenspayloads en werkt daarom het best voor besturingssignalen, sensormetingen en korte statusupdates.

Kunnen ESP-NOW en wifi tegelijkertijd werken op de ESP32?

Ja, ze kunnen samenwerken, maar het wifi-kanaal moet correct worden geconfigureerd. In gemengde opstellingen is het belangrijk dat de kanalen op elkaar zijn afgestemd om de communicatie stabiel te houden.

Voor welke soorten projecten is ESP-NOW het meest geschikt?

ESP-NOW is zeer geschikt voor draadloze sensornodes, afstandsbedieningen, communicatie tussen smarthomeapparaten, eenvoudige automatiseringsverbindingen en energiezuinige ESP32-netwerken die snelle lokale gegevensuitwisseling nodig hebben.

3 reacties

hdt-avatar
Christophe Guichart

J’utilise espnow pour piloter des bandes leds ws2811 disposées sur le contour des fenêtres et au bord du toit, et des étoiles, suspendues au milieu des fenêtres, par l’intermédiaire de mosfet.
Un esp32 maître qui envoie des séquences de chiffres toutes les 10 secondes.6 esp32 esclaves, comportant des effets de lumière différents ( couleurs fixes, couleur avec étoiles, rainbow, chenillard…etc .
Il y a 30 séquences au total, qui font une animation pour les fêtes qui dure 5 minutes. Et tout fonctionne parfaitement !
Grâce à espnow, c’est rapide, et je peux étendre jusqu’à 20 esp32 esclaves, ce qui fait que, chaque année, je peux étendre un peu plus mon projet de deco des fêtes 🥳. L’esp32 maître est programmé pour Halloween, Noël, nouvel an et les deux jours de fête…et le tout fonctionne automatiquement avec NTP.

April 2, 2026 at 23:06pm
hdt-avatar
Christophe Guichart

J’utilise espnow pour piloter des bandes leds ws2811 disposées sur le contour des fenêtres et au bord du toit, et des étoiles, suspendues au milieu des fenêtres, par l’intermédiaire de mosfet.
Un esp32 maître qui envoie des séquences de chiffres toutes les 10 secondes.6 esp32 esclaves, comportant des effets de lumière différents ( couleurs fixes, couleur avec étoiles, rainbow, chenillard…etc )et en recevant les séquences du maître, changent les effets . Et 2 esp8266 qui pilote des mosfets afin d’allumer ou d’éteindre soit directement soit en fondu, les étoiles .
Il y a 30 séquences au total, qui font une animation pour les fêtes qui dure 5 minutes. Et tout fonctionne parfaitement !
Grâce à espnow, c’est rapide, et je peux étendre jusqu’à 20 esp32 esclaves, ce qui fait que, chaque année, je peux étendre un peu plus mon projet de deco des fêtes 🥳. L’esp32 maître est programmé pour Halloween, Noël, nouvel an et les deux jours de fête…et le tout fonctionne automatiquement avec NTP.

March 31, 2026 at 21:55pm
hdt-avatar
Armand Djonga Chedjui Djonga

L’esp32 est une technologie qui me pationne

July 5, 2025 at 22:58pm

Plaats een opmerking

Je e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd met *

Schrijf je in voor onze nieuwsbrief

Ontvang de nieuwste informatie over onze producten en speciale aanbiedingen.

Website Feedback

Help us improve OpenELAB

Found a website issue or have an idea? Tell us what would make your experience better.