ESP-NOW: Osm bodů, které musíte znát

ESP-NOW je bezdrátový komunikační protokol vyvinutý speciálně pro mikrokontroléry ESP8266 a ESP32. Poskytuje nízkoenergetické, bezpečné, nízkonákladové a jednoduché řešení bezdrátové komunikace pro zařízení ESP32. Díky ESP-NOW mohou mezi sebou komunikovat více zařízení ESP32 bez potřeby WiFi nebo routerů, čímž vytvářejí síťovou strukturu typu mesh.
 
 

Co je ESP-TEĎ?

 
esp-now je lehký komunikační protokol navržený tak, aby poskytoval efektivní a spolehlivé bezspojové komunikační řešení. Je určen pro vestavěná zařízení a je zvláště vhodný pro rodinu čipů ESP od Espressif Systems.
 
esp-now využívá stávající Wi-Fi hardware k zajištění přímé komunikace mezi jedním a více zařízeními a mezi mnoha zařízeními bez nutnosti procházet přes router nebo jiné prostřední zařízení.
 
S ESP-NOW můžeme mít jednosměrnou nebo dokonce obousměrnou komunikaci mezi zařízeními ESP MCU bez potřeby Wi-Fi sítě. Umožňuje nízkonákladový bezdrátový přenos dat bod-bod, ale s menšími pakety. Lze přenést až 250 bajtů dat. Proto pokud je potřeba přenést velké množství dat, použití tohoto protokolu není užitečné.
 
S ESP-NOW je připojovací protokol zjednodušený, což snižuje spotřebu energie, protože je potřeba méně času pro přenos dat. Navíc ESP-NOW používá stejný pásmo 2,4 GHz jako Wi-Fi, ale nevyžaduje připojení ani nezasahuje do místního síťového připojení. Je to rychlý a pohodlný komunikační protokol pro přenos menšího množství dat.
 

  

Princip fungování ESP-NOW

Pracovní princip esp-now je relativně jednoduchý, je založen na implementaci vrstvy MAC ve Wi-Fi. Následuje pracovní postup esp-now:
  • Inicializace: Inicializujte knihovnu esp-now a nakonfigurujte roli zařízení (odesílatel nebo přijímač).
  • Párování: Před komunikací musí odesílatel a přijímač provést operaci párování. Během procesu párování odesílatel odešle svou MAC adresu přijímači, aby se vytvořil vztah důvěry. 3.
  • Odeslat data: Odesílatel posílá paket příjemci pomocí API poskytovaného knihovnou esp-now. Paket může být jakýkoli typ dat, například informace o konfiguraci sítě, soubor pro aktualizaci firmwaru nebo ladicí informace.
  • Přijímání dat: přijímač naslouchá Wi-Fi kanálu a přijímá pakety od odesílatele. Jakmile je paket přijat, přijímač spustí zpětné volání () k jeho zpracování. 5.
  • Zpracování dat: Přijímač zpracovává přijatý paket prostřednictvím zpětné volací funkce. V závislosti na typu paketu může přijímač provádět odpovídající operace, jako je aktualizace konfigurace sítě, provedení aktualizace firmwaru nebo ladění.
 

Charakteristiky ESP-NOW

esp-now má následující funkce, které mu dávají výhodu při přenosu dat ve velkém měřítku:
  • Nízká latence: esp-now využívá Wi-Fi k přímé komunikaci bez nutnosti procházet routerem nebo jinými mezilehlými zařízeními, čímž snižuje latenci přenosu.
  • Vysoká spolehlivost: esp-now využívá spolehlivý mechanismus ARQ() (automatický požadavek na opětovné vysílání) k zajištění spolehlivého přenosu dat.
  • Nízká spotřeba energie: esp-now využívá nízkoenergetický design pro vestavěná zařízení ke snížení spotřeby energie při zachování kvality komunikace.
  • Flexibilita: esp-now podporuje připojení a ovládání zařízení jeden-ku-mnohým a mnoho-ku-mnohým, což může vyhovět potřebám různých aplikačních scénářů.
  • Snadnost použití: snadno použitelná API esp-now umožňuje vývojářům rychle integrovat a nasadit protokol.
  • Přenos dat jeden na jednoho (šifrovaný a nešifrovaný).
  • Podpora pro šifrovaná i nešifrovaná zařízení vrstevníků. Pro šifrovaná zařízení je povoleno až 10 vrstevníků v režimu Workstation a až 6 vrstevníků v režimu SoftAP nebo v kombinaci obou režimů. Pro nešifrovaná zařízení je však povoleno maximálně 19 zařízení bez omezení jejich režimu provozu.
  • Maximálně 250 bajtů dat může být přeneseno v malých paketech.
  • Generuje zpětnou volací funkci, která informuje aplikační vrstvu, zda byl přenos dat úspěšný.
Pro inicializaci připojení ESP-NOW musíme nejprve spárovat desky ESP32. Připojení zůstane zachováno i po restartu desky a přenos bude pokračovat bez jakýchkoli problémů.

 

Jaké faktory ovlivňují ESP-NOW?

Dosah ESP-NOW závisí na řadě faktorů, včetně návrhu a konfigurace antény a provozního prostředí. Obecně může mít ESP-NOW dosah až 220 metrů (772 stop); tyto dosahy jsou však přibližné a mohou se v závislosti na okolnostech výrazně lišit.
Faktory, které mohou ovlivnit dosah ESP-NOW, zahrnují:
  • Rušení RF: ESP-NOW pracuje v pásmu 2,4 GHz, které je sdíleno s jinými bezdrátovými technologiemi, jako jsou Bluetooth a WiFi. To znamená, že může docházet k rušení z jiných zařízení pracujících ve stejném pásmu.
  • Provozní prostředí: Dosah ESP-NOW může být ovlivněn fyzickými překážkami, jako jsou stěny, stropy a podlahy, stejně jako environmentálními faktory, jako je teplota, vlhkost a atmosférický tlak.
  • Návrh antény: Dosah ESP-NOW může být ovlivněn typem a konstrukcí použité antény. Například použití směrové antény může zvýšit dosah ESP-NOW, zatímco použití všesměrové antény může dosah snížit.
 

Je ESP-NOW bezpečný?

Komunikaci ESP-NOW můžete zabezpečit několika způsoby, aby byla bezpečná a soukromá:
  • Šifrování dat: Šifrování dat je jedním z nejúčinnějších způsobů, jak zabezpečit komunikaci ESP-NOW. Data můžete šifrovat pomocí různých šifrovacích algoritmů, jako jsou AES nebo RSA. Šifrování dat zabrání komukoli v zachycení a čtení přenášených dat.
  • Používání bezpečnostních klíčů: ESP-NOW podporuje použití bezpečnostních klíčů k ověřování a navazování spojení mezi zařízeními. Používáním bezpečnostních klíčů můžete zajistit, že komunikovat mohou pouze autorizovaná zařízení.
  • Používejte zabezpečené komunikační protokoly: Pokud bezpečnost vaší aplikace vyžaduje pokročilejší bezpečnostní opatření, můžete zvážit použití jiného komunikačního protokolu, například WiFi, který má vestavěnou podporu pro šifrování a autentizaci.
  • Použijte samostatnou bezpečnostní vrstvu: V některých případech může být užitečné použít samostatnou bezpečnostní vrstvu nad ESP-NOW pro zajištění dodatečné bezpečnosti. Například můžete použít zabezpečený tunelovací protokol, jako je HTTPS, k ochraně dat přenášených přes ESP-NOW. Jaké typy komunikace jsou k dispozici s ESP-NOW?
 

ESP32 ESP-NOW jednosměrná komunikace

V jednosměrné komunikaci jedno zařízení peer funguje jako odesílatel/master a druhé jako přijímač/slave. V tomto případě můžeme mít více konfigurací pro odesílatele-přijímače.
  • Jedna deska ESP32 odesílající data druhé desce ESP32
Jak je ukázáno na obrázku níže, jedna deska ESP32 funguje jako vysílač a druhá deska přijímá data, a proto funguje jako přijímač.
Použití: Odesílání dat ze senzorů, ovládání výstupů ESP, včetně LED diod, relé, bzučáků atd.

  • Jedna vysílací deska ESP32 odesílající data různým přijímacím deskám ESP32
V tomto případě bude jedna deska ESP32 fungovat jako vysílač/master a bude odesílat data na více desek ESP32 fungujících jako přijímače/slavné zařízení.
Použití: Dálkové ovládání
  • Jedna deska ESP32 přijímá data z různých dalších vysílacích desek ESP32
Nakonec v tomto případě jedna deska ESP32 (přijímač/služebník) přijímá data z více desek ESP32 (vysílač/hlavní).
Účel: Přijímat data ze senzorů z různých senzorů.

Nebo mít síť desek ESP32 pro přenos dat:
 
 

V jakých oblastech lze ESP-NOW použít?

ESP-NOW má široké spektrum použití v různých aplikačních scénářích, zejména při přenosu dat ve velkém měřítku. Následují některé běžné aplikační scénáře:
  • Konfigurace sítě: esp-now lze použít k rychlému přenosu informací o konfiguraci sítě, aby se zařízení mohla snadno připojit k určené Wi-Fi síti.
  • Aktualizace firmwaru: Pomocí esp-now mohou zařízení přijímat soubory aktualizace firmwaru a provádět odpovídající operaci aktualizace - Ladění a dálkové ovládání: esp-now lze použít k dálkovému ladění a ovládání zařízení, což je pro vývojáře pohodlné při odstraňování problémů a testování funkcí.
  • Přenos dat ze senzorů: esp-now lze použít k přenosu dat ze senzorů, jako je teplota, vlhkost atd., k provádění monitorování v reálném čase a sběru dat.
  • Ovládání chytré domácnosti: esp-now lze použít pro komunikaci a ovládání mezi zařízeními chytré domácnosti, jako jsou chytré žárovky, chytré zásuvky atd.
  • Průmyslová automatizace: esp-now má potenciál v oblasti průmyslové automatizace pro přenos dat v reálném čase a řízení mezi zařízeními.

 

Možná se také chcete zeptat

Jaká je jednosměrná přenosová rychlost pro ESP32 v režimu ESP-NOW?

Výsledek testu:
  • Testovací deska: ESP32-DevKitC V4.
  • Režim Wi-Fi: stanice.
  • Výchozí rychlost PHY je 1 Mbps.
  • Přibližně 214 Kbps v otevřeném prostředí.
  • Přibližně 555 Kbps v ochranné krabici.
  • Pokud potřebujete vyšší rychlost, je možné ji nastavit pomocí esp_wifi_config_espnow_rate.
 

Lze Wi-Fi používat současně s ESP-NOW?

Ano, ale je třeba poznamenat, že kanál ESP-NOW musí být stejný jako kanál připojeného AP.
 

Jak nastavím rychlost odesílání dat ESP-NOW?

Můžete použít funkci esp_wifi_config_espnow_rate() k nastavení rychlosti, například esp_wifi_config_espnow_rate(WIFI_IF_STA, WIFI_PHY_RATE_MCS0_LGI).
 

ESP-NOW umožňuje spárování s maximálně 20 zařízeními. Existuje způsob, jak ovládat více zařízení?

Můžete použít vysílací pakety a uvést cílové adresy v datovém poli. Počet adres pak nebude omezen omezeným počtem. Stačí nakonfigurovat správnou vysílací adresu.
Podívejte se do dokumentace pro více otázek:ESP-NOW

 

1 komentář

hdt-avatar
Armand Djonga Chedjui Djonga

L’esp32 est une technologie qui me pationne

July 5, 2025 at 22:58pm

Zanechte komentář

Vaše e-mailová adresa nebude zveřejněna. Povinná pole jsou označena *

Přihlaste se k odběru našeho zpravodaje

Získejte nejnovější informace o našich produktech a speciálních nabídkách.