ESP32 BLE mit VS Code und PlatformIO
Da ich für ein Projekt Bluetooth verwenden möchte, habe ich mir ein ESP32 Modul zugelegt. Die ArduinoIDE mag für einfache Programme o.k. sein, ich benutze aber lieber eine sinnvolle Umgebung wie Eclipse oder VS Code. Mit Eclipse hatte ich schlechte Erfahrungen bzgl. der frameworks, so dass ich letztendlich zu PlatformIO gewechselt habe. Dies basierte bisher auf Atom und seit einiger Zeit auf Visual Studio Code. Bei mir gab es einige Hürden, bevor ich in der Lage war BLE auf dem ESP32 fehlerfrei zu kompilieren. Nachfolgend beschreibe ich meine Konfiguration.
Einstieg: Die Arduino IDE
Das ist optional, um die Module zu verifizieren.
Den Board Manager installieren : https://github.com/espressif/arduino-esp32/blob/master/docs/arduino-ide/boards_manager.md
Unter Datei/Voreinstellungen die folgende URL eintragen: https://dl.espressif.com/dl/package_esp32_index.json
Den Boardverwalter aufrufen:
Anschliessend ESP32 installieren
Danach über Werkzeuge das Board auswählen: ESP32 Dev Module
Nun findet man bereits den Beispiel-Code: Datei/Beispiele (ganz unten)
VSCode / PlatformIO
Plattform installieren: Espressif 32
Bibliothek installieren: ESP32 BLE Arduino
Projekt anlegen
Wenn man die Bibliothek öffnet, kann man unten rechts auf “Repository” klicken und gelangt zu github, wo die Beispiele hinterlegt sind.
Hier der link: https://github.com/nkolban/ESP32_BLE_Arduino/tree/master/examples
In den code muss man noch die Arduino.h hinzufügen.
platformio
[codesyntax lang=”javascript”]
; PlatformIO Project Configuration File ; ; Please visit documentation for the other options and examples ; https://docs.platformio.org/page/projectconf.html ; Espressif 32; platform=espressif32; version 7a758c4 = 1.4.0 ; Espressif 32 (Stage); platform=espressif32; version c26e5ac = 1.4.0; https://github.com/platformio/platform-espressif32.git#feature/stage [env:esp32dev-scan] ; platform - no comments allowed after platform name ; platform =espressif32 # o.k., using the latest version ; platform =espressif32@7a758c4 # o.k. ; platform =espressif32@c26e5ac # o.k. platform =espressif32 ; board = esp32doit-devkit-v1 # o.k. board = esp32dev framework = arduino ; enable the next line if you want to upload and monitor directly after build ; targets = upload, monitor lib_deps = # Using a library name ESP32 BLE Arduino upload_protocol = esptool upload_speed = 921600 monitor_speed = 115200
[/codesyntax]
Ausgabe im Monitor für den scanner:
Zur Ergänzung – Ein Projekt in VS-Code anlegen
Nach dem Umstieg von Atom auf VS-Code hat sich auch die Methode für die Einbindung von Bibliotheken in PlatformIO etwas geändert.
Man installiert nun nicht mehr Bibliotheken in dem Library Manager sondern bindet die explizit in platformio.ini ein.
Auf geht’s ….
Zuerst PIO Home über das Haus-symbol aufrufen
Dann ein neues Projekt anlegen
Projektnamen vergeben und Board auswählen
Danach existiert nun das Projekt “My BLE” mit leeren Funktionen für setup und loop.
Nun das Beispielprojekt von nkolban auf github aufrufen unten rechts auf den Button RAW drücken.
Danach öffnet sich ein Fenster ohne jegliche Schnörkel / HTML -Formatierungen.
Man kopiert nun alles (CTRL-A + CTRL-C)
Anschließend in VS-Code den Code einfügen und ganz oben noch #include <Arduino.h> einfügen
In der platformio.ini Datei noch den abschnitt ab Zeile 17 einfügen – lip_deps …..
[codesyntax lang=”javascript”]
[/codesyntax]
Pingback: ESP32 Examples | Andreas' Blog
vielen Dank für die Anleitung. Ich habe unter dem Reiter ” WErkzeuge” den Eintrag – ESP 32 nicht . der ist bei mir nicht drin.
Sollte ich dennoch fortfahren!?
Freue mich auf einen Tipp
Beste grüße
Martin Kasapr
Hallo Martin,
Evtl. war die Beschreibung nicht vollständig. Ich habe noch zwei Schritte eingefügt.
Bitte prüfe das einmal.
Viele Grüße,
Thomas
hallo Thomas vielen Dank für deine Anleitung zu diesem sehr spannenden Thema. Habe nun durch deine Hilfe einige weitere Schritte vollziehen koennen. Aber im Moment hänge ich an dem folgenden:
Du schreibst: Wenn man die Bibliothek öffnet, kann man unten rechts auf “Repository” klicken und gelangt zu github, wo die Beispiele hinterlegt sind.
Hier der link: https://github.com/nkolban/ESP…uino/tree/master/examples
Die von Neil Kolban erwähnten Examples kann man via Github auch einbinden. Bei dir sehen aber die Optionen (in PlatformIP anders aus als – bei mir – hier dargestellt: https://forum-raspberrypi.de/forum/thread/44389-esp32-ble-mit-vs-code-und-platformio-verbindungen-und-moeglichkeiten/?postID=393616#post393701
Ich versuche mich nun nochmals zu orientieren – ggf. hab ich die Optionen einfach übersehen…
Freue mich nochmals von dir zu hoeren.
PS – dein Tutorial ist klasse!!!
Viele Grüße Martin
Hallo Martin,
die Einzelschritte um ein Projekt anzulegen, habe ich nun am Ende dargestellt. Es gab mittlerweile kleine Änderungen in VS-Code / PlatformIO.
Gruß,
Thomas