Doorgaan naar artikel

+49 1626571232

info@openelab.io

🚀Gratis verzending vanaf 50€ in de EU / 80€ wereldwijd

Leren

ESP-NOW: Acht Punten Die Je Moet Weten

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

Wat is ESP-NOW?

 
esp-now is een lichtgewicht communicatieprotocol dat is ontworpen om een ​​efficiënte en betrouwbare verbindingsloze communicatieoplossing te bieden. Het is ontworpen voor embedded apparaten en is met name geschikt voor de ESP-chipsfamilie van Espressif Systems.
 
esp-now maakt gebruik van bestaande Wi-Fi-hardware om directe communicatie tussen één-op-veel- en veel-op-veel-apparaten mogelijk te maken, zonder dat er een router of ander tussenapparaat nodig is.
 
Met ESP-NOW kunnen we unidirectionele of zelfs bidirectionele communicatie tussen ESP MCU-apparaten hebben zonder dat er een Wi-Fi-netwerk nodig is. Het maakt point-to-point draadloze gegevensoverdracht met lage overheadkosten mogelijk, maar met kleinere pakketten. Er kunnen maximaal 250 bytes aan gegevens worden overgedragen. Als er een grote hoeveelheid gegevens moet worden verzonden, is het gebruik van dit protocol daarom niet nuttig.
 
Met ESP-NOW wordt het verbindingsprotocol vereenvoudigd, wat het stroomverbruik vermindert omdat er minder tijd nodig is voor de gegevensoverdracht. Bovendien gebruikt ESP-NOW dezelfde 2,4 GHz-band als Wi-Fi, maar vereist geen verbinding of interfereert met de lokale netwerkverbinding. Het is een snel en handig communicatieprotocol voor het verzenden van kleinere hoeveelheden gegevens.
 

  

Werking van ESP-NOW

Het werkingsprincipe van esp-now is relatief eenvoudig, het is gebaseerd op de MAC-laagimplementatie van Wi-Fi. Het volgende is de workflow van esp-now:
  • Initialisatie: Initialiseer de esp-now-bibliotheek en configureer de rol van het apparaat (afzender of ontvanger).
  • Koppelen: Vóór de communicatie moeten de zender en de ontvanger een koppelingsbewerking uitvoeren. Tijdens het koppelingsproces stuurt de afzender zijn MAC-adres naar de ontvanger om een ​​vertrouwensrelatie op te bouwen. 3.
  • Gegevens verzenden: de afzender verzendt een pakket naar de ontvanger met behulp van de API van de esp-now-bibliotheek. Het pakket kan elk type gegevens bevatten, zoals netwerkconfiguratie-informatie, een firmware-upgradebestand of foutopsporingsinformatie.
  • Gegevens ontvangen: de ontvanger luistert naar het Wi-Fi-kanaal en ontvangt pakketten van de afzender. Zodra het pakket is ontvangen, activeert de ontvanger de callback-functie () om het te verwerken. 5.
  • Gegevens verwerken: De ontvanger verwerkt het ontvangen pakket via de callback-functie. Afhankelijk van het type pakket kan de ontvanger overeenkomstige 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 kenmerken die het een voordeel geven bij grootschalige datatransmissie:
  • Lage latentie: esp-now maakt gebruik van Wi-Fi om rechtstreeks te communiceren zonder tussenkomst van een router of andere tussenliggende apparaten, waardoor de transmissielatentie wordt verminderd.
  • Hoge betrouwbaarheid: esp-now maakt gebruik van het betrouwbare ARQ()-mechanisme (Automatic Retransmission Request) om betrouwbare gegevensoverdracht te garanderen.
  • Laag stroomverbruik: esp-now maakt gebruik van een energiezuinig ontwerp voor ingebedde apparaten om het energieverbruik te verminderen met behoud van de communicatiekwaliteit.
  • Flexibiliteit: esp-now ondersteunt één-op-veel- en veel-op-veel-apparaatverbinding en -besturing, die aan de behoeften van verschillende toepassingsscenario's kunnen voldoen.
  • Gebruiksgemak: dankzij de eenvoudig te gebruiken API van esp-now kunnen ontwikkelaars het protocol snel integreren en implementeren.
  • Eén-op-één gegevensoverdracht (gecodeerd en niet-gecodeerd).
  • Ondersteuning voor gecodeerde en niet-gecodeerde peer-apparaten. Voor gecodeerde apparaten zijn er maximaal 10 peers in de werkstationmodus en maximaal 6 peers in SoftAP of een combinatie van beide modi. Voor niet-versleutelde apparaten zijn echter maximaal 19 apparaten toegestaan, zonder beperking op de werkingsmodus.
  • Er kunnen maximaal 250 bytes aan gegevens in kleine pakketjes worden verzonden.
  • Het genereert een callback-functie die de applicatielaag informeert of de gegevensoverdracht succesvol was.
Om de ESP-NOW-verbinding te initialiseren, moeten we eerst de ESP32-kaarten koppelen. De verbinding blijft behouden, ongeacht het opnieuw opstarten van het bord, en de overdracht gaat zonder problemen door.

 

Welke factoren beïnvloeden ESP-NOW?

Het bereik van ESP-NOW is afhankelijk van een aantal factoren, waaronder het ontwerp en de configuratie van de antenne en de gebruiksomgeving. Over het algemeen kan ESP-NOW een bereik hebben van maximaal 220 meter (772 voet); Deze bereiken zijn echter bij benadering en kunnen sterk variëren, afhankelijk van de omstandigheden.
Factoren die van invloed kunnen zijn op het ESP-NOW-bereik zijn onder meer:
  • RF-interferentie: ESP-NOW werkt in de 2,4 GHz-band, die wordt gedeeld met andere draadloze technologieën zoals Bluetooth en WiFi. Dit betekent dat er mogelijk interferentie is van andere apparaten die in dezelfde band werken.
  • Bedrijfsomgeving: Het bereik van de ESP-NOW kan worden beïnvloed door fysieke barrières zoals muren, plafonds en vloeren, evenals 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 de ESP-NOW vergroten, terwijl het gebruik van een omnidirectionele antenne het bereik kan verkleinen.
 

Is ESP-NOW veilig?

U kunt ESP-NOW-communicatie op een aantal manieren beveiligen om ze veilig en privé te houden:
  • Gegevens coderen: Het coderen van gegevens is een van de handigste manieren om ESP-NOW-communicatie te beveiligen. U kunt de gegevens versleutelen met behulp van verschillende versleutelingsalgoritmen, zoals AES of RSA. Door de gegevens te versleutelen, wordt voorkomen dat iemand de verzonden gegevens onderschept en leest.
  • Beveiligingssleutels gebruiken: ESP-NOW ondersteunt het gebruik van beveiligingssleutels om verbindingen tussen apparaten te verifiëren en tot stand te brengen. Door beveiligingssleutels te gebruiken, kunt u ervoor zorgen dat alleen geautoriseerde apparaten met elkaar kunnen communiceren.
  • Gebruik veilige communicatieprotocollen: Als de beveiliging van uw applicatie meer geavanceerde beveiligingsmaatregelen vereist, kunt u overwegen een ander communicatieprotocol te gebruiken, zoals WiFi, dat ingebouwde ondersteuning biedt voor codering en authenticatie.
  • Gebruik een aparte beveiligingslaag: In sommige gevallen kan het handig zijn om bovenop ESP-NOW een aparte beveiligingslaag te gebruiken om extra beveiliging te bieden. U kunt bijvoorbeeld een veilig tunnelprotocol, zoals HTTPS, gebruiken om gegevens die via ESP-NOW worden verzonden te beschermen. Welke soorten communicatie zijn beschikbaar met ESP-NOW?
 

ESP32 ESP-NOW Eenzijdige Communicatie

Bij eenrichtingscommunicatie fungeert het ene peer-apparaat als zender/master en het andere als ontvanger/slave. In dit geval kunnen we meerdere configuraties hebben voor de zender-ontvanger.
  • Eén ESP32-bord verzendt gegevens naar een ander ESP32-bord
Zoals weergegeven in de onderstaande afbeelding fungeert het ene ESP32-bord als zender en ontvangt het andere bord gegevens en fungeert daarom als ontvanger.
Gebruik: het verzenden van sensorgegevens, het besturen van ESP-uitgangen, inclusief LED's, relais, zoemers, enz.

  • Eén ESP32-zenderbord dat gegevens naar verschillende andere ESP32-ontvangerkaarten verzendt
In dit geval zal één ESP32-kaart fungeren als zender/master en gegevens verzenden naar meerdere ESP32-kaarten die fungeren als ontvanger/slave-apparaten.
Gebruik: Afstandsbediening
  • Eén ESP32-bord ontvangt gegevens van verschillende andere ESP32-zenderborden
Ten slotte ontvangt in dit geval één ESP32-kaart (ontvanger/slave) gegevens van meerdere ESP32-kaarten (zender/master).
Doel: Het ontvangen van sensorgegevens van verschillende sensoren.

Of heb zelfs een netwerk van ESP32-kaarten om gegevens over te dragen:
 
 

In welke gebieden kan ESP-NOW worden gebruikt?

ESP-NOW heeft een breed scala aan toepassingen in verschillende toepassingsscenario's, vooral bij grootschalige gegevensoverdracht. Hieronder volgen enkele veelvoorkomende toepassingsscenario's:
  • Netwerkconfiguratie: esp-now kan worden gebruikt om snel netwerkconfiguratie-informatie over te dragen, zodat apparaten eenvoudig verbinding kunnen maken met een opgegeven Wi-Fi-netwerk.
  • Firmware-upgrade: via esp-now kunnen apparaten firmware-upgradebestanden ontvangen en de upgrade-bewerking dienovereenkomstig uitvoeren - Foutopsporing en bediening op afstand: esp-now kan worden gebruikt om het apparaat op afstand te debuggen en te besturen, wat handig is voor ontwikkelaars om probleemoplossing uit te voeren en functie testen.
  • Transmissie van sensorgegevens: esp-now kan worden gebruikt om sensorgegevens te verzenden, zoals temperatuur, vochtigheid, enz., om realtime monitoring en gegevensverzameling uit te voeren.
  • Smart Home Control: esp-now kan worden gebruikt voor communicatie en bediening tussen smart home-apparaten, zoals slimme lampen, slimme stopcontacten, enz.
  • Industriële automatisering: esp-now heeft potentieel op het gebied van industriële automatisering voor realtime gegevensoverdracht en besturing tussen apparaten.

 

Je wilt misschien ook vragen

Wat is de één-op-één bitsnelheid voor ESP32 in 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 beschermdoos.
  • Als u een hogere snelheid nodig hebt, kunt u deze configureren via esp_wifi_config_espnow_rate.
 

Kan Wi-Fi tegelijkertijd met ESP-NOW worden gebruikt?

Ja, maar let op: het kanaal van ESP-NOW moet hetzelfde zijn als dat van het aangesloten AP.
 

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

U 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) .
 

ESP-NOW maakt koppeling met maximaal 20 apparaten mogelijk. Is er een manier om meer apparaten te bedienen?

U kunt broadcastpakketten gebruiken en de bestemmingsadressen in de payload opgeven. Het aantal adressen wordt dan niet beïnvloed door het beperkte aantal. U hoeft alleen het juiste broadcastadres te configureren.
Zie de documentatie voor meer vragen: ESP-NOW

 

Vorig bericht
Volgende bericht

laat een reactie achter

Alle blogreacties worden vóór publicatie gecontroleerd

Iemand heeft onlangs een gekocht

Bedankt voor het abonneren!

Deze e-mail is geregistreerd!

Shop de look

Kies opties

Bewerk optie
Terug op voorraad melding
this is just a warning
Log in
Winkelmand
0 artikelen
RuffRuff App RuffRuff App by Tsun