Wat is ESP-NOW?

Werkingsprincipe 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
-
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.
Welke factoren beïnvloeden ESP-NOW?
-
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?
-
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
-
Eén ESP32-kaart die gegevens naar een andere ESP32-kaart verstuurt

-
Eén ESP32-zenderkaart die gegevens naar verschillende andere ESP32-ontvangerkaarten verstuurt

-
Eén ESP32-bord ontvangt gegevens van verschillende andere ESP32-zenderborden


Op welke gebieden kan ESP-NOW worden gebruikt?
-
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?
-
Testbord: ESP32-DevKitC V4.
-
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?
Hoe stel ik de snelheid in waarmee ESP-NOW-gegevens worden verzonden?
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?
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
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.
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.
Armand Djonga Chedjui Djonga
L’esp32 est une technologie qui me pationne