Fred Feuerstein Fernbedienung mit ESP32 NOW & Modifikation Framework
Drei Wochen sind ins Land gegangen. Maximale Reichweite Bluetooth für das Fahren auf dem Schulhof,
Verkehrsübungsplatz für Kinder, ist ein Problem. Abhilfe schafft da nur ein Funkmodul, zum Beispiel
RF95,
oder ESP32-NOW. ESP32-NOW ist OnBoard und dieses Kapitel zeigt
die Implementierung der Software.

Zuerst die Änderungen für die Fernbedienung Fred Feuerstein.
Weiter unten in diesem Kapitel erfolgt die Änderung des Frameworks
Bluetooth und ESP32-NOW ähneln sich,
Sara- und Rui Santos
haben für uns Bastler ein Beispiel erstellt. Ich verzichte auf die Visualisierung der gesamten
Software der Fernbedienung, das ist ja hier
bereits passiert. Es werden nur die Programmfragmente gezeigt, die sich zur
Bluetooth Software geändert haben!

Dateien global.cpp & gloabal.h & defines.h: Änderung der Bezeichnung für Variable, Zeile 12 bis 16.
Definition der MAC Adresse für den Empfänger (Roboter) in Zeile 15. Ich verwende
Broadcast-MAC-Adresse FF:FF:FF:FF:FF:FF. Alle Empfänger erhalten dann die Nachricht,
sofern sie auf den gleichen Kanal eingestellt sind. Bedeutet das HaBuRo6 und Don Quijote
die gleichen Kommandos erhalten. Sind beide gleichzeitig aktiv, löst das ein kleines Chaos aus.

Datei tools.cpp!
Zeile 6 bis 9, Zeile 16 bis 39 und ab Zeile 106 sind identisch mit Bluetooth-tool.cpp.
Erklärt werden hier nur die Unterschiede zum Source Code Bluetooth.
Zeile 10 und 15, Bibliotheken einbinden.
Zeile 13, Objekt esp_now_peer_info_t deklarieren. Mechanismus für Kanalnummer und MAC-Adresse.
Siehe auch Zeile 96 bis 102.
Zeile 40, ESPNow_daten_gesendet ist eine bool Variable, die dafür sorgt, dass ein neuer Sendebefehl
erst erfolgen kann, wenn der vorherige erfolgreich abgesetzt worden ist. Siehe auch Zeile 59 bis 64
und die Callback Deklaration in Zeile 95.
Zeile 41 bis 55, Daten zum Empfänger senden.
Zeile 67 bis 85, Visualisiert die bordeigene MAC-Adresse. Wird hier nicht genutzt.
Zeile 87 bis 103, ESP-NOW initialisieren. Vorgaben von
Espressif.
Datei main.cpp ist identisch mit Bluetooth-main.cpp.
Änderungen am Framework
Der Source Code Framework Bluetooth ist hier die Bezugsgröße.
Es werden hier nur die ESP-Now-Änderungen gezeigt und etwas genauer erklärt.
Eine ganz wichtige Sache vorweg! ESP-Now und die Funktion xTaskCreate(),
Zeile 34 bis 40, des Bluetooth Frameworks vertragen sich nicht.
Sie entfällt. Gottseidank besitzt Esp-Now eine Callback Funktion, wenn ein Datensatz vom Sender zum Empfänger eingegangen ist.
Diese Funktion übernimmt den Inhalt der xTaskCreate(). Auch mit den drei delay()-Funktionen
für den Buzzer kommt diese Callback Funktion zurecht.

Alle nichtgenannten Zeilen sind mit dem Bluetooth Framework identisch!
Datei global.cpp, Zeile 111 und Datei global.h, Zeile 109: Variablenname wurde geändert!

Alle nichtgenannten Zeilen sind mit dem Bluetooth Framework identisch!
Zeile 10: Einbindung der Bibliothek ESP-NOW.
Zeile 28: Hier ist ein Fehler. Deklaration wird nicht benötigt, vergessen zu entfernen.
Zeile 31 & 32 & 48: Callback Funktion, siehe
Espressif.
Zeile 44 bis 48: ESP-NOW initialisieren,
Espressif.
Fred Feuerstein Fernbedienung mit ESP32 NOW & Modifikation Framework © 2025 Hans Busche