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ář
Armand Djonga Chedjui Djonga
L’esp32 est une technologie qui me pationne