Zum Inhalt springen

+49 1626571232

info@openelab.io

🚀 Kostenloser Versand ab 50€ in der EU / 80€ weltweit

ESP-NOW: Acht Punkte, die Sie wissen müssen

08 Jul 2024 0 Kommentare
ESP-NOW ist ein drahtloses Kommunikationsprotokoll, das speziell für die Mikrocontroller ESP8266 und ESP32 entwickelt wurde. Es bietet eine stromsparende, sichere, kostengünstige und unkomplizierte drahtlose Kommunikationslösung für ESP32-Geräte. Mit ESP-NOW können mehrere ESP32-Geräte miteinander kommunizieren, ohne dass WLAN oder Router erforderlich sind, wodurch ein Mesh-Netzwerk aus Geräten entsteht.
 
 

Was ist ESP-NOW?

 
esp-now ist ein leichtes Kommunikationsprotokoll, das eine effiziente und zuverlässige verbindungslose Kommunikationslösung bietet. Es ist für eingebettete Geräte konzipiert und eignet sich besonders für die ESP-Chipfamilie von Espressif Systems.
 
esp-now nutzt vorhandene Wi-Fi-Hardware, um eine direkte Kommunikation zwischen One-to-Many- und Many-to-Many-Geräten zu ermöglichen, ohne dass ein Router oder ein anderes Zwischengerät verwendet werden muss.
 
Mit ESP-NOW können wir eine unidirektionale oder sogar bidirektionale Kommunikation zwischen ESP-MCU-Geräten ermöglichen, ohne dass ein Wi-Fi-Netzwerk erforderlich ist. Es ermöglicht eine drahtlose Punkt-zu-Punkt-Datenübertragung mit geringem Overhead, jedoch mit kleineren Paketen. Es können bis zu 250 Byte Daten übertragen werden. Wenn daher große Datenmengen übertragen werden müssen, ist die Verwendung dieses Protokolls nicht sinnvoll.
 
Mit ESP-NOW wird das Verbindungsprotokoll vereinfacht, was den Stromverbrauch reduziert, da weniger Zeit für die Datenübertragung benötigt wird. Darüber hinaus nutzt ESP-NOW dasselbe 2,4-GHz-Band wie WLAN, erfordert jedoch keine Verbindung und stört auch nicht die lokale Netzwerkverbindung. Es handelt sich um ein schnelles und komfortables Kommunikationsprotokoll zur Übertragung kleinerer Datenmengen.
 

  

Funktionsprinzip von ESP-NOW

Das Funktionsprinzip von esp-now ist relativ einfach und basiert auf der MAC-Schicht-Implementierung von Wi-Fi. Das Folgende ist der Workflow von esp-now:
  • Initialisierung: Initialisieren Sie die esp-now-Bibliothek und konfigurieren Sie die Rolle des Geräts (Sender oder Empfänger).
  • Pairing: Vor der Kommunikation müssen Sender und Empfänger einen Pairing-Vorgang durchführen. Während des Pairing-Vorgangs sendet der Sender seine MAC-Adresse an den Empfänger, um eine Vertrauensbeziehung aufzubauen. 3.
  • Daten senden: Der Absender sendet mithilfe der von der esp-now-Bibliothek bereitgestellten API ein Paket an den Empfänger. Das Paket kann jede Art von Daten enthalten, beispielsweise Netzwerkkonfigurationsinformationen, Firmware-Upgrade-Dateien oder Debugging-Informationen.
  • Daten empfangen: Der Empfänger lauscht dem WLAN-Kanal und empfängt Pakete vom Absender. Sobald das Paket empfangen wurde, löst der Empfänger die Callback-Funktion () aus, um es zu verarbeiten. 5.
  • Datenverarbeitung: Der Empfänger verarbeitet das empfangene Paket über die Rückruffunktion. Abhängig von der Art des Pakets kann der Empfänger entsprechende Vorgänge ausführen, z. B. die Netzwerkkonfiguration aktualisieren, ein Firmware-Upgrade durchführen oder ein Debugging durchführen.
 

Eigenschaften von ESP-NOW

esp-now verfügt über die folgenden Funktionen, die ihm bei der Übertragung großer Datenmengen einen Vorteil verschaffen:
  • Geringe Latenz: esp-now nutzt WLAN, um direkt zu kommunizieren, ohne einen Router oder andere Zwischengeräte zu nutzen, wodurch die Übertragungslatenz reduziert wird.
  • Hohe Zuverlässigkeit: esp-now nutzt den zuverlässigen ARQ()-Mechanismus (Automatic Retransmission Request), um eine zuverlässige Datenübertragung sicherzustellen.
  • Geringer Stromverbrauch: esp-now nutzt ein stromsparendes Design für eingebettete Geräte, um den Energieverbrauch zu senken und gleichzeitig die Kommunikationsqualität aufrechtzuerhalten.
  • Flexibilität: esp-now unterstützt die Verbindung und Steuerung von Eins-zu-Viele- und Viele-zu-Viele-Geräten, wodurch die Anforderungen verschiedener Anwendungsszenarien erfüllt werden können.
  • Benutzerfreundlichkeit: Die benutzerfreundliche API von esp-now ermöglicht Entwicklern eine schnelle Integration und Bereitstellung des Protokolls.
  • Eins-zu-eins-Datenübertragung (verschlüsselt und unverschlüsselt).
  • Unterstützung für verschlüsselte und unverschlüsselte Peer-Geräte. Für verschlüsselte Geräte gibt es bis zu 10 Peers im Workstation-Modus und bis zu 6 Peers im SoftAP oder eine Mischung aus beiden Modi. Bei unverschlüsselten Geräten sind jedoch maximal 19 Geräte ohne Einschränkung ihrer Funktionsweise zulässig.
  • In kleinen Paketen können maximal 250 Byte Daten übertragen werden.
  • Es generiert eine Callback-Funktion, die der Anwendungsschicht mitteilt, ob die Datenübertragung erfolgreich war.
Um die ESP-NOW-Verbindung zu initialisieren, müssen wir zunächst die ESP32-Karten koppeln. Die Verbindung bleibt unabhängig von einem Neustart des Boards bestehen und die Übertragung läuft problemlos weiter.

 

Welche Faktoren beeinflussen ESP-NOW?

Die Reichweite von ESP-NOW hängt von einer Reihe von Faktoren ab, darunter Antennendesign und -konfiguration sowie Betriebsumgebung. Im Allgemeinen kann ESP-NOW eine Reichweite von bis zu 220 Metern (772 Fuß) haben; Diese Bereiche sind jedoch Näherungswerte und können je nach den Umständen stark variieren.
Zu den Faktoren, die den ESP-NOW-Bereich beeinflussen können, gehören:
  • HF-Interferenz: ESP-NOW arbeitet im 2,4-GHz-Band, das mit anderen drahtlosen Technologien wie Bluetooth und WLAN geteilt wird. Dies bedeutet, dass es zu Störungen durch andere Geräte kommen kann, die im selben Band arbeiten.
  • Betriebsumgebung: Die Reichweite des ESP-NOW kann durch physische Barrieren wie Wände, Decken und Böden sowie durch Umgebungsfaktoren wie Temperatur, Luftfeuchtigkeit und Luftdruck beeinträchtigt werden.
  • Antennendesign: Die Reichweite von ESP-NOW kann durch die Art und das Design der verwendeten Antenne beeinflusst werden. Beispielsweise kann die Verwendung einer Richtantenne die Reichweite des ESP-NOW erhöhen, während die Verwendung einer Rundstrahlantenne die Reichweite verringern kann.
 

Ist ESP-NOW sicher?

Sie können die ESP-NOW-Kommunikation auf verschiedene Arten sichern, um sie sicher und privat zu halten:
  • Verschlüsseln von Daten: Das Verschlüsseln von Daten ist eine der nützlichsten Möglichkeiten, die ESP-NOW-Kommunikation zu sichern. Sie können die Daten mit verschiedenen Verschlüsselungsalgorithmen wie AES oder RSA verschlüsseln. Durch die Verschlüsselung der Daten wird verhindert, dass jemand die übertragenen Daten abfangen und lesen kann.
  • Verwendung von Sicherheitsschlüsseln: ESP-NOW unterstützt die Verwendung von Sicherheitsschlüsseln zur Authentifizierung und Herstellung von Verbindungen zwischen Geräten. Durch die Verwendung von Sicherheitsschlüsseln können Sie sicherstellen, dass nur autorisierte Geräte miteinander kommunizieren können.
  • Verwenden Sie sichere Kommunikationsprotokolle: Wenn die Sicherheit Ihrer Anwendung erweiterte Sicherheitsmaßnahmen erfordert, sollten Sie die Verwendung eines anderen Kommunikationsprotokolls wie WLAN in Betracht ziehen, das über integrierte Unterstützung für Verschlüsselung und Authentifizierung verfügt.
  • Verwenden Sie eine separate Sicherheitsschicht: In manchen Fällen kann es sinnvoll sein, eine separate Sicherheitsschicht über ESP-NOW zu verwenden, um zusätzliche Sicherheit zu bieten. Sie können beispielsweise ein sicheres Tunnelprotokoll wie HTTPS verwenden, um über ESP-NOW übertragene Daten zu schützen. Welche Kommunikationsarten sind mit ESP-NOW verfügbar?
 

ESP32 ESP-NOW Einwegkommunikation

Bei der unidirektionalen Kommunikation fungiert ein Peer-Gerät als Sender/Master und das andere als Empfänger/Slave. In diesem Fall können wir mehrere Konfigurationen für den Sender-Empfänger haben.
  • Eine ESP32-Karte sendet Daten an eine andere ESP32-Karte
Wie in der Abbildung unten dargestellt, fungiert eine ESP32-Karte als Sender und die andere Karte empfängt Daten und fungiert daher als Empfänger.
Verwendung: Senden von Sensordaten, Steuern von ESP-Ausgängen, einschließlich LEDs, Relais, Summer usw.

  • Eine ESP32-Senderplatine sendet Daten an verschiedene andere ESP32-Empfängerplatinen
In diesem Fall fungiert ein ESP32-Board als Sender/Master und sendet Daten an mehrere ESP32-Boards, die als Empfänger/Slave-Geräte fungieren.
Verwendung: Fernbedienung
  • Eine ESP32-Karte empfängt Daten von verschiedenen anderen ESP32-Senderkarten
Schließlich empfängt in diesem Fall ein ESP32-Board (Empfänger/Slave) Daten von mehreren ESP32-Boards (Sender/Master).
Zweck: Sensordaten verschiedener Sensoren empfangen.

Oder verfügen Sie sogar über ein Netzwerk von ESP32-Karten zur Datenübertragung:
 
 

In welchen Bereichen kann ESP-NOW verwendet werden?

ESP-NOW verfügt über ein breites Anwendungsspektrum in verschiedenen Anwendungsszenarien, insbesondere im groß angelegten Datentransfer. Im Folgenden sind einige häufige Anwendungsszenarien aufgeführt:
  • Netzwerkkonfiguration: Mit esp-now können Netzwerkkonfigurationsinformationen schnell übertragen werden, sodass Geräte problemlos eine Verbindung zu einem bestimmten Wi-Fi-Netzwerk herstellen können.
  • Firmware-Upgrade: Über esp-now können Geräte Firmware-Upgrade-Dateien empfangen und den Upgrade-Vorgang entsprechend durchführen – Debugging und Fernsteuerung: Mit esp-now kann das Gerät aus der Ferne debuggt und gesteuert werden, was für Entwickler praktisch ist, um Fehler zu beheben und zu beheben Funktionsprüfung.
  • Sensordatenübertragung: Mit esp-now können Sensordaten wie Temperatur, Luftfeuchtigkeit usw. übertragen werden, um eine Echtzeitüberwachung und Datenerfassung durchzuführen.
  • Smart-Home-Steuerung: esp-now kann zur Kommunikation und Steuerung zwischen Smart-Home-Geräten wie smarten Glühbirnen, smarten Steckdosen etc. genutzt werden.
  • Industrielle Automatisierung: esp-now verfügt über Potenzial im Bereich der industriellen Automatisierung für die Echtzeit-Datenübertragung und -Steuerung zwischen Geräten.

 

Sie möchten vielleicht auch fragen

Wie hoch ist die Eins-zu-Eins-Bitrate für ESP32 im ESP-NOW-Modus?

Testresultat:
 

Kann WLAN gleichzeitig mit ESP-NOW genutzt werden?

Ja, allerdings ist zu beachten, dass der Kanal von ESP-NOW mit dem des angeschlossenen AP identisch sein muss.
 

Wie stelle ich die Rate ein, mit der ESP-NOW-Daten gesendet werden?

Sie können die Funktion esp_wifi_config_espnow_rate() verwenden, um die Rate zu konfigurieren, z. B. esp_wifi_config_espnow_rate(WIFI_IF_STA, WIFI_ PHY_RATE_MCS0_LGI) .
 

ESP-NOW ermöglicht die Kopplung mit maximal 20 Geräten. Gibt es eine Möglichkeit, mehr Geräte zu steuern?

Sie können Broadcast-Pakete verwenden und die Zieladressen in der Nutzlast angeben. Die Anzahl der Adressen wäre dann von der Beschränkung nicht betroffen. Sie müssen lediglich die richtige Broadcast-Adresse konfigurieren.
Weitere Fragen finden Sie in der Dokumentation: ESP-NOW

 

Vorheriger Beitrag
Nächster Beitrag

Hinterlasse einen Kommentar

Alle Blog-Kommentare werden vor der Veröffentlichung geprüft

Jemand kaufte vor kurzem ein

Danke fürs Abonnieren!

Diese E-Mail wurde registriert!

Shoppen Sie den Look

Wähle Optionen

Bearbeitungsoption
Benachrichtigung wieder vorrätig
this is just a warning
Anmeldung
Einkaufswagen
0 Artikel
RuffRuff App RuffRuff App by Tsun