ESP-NOW: Acht Punten Die Je Moet Weten
Wat is ESP-NOW?
Werking 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
-
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.
Welke factoren beïnvloeden ESP-NOW?
-
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?
-
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
-
Eén ESP32-bord verzendt gegevens naar een ander ESP32-bord
-
Eén ESP32-zenderbord dat gegevens naar verschillende andere ESP32-ontvangerkaarten verzendt
-
Eén ESP32-bord ontvangt gegevens van verschillende andere ESP32-zenderborden
In welke gebieden kan ESP-NOW worden gebruikt?
-
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?
-
Testbord: ESP32-DevKitC V4.
-
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?
Hoe stel ik de snelheid in waarmee ESP-NOW-gegevens worden verzonden?
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?