ESP-NOW: Kahdeksan kohtaa, jotka sinun on tiedettävä

ESP-NOW on langaton viestintäprotokolla, joka on kehitetty erityisesti ESP8266- ja ESP32-mikrokontrollereille. Se tarjoaa vähävirtaisen, turvallisen, edullisen ja suoraviivaisen langattoman viestintäratkaisun ESP32-laitteille. ESP-NOW:n avulla useat ESP32-laitteet voivat kommunikoida keskenään ilman WiFiä tai reitittimiä, luoden laitteista mesh-verkon.
 
 

Mikä on ESP-NOW?

 
esp-now on kevyt viestintäprotokolla, joka on suunniteltu tarjoamaan tehokas ja luotettava yhteydetön viestintäratkaisu. Se on suunniteltu sulautetuille laitteille ja sopii erityisesti Espressif Systemsin ESP-sarjan siruille.
 
esp-now hyödyntää olemassa olevaa Wi-Fi-laitteistoa tarjotakseen suoran viestinnän yhdestä moniin ja monesta moneen laitteiden välillä ilman tarvetta kulkea reitittimen tai muun välikappaleen kautta.
 
ESP-NOW:n avulla voimme toteuttaa yksisuuntaisen tai jopa kaksisuuntaisen viestinnän ESP MCU -laitteiden välillä ilman Wi-Fi-verkkoa. Se mahdollistaa vähäviiveisen pisteestä pisteeseen langattoman tiedonsiirron, mutta pienemmillä paketeilla. Enintään 250 tavua dataa voidaan siirtää. Siksi, jos suuri määrä dataa täytyy siirtää, tämän protokollan käyttö ei ole hyödyllistä.
 
ESP-NOW:ssa yhteysprotokolla on yksinkertaistettu, mikä vähentää virrankulutusta, koska tiedonsiirtoon kuluu vähemmän aikaa. Lisäksi ESP-NOW käyttää samaa 2,4 GHz taajuusaluetta kuin Wi-Fi, mutta ei vaadi yhteyttä eikä häiritse paikallista verkkoyhteyttä. Se on nopea ja kätevä viestintäprotokolla pienempien tietomäärien siirtoon.
 

  

ESP-NOW:n toimintaperiaate

esp-now:n toimintaperiaate on suhteellisen yksinkertainen, se perustuu Wi-Fi:n MAC-kerroksen toteutukseen. Seuraavassa on esp-now:n työnkulku:
  • Alustus: Alusta esp-now-kirjasto ja määritä laitteen rooli (lähettäjä tai vastaanotin).
  • Paritus: Ennen viestintää lähettäjän ja vastaanottajan on suoritettava paritus. Paritusprosessin aikana lähettäjä lähettää MAC-osoitteensa vastaanottajalle luottamussuhteen luomiseksi.
  • Datan lähetys: Lähettäjä lähettää paketin vastaanottajalle esp-now-kirjaston tarjoaman API:n avulla. Paketti voi olla minkä tahansa tyyppistä dataa, kuten verkon konfiguraatiotietoja, laiteohjelmistopäivitystiedosto tai virheenkorjaustietoja.
  • Datan vastaanotto: Vastaanotin kuuntelee Wi-Fi-kanavaa ja vastaanottaa paketteja lähettäjältä. Kun paketti on vastaanotettu, vastaanotin käynnistää callback-funktion () käsitelläkseen sen.
  • Datan käsittely: Vastaanotin käsittelee vastaanotetun paketin callback-funktion kautta. Paketin tyypistä riippuen vastaanotin voi suorittaa vastaavia toimintoja, kuten päivittää verkon asetuksia, tehdä laiteohjelmistopäivityksen tai suorittaa virheenkorjausta.
 

ESP-NOW:n ominaisuudet

esp-now:lla on seuraavat ominaisuudet, jotka antavat sille etua laajamittaisessa tiedonsiirrossa:
  • Matala viive: esp-now käyttää Wi-Fiä kommunikoidakseen suoraan ilman reititintä tai muita välikkeitä, mikä vähentää siirron viivettä.
  • Korkea luotettavuus: esp-now käyttää luotettavaa ARQ()-mekanismia (Automaattinen uudelleenlähetyspyyntö) varmistaakseen luotettavan tiedonsiirron.
  • Alhainen virrankulutus: esp-now hyödyntää matalan virrankulutuksen suunnittelua sulautetuissa laitteissa vähentäen energiankulutusta samalla kun viestinnän laatu säilyy.
  • Joustavuus: esp-now tukee yksi-moneen ja moni-moneen laiteyhteyksiä ja -ohjausta, mikä vastaa erilaisten sovellusympäristöjen tarpeisiin.
  • Helppokäyttöisyys: esp-now:n helppokäyttöinen API mahdollistaa kehittäjille protokollan nopean integroinnin ja käyttöönoton.
  • Yksittäinen tiedonsiirto (salattu ja salaamaton).
  • Tuki salatuille ja salaamattomille vertaislaitteille. Salattujen laitteiden osalta Workstation-tilassa voi olla enintään 10 vertaislaitetta ja SoftAP-tilassa tai molempien tilojen yhdistelmässä enintään 6 vertaislaitetta. Salaamattomille laitteille sallitaan enintään 19 laitetta ilman rajoituksia niiden toimintatilalle.
  • Pienissä paketeissa voidaan siirtää enintään 250 tavua dataa.
  • Se luo callback-funktion, joka ilmoittaa sovelluskerrokselle, onnistuiko tiedonsiirto.
ESP-NOW-yhteyden alustamiseksi meidän on ensin paritettava ESP32-kortit. Yhteys säilyy kortin uudelleenkäynnistyksestä huolimatta, ja tiedonsiirto jatkuu ongelmitta.

 

Mitkä tekijät vaikuttavat ESP-NOW:iin?

ESP-NOW:n kantama riippuu useista tekijöistä, kuten antennin suunnittelusta ja kokoonpanosta sekä käyttöympäristöstä. Yleisesti ESP-NOW:n kantama voi olla jopa 220 metriä (772 jalkaa); nämä arvot ovat kuitenkin suuntaa-antavia ja voivat vaihdella suuresti olosuhteiden mukaan.
Tekijät, jotka voivat vaikuttaa ESP-NOW:n kantamaan, ovat muun muassa:
  • RF-häiriöt: ESP-NOW toimii 2,4 GHz:n taajuusalueella, jota käyttävät myös muut langattomat teknologiat, kuten Bluetooth ja WiFi. Tämä tarkoittaa, että samassa taajuusalueessa toimivat laitteet voivat aiheuttaa häiriöitä.
  • Käyttöympäristö: ESP-NOW:n kantamaa voivat vaikuttaa fyysiset esteet, kuten seinät, katot ja lattiat, sekä ympäristötekijät, kuten lämpötila, kosteus ja ilmanpaine.
  • Antennin suunnittelu: ESP-NOW:n kantama voi riippua käytetyn antennin tyypistä ja suunnittelusta. Esimerkiksi suuntaavan antennin käyttö voi lisätä ESP-NOW:n kantamaa, kun taas monisuuntaisen antennin käyttö voi vähentää kantamaa.
 

Onko ESP-NOW turvallinen?

Voit suojata ESP-NOW-viestintää monin tavoin pitääksesi sen turvallisena ja yksityisenä:
  • Datan salaaminen: Datan salaaminen on yksi hyödyllisimmistä tavoista suojata ESP-NOW-viestintää. Voit salata datan eri salausalgoritmeilla, kuten AES:llä tai RSA:lla. Datan salaaminen estää ketään sieppaamasta ja lukemasta lähetettyä dataa.
  • Turva-avainten käyttö: ESP-NOW tukee turva-avainten käyttöä laitteiden välisten yhteyksien todennukseen ja muodostamiseen. Turva-avaimia käyttämällä voit varmistaa, että vain valtuutetut laitteet voivat kommunikoida keskenään.
  • Käytä suojattuja viestintäprotokollia: Jos sovelluksesi turvallisuus vaatii kehittyneempiä turvatoimia, kannattaa harkita toisen viestintäprotokollan, kuten WiFin, käyttöä, joka tukee sisäänrakennettua salausta ja todennusta.
  • Käytä erillistä suojauskerrosta: Joissakin tapauksissa voi olla hyödyllistä käyttää erillistä suojauskerrosta ESP-NOW:n päällä lisäturvan tarjoamiseksi. Esimerkiksi voit käyttää suojattua tunnelointiprotokollaa, kuten HTTPS:ää, suojataksesi ESP-NOW:n kautta lähetettyä dataa.Mitä viestintätyyppejä ESP-NOW tarjoaa?
 

ESP32 ESP-NOW yhden suunnan viestintä

Yhden suunnan viestinnässä yksi vertaislaite toimii lähettäjänä/mahtina ja toinen vastaanottajana/orjana. Tässä tapauksessa voimme käyttää useita kokoonpanoja lähettäjä-vastaanottaja -suhteelle.
  • Yksi ESP32-lauta lähettää dataa toiselle ESP32-laudalle
Kuvassa alla yksi ESP32-lauta toimii lähettimenä ja toinen lauta vastaanottaa dataa, joten se toimii vastaanottimena.
Käyttö: Anturidatan lähettäminen, ESP-lähtöjen ohjaaminen, mukaan lukien LEDit, releet, summerit jne.

  • Yksi ESP32-lähetinlevy lähettää dataa useille muille ESP32-vastaanotinlevyille
Tässä tapauksessa yksi ESP32-levy toimii lähettimenä/isäntänä ja lähettää dataa useille ESP32-levyille, jotka toimivat vastaanottimina/orjina.
Käyttötarkoitus: Etäohjaus
  • Yksi ESP32-levy vastaanottaa dataa useilta muilta ESP32-lähetinlevyiltä
Lopuksi tässä tapauksessa yksi ESP32-levy (vastaanotin/orja) vastaanottaa dataa useilta ESP32-levyiltä (lähetin/isäntä).
Tarkoitus: Vastaanottaa anturidataa eri antureilta.

Tai jopa ESP32-levyjen verkko tiedonsiirtoa varten:
 
 

Missä alueilla ESP-NOW:ta voidaan käyttää?

ESP-NOW:lla on laaja sovellusalue erilaisissa käyttötapauksissa, erityisesti suurten tietomäärien siirrossa. Seuraavassa on joitakin yleisiä käyttötapauksia:
  • Verkon konfigurointi: esp-now:ta voidaan käyttää verkon konfigurointitietojen nopeaan siirtoon, jotta laitteet voivat helposti yhdistää määritettyyn Wi-Fi-verkkoon.
  • Laiteohjelmiston päivitys: esp-now:n kautta laitteet voivat vastaanottaa laiteohjelmistopäivitystiedostoja ja suorittaa päivityksen - Vianmääritys ja etäohjaus: esp-now:ta voidaan käyttää laitteen etävianmääritykseen ja ohjaukseen, mikä helpottaa kehittäjiä vianetsinnässä ja toimintojen testaamisessa.
  • Anturidatan siirto: esp-now:ta voidaan käyttää anturidatan, kuten lämpötilan, kosteuden jne., siirtämiseen reaaliaikaista valvontaa ja tiedonkeruuta varten.
  • Älykodin ohjaus: esp-now:ta voidaan käyttää älykotilaitteiden, kuten älylamppujen, älypistorasioiden jne. väliseen viestintään ja ohjaukseen.
  • Teollisuusautomaatio: esp-now:lla on potentiaalia teollisuusautomaation alalla reaaliaikaiseen tiedonsiirtoon ja laitteiden väliseen ohjaukseen.

 

Saatat myös haluta kysyä

Mikä on ESP32:n yksittäisen yhteyden bittinopeus ESP-NOW-tilassa?

Testitulokset:
  • Testilauta: ESP32-DevKitC V4.
  • Wi-Fi-tila: asema.
  • PHY-nopeus on oletuksena 1 Mbps.
  • Noin 214 Kbps avoimessa ympäristössä.
  • Noin 555 Kbps suojatussa kotelossa.
  • Jos tarvitset suuremman nopeuden, nopeuden voi määrittää esp_wifi_config_espnow_rate-funktion kautta.
 

Voiko Wi-Fiä käyttää samanaikaisesti ESP-NOW:n kanssa?

Kyllä, mutta on huomattava, että ESP-NOW:n kanavan on oltava sama kuin yhdistetyn tukiaseman kanava.
 

Miten asetetaan ESP-NOW-datan lähetysnopeus?

Voit käyttää esp_wifi_config_espnow_rate()-funktiota nopeuden määrittämiseen, esimerkiksi esp_wifi_config_espnow_rate(WIFI_IF_STA, WIFI_ PHY_RATE_MCS0_LGI).
 

ESP-NOW mahdollistaa parituksen enintään 20 laitteen kanssa. Onko olemassa keinoa hallita useampia laitteita?

Voit käyttää lähetystietueita ja antaa kohdeosoitteet hyötykuormassa. Osoitteiden määrä ei tällöin rajoitu rajalliseen määrään. Sinun tarvitsee vain määrittää oikea lähetystosoite.
Katso dokumentaatiosta lisäkysymyksiä varten:ESP-NOW

 

1 kommentti

hdt-avatar
Armand Djonga Chedjui Djonga

L’esp32 est une technologie qui me pationne

July 5, 2025 at 22:58pm

Jätä kommentti

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *

Rekisteröidy uutiskirjeeseemme

Hanki viimeisimmät tiedot tuotteistamme ja erikoistarjouksistamme.