ESP-NOW: Otte punkter du skal kende

ESP-NOW er en trådløs kommunikationsprotokol udviklet specifikt til sine ESP8266 og ESP32 mikrocontrollere. Den tilbyder en lav-energi, sikker, lavpris og enkel trådløs kommunikationsløsning til ESP32-enheder. Med ESP-NOW kan flere ESP32-enheder kommunikere med hinanden uden behov for WiFi eller routere, hvilket skaber et mesh-netværk af enheder.
 
 

Hvad er ESP-NOW?

 
esp-now er en letvægts kommunikationsprotokol designet til at levere en effektiv og pålidelig forbindelsesløs kommunikationsløsning. Den er designet til indlejrede enheder og er særligt velegnet til Espressif Systems' ESP-familie af chips.
 
esp-now udnytter eksisterende Wi-Fi-hardware til at give direkte kommunikation mellem en-til-mange og mange-til-mange enheder uden behov for at gå gennem en router eller anden mellemliggende enhed.
 
Med ESP-NOW kan vi have ensrettet eller endda tovejskommunikation mellem ESP MCU-enheder uden behov for et Wi-Fi-netværk. Det tillader lav-overhead punkt-til-punkt trådløs dataoverførsel, men med mindre pakker. Op til 250 bytes data kan overføres. Derfor, hvis en stor mængde data skal transmitteres, er det ikke nyttigt at bruge denne protokol.
 
Med ESP-NOW er forbindelsesprotokollen forenklet, hvilket reducerer strømforbruget, fordi der kræves mindre tid til dataoverførsel. Derudover bruger ESP-NOW det samme 2,4 GHz bånd som Wi-Fi, men kræver ikke en forbindelse eller forstyrrer den lokale netværksforbindelse. Det er en hurtig og bekvem kommunikationsprotokol til overførsel af mindre mængder data.
 

  

Arbejdsgang for ESP-NOW

Arbejdsgangen for esp-now er relativt simpel, den er baseret på MAC-lagsimplementeringen af Wi-Fi. Følgende er arbejdsgangen for esp-now:
  • Initialisering: Initialiser esp-now biblioteket og konfigurer enhedens rolle (afsender eller modtager).
  • Parring: Før kommunikation skal afsender og modtager udføre parringsoperation. Under parringsprocessen sender afsenderen sin MAC-adresse til modtageren for at etablere et tillidsforhold. 3.
  • Send data: Afsenderen sender en pakke til modtageren ved hjælp af API'en leveret af esp-now biblioteket. Pakken kan være enhver type data, såsom netværkskonfigurationsinformation, firmwareopgraderingsfil eller fejlfindinginformation.
  • Modtag data: Modtageren lytter til Wi-Fi-kanalen og modtager pakker fra afsenderen. Når pakken er modtaget, vil modtageren udløse callback-funktionen () for at behandle den. 5.
  • Behandling af data: Modtageren behandler den modtagne pakke gennem callback-funktionen. Afhængigt af pakkens type kan modtageren udføre tilsvarende operationer, såsom opdatering af netværkskonfiguration, udførelse af firmwareopgradering eller fejlfinding.
 

Karakteristika for ESP-NOW

esp-now har følgende funktioner, der giver det en fordel ved storskala dataoverførsel:
  • Lav latenstid: esp-now bruger Wi-Fi til at kommunikere direkte uden at gå gennem en router eller andre mellemliggende enheder, hvilket reducerer overførselslatenstiden.
  • Høj pålidelighed: esp-now anvender den pålidelige ARQ() (Automatic Retransmission Request) mekanisme for at sikre pålidelig dataoverførsel.
  • Lavt strømforbrug: esp-now anvender et lavt strømforbrug design til indlejrede enheder for at reducere energiforbruget samtidig med at kommunikationskvaliteten opretholdes.
  • Fleksibilitet: esp-now understøtter en-til-mange og mange-til-mange enhedsforbindelser og -kontrol, hvilket kan opfylde behovene i forskellige anvendelsesscenarier.
  • Brugervenlighed: esp-now's brugervenlige API gør det muligt for udviklere hurtigt at integrere og implementere protokollen.
  • En-til-en dataoverførsel (krypteret og ukrypteret).
  • Understøttelse af krypterede og ukrypterede peer-enheder. For krypterede enheder er der op til 10 peers i Workstation-tilstand og op til 6 peers i SoftAP eller en blanding af begge tilstande. For ukrypterede enheder er der dog tilladt maksimalt 19 enheder uden begrænsning på deres driftsmåde.
  • Der kan transmitteres op til 250 bytes data i små pakker.
  • Den genererer en callback-funktion, der informerer applikationslaget om, hvorvidt dataoverførslen var succesfuld.
For at initialisere ESP-NOW-forbindelsen skal vi først parre ESP32-boardene. Forbindelsen forbliver uanset eventuelle genstarter af boardet, og overførslen fortsætter uden problemer.

 

Hvilke faktorer påvirker ESP-NOW?

Rækkevidden for ESP-NOW afhænger af flere faktorer, herunder antennedesign og konfiguration samt driftsmiljø. Generelt kan ESP-NOW have en rækkevidde på op til 220 meter (772 fod); disse rækkevidder er dog omtrentlige og kan variere meget afhængigt af omstændighederne.
Faktorer, der kan påvirke ESP-NOW's rækkevidde, inkluderer:
  • RF-forstyrrelser: ESP-NOW opererer i 2,4 GHz-båndet, som deles med andre trådløse teknologier som Bluetooth og WiFi. Det betyder, at der kan forekomme forstyrrelser fra andre enheder, der opererer i samme bånd.
  • Driftsmiljø: Rækkevidden for ESP-NOW kan påvirkes af fysiske barrierer som vægge, lofter og gulve samt miljøfaktorer som temperatur, fugtighed og atmosfærisk tryk.
  • Antenne Design: Rækkevidden for ESP-NOW kan påvirkes af typen og designet af den anvendte antenne. For eksempel kan brugen af en retningsbestemt antenne øge rækkevidden for ESP-NOW, mens brugen af en omni-retningsbestemt antenne kan mindske rækkevidden.
 

Er ESP-NOW sikkert?

Du kan sikre ESP-NOW-kommunikation på flere måder for at holde den sikker og privat:
  • Kryptering af data: Kryptering af data er en af de mest nyttige måder at sikre ESP-NOW-kommunikation på. Du kan kryptere dataene ved hjælp af forskellige krypteringsalgoritmer, såsom AES eller RSA. Kryptering af data vil forhindre, at nogen opsnapper og læser de transmitterede data.
  • Brug af sikkerhedsnøgler: ESP-NOW understøtter brugen af sikkerhedsnøgler til at autentificere og etablere forbindelser mellem enheder. Ved at bruge sikkerhedsnøgler kan du sikre, at kun autoriserede enheder kan kommunikere med hinanden.
  • Brug sikre kommunikationsprotokoller: Hvis sikkerheden i din applikation kræver mere avancerede sikkerhedsforanstaltninger, kan du overveje at bruge en anden kommunikationsprotokol, såsom WiFi, som har indbygget understøttelse af kryptering og autentificering.
  • Brug et separat sikkerhedslag: I nogle tilfælde kan det være nyttigt at bruge et separat sikkerhedslag oven på ESP-NOW for at give ekstra sikkerhed. For eksempel kan du bruge en sikker tunneling-protokol, såsom HTTPS, til at beskytte data, der sendes over ESP-NOW.Hvilke typer kommunikation er tilgængelige med ESP-NOW?
 

ESP32 ESP-NOW envejs kommunikation

I envejs kommunikation fungerer en peer-enhed som sender/master, og den anden som modtager/slave. I dette tilfælde kan vi have flere konfigurationer for sender-modtager.
  • Et ESP32-kort sender data til et andet ESP32-kort
Som vist på figuren nedenfor fungerer et ESP32-kort som sender, og det andet kort modtager data og fungerer derfor som modtager.
Anvendelse: Afsendelse af sensordata, styring af ESP-udgange, herunder LED'er, relæer, summer osv.

  • Et ESP32 senderboard sender data til forskellige andre ESP32 modtagerboards
I dette tilfælde vil et ESP32 board fungere som sender/master og sende data til flere ESP32 boards, der fungerer som modtager/slave enheder.
Brug: Fjernkontrol
  • Et ESP32 board modtager data fra forskellige andre ESP32 senderboards
Endelig, i dette tilfælde modtager et ESP32 board (modtager/slave) data fra flere ESP32 boards (sender/master).
Formål: At modtage sensordata fra forskellige sensorer.

Eller endda have et netværk af ESP32 boards til at overføre data:
 
 

I hvilke områder kan ESP-NOW bruges?

ESP-NOW har et bredt anvendelsesområde i forskellige applikationsscenarier, især ved storskala dataoverførsel. Følgende er nogle almindelige anvendelsesscenarier:
  • Netværkskonfiguration: esp-now kan bruges til hurtigt at overføre netværkskonfigurationsoplysninger, så enheder nemt kan oprette forbindelse til et specificeret Wi-Fi-netværk.
  • Firmwareopgradering: Gennem esp-now kan enheder modtage firmwareopgraderingsfiler og udføre opgraderingsoperationen tilsvarende - Fejlfinding og fjernkontrol: esp-now kan bruges til fjernfejlfinding og kontrol af enheden, hvilket er praktisk for udviklere til fejlsøgning og funktionstest.
  • Sensor dataoverførsel: esp-now kan bruges til at overføre sensordata, såsom temperatur, fugtighed osv., for at udføre realtids overvågning og dataindsamling.
  • Smart hjemmekontrol: esp-now kan bruges til kommunikation og kontrol mellem smarte hjemmeenheder, såsom smarte pærer, smarte stik, osv.
  • Industriel automatisering: esp-now har potentiale inden for industriel automatisering til realtidsdataoverførsel og kontrol mellem enheder.

 

Du vil måske også spørge om

Hvad er én-til-én bitraten for ESP32 i ESP-NOW-tilstand?

Testresultat:
  • Testboard: ESP32-DevKitC V4.
  • Wi-Fi-tilstand: station.
  • PHY-hastigheden er som standard 1 Mbps.
  • Omkring 214 Kbps i et åbent miljø.
  • Omkring 555 Kbps i en afskærmningsboks.
  • Hvis du har brug for en højere hastighed, er det muligt at konfigurere hastigheden via esp_wifi_config_espnow_rate.
 

Kan Wi-Fi bruges samtidig med ESP-NOW?

Ja, men det skal bemærkes, at kanalen for ESP-NOW skal være den samme som den tilsluttede AP's kanal.
 

Hvordan sætter jeg hastigheden, hvormed ESP-NOW-data sendes?

Du kan bruge esp_wifi_config_espnow_rate()-funktionen til at konfigurere hastigheden, såsom esp_wifi_config_espnow_rate(WIFI_IF_STA, WIFI_ PHY_RATE_MCS0_LGI).
 

ESP-NOW tillader parring med op til 20 enheder. Er der en måde at styre flere enheder på?

Du kan bruge broadcast-pakker og angive destinationsadresserne i payloaden. Antallet af adresser vil dermed ikke blive påvirket af det begrænsede antal. Du skal kun konfigurere den korrekte broadcast-adresse.
Se dokumentationen for flere spørgsmål:ESP-NOW

 

1 kommentar

hdt-avatar
Armand Djonga Chedjui Djonga

L’esp32 est une technologie qui me pationne

July 5, 2025 at 22:58pm

Efterlad en kommentar

Din e-mailadresse vil ikke blive offentliggjort. Obligatoriske felter er markeret med *

Tilmeld dig vores nyhedsbrev

Få de seneste oplysninger om vores produkter og særlige tilbud.