ESP32 programmieren, Arduino - Voraussetzungen installieren
Ich hatte bisher mit Arduino oder Microcontrollern, abgesehen vom Updaten und Bedienen meines 3D Druckers, nicht viel am Hut. Dabei bieten Microcontroller, als Beispiel der ESP32, für bestimmte Einsatzzwecke, wie das Sammeln von Daten oder bestimmte Steuerungs- oder Überwachungsaufgaben, eine günstige Alternative zum Raspberry Pi : WLAN und Bluetooth inklusive. Nachdem ich für mich hier Neuland betrat, wollte ich meine Erfahrung aus Sicht eines Anfängers teilen. Hintergrund meiner Bemühungen war ein konkreter Anwendungsfall.
Ich hatte mir als Ziel gesetzt den Wasserdurchfluss meiner Wasser-Wasser-Wärmepumpe aufzuzeichnen. Für die Messung des Durchflusses verwende ich einen Ultraschall-Durchflussmesser TUF-2000B, dieser funktioniert soweit und zeigt den aktuellen Durchfluss und bietet als Schnittstelle RS485 an, siehe: Inbetriebnahme Ultraschall Durchflussmesser Flowmeter TUF-2000M. Um die Flussraten des TUF-2000B in Home-Assistant darzustellen und aufzuzeichnen, benötige ich eine Möglichkeit, die serielle Schnittstelle RS485 auszulesen und die Daten mittels WLAN an Home-Assistant zu übermitteln. Für den Empfang der Daten in Home-Assistant fehlt mir dann noch sowas wie MQTT, was ich in einem gesonderten Artikel beschreiben werde.
Equipment
Für den Anwendungsfall, also dem Aufzeichnen von Daten einer RS485-Schnittstelle habe ich folgende Hardware besorgt und zur Verfügung:
- ESP32 Dev Kit C V4 NodeMCU WLAN WiFi Development Board
(Herstellerdetails: https://www.az-delivery.de/blogs/azdelivery-blog-fur-arduino-und-raspberry-pi/esp32-das-multitalent) - RS485 zu TTL 5V Umwandler mit MAX13487 Chip für Raspberry Pi Arduino und andere MCU
- als Plan B hätte ich auch noch einen Raspberry PI 3 in der Schublade
Mein erstes Zwischenziel ist vorerst aber nur, den ESP32 über den vorhandenen USB-Port ansprechen zu können und ein Beispiel hochzuladen: Beides sollte über die Arduino IDE möglich sein.
siehe: Home-Assistant + DIY Mikrocontroller + ESP Home (Docker)
Arduino IDE aus dem MS-Store
Schon lange nicht mehr benötigt, aber vom Updaten des 3D-Druckers kann ich mich erinnern, dass die Arduino IDE im Windows-Microsoft Store zur Verfügung steht:
Nach dem Start der IDE kann die Board-Hardware unter Tools, Boards ausgewählt werden.
ESP32 fehlt bei den Boards
Anders als beim 3D-Drucker kann ich den ESP32 nicht unter den verfügbaren Boards finden:
Nach einer kurzen Recherche können unter Preferences zusätzliche Quell-URLs, für bis dato unbekannte Boards, hinzugefügt werden:
Nach einem kurzen Ausflug mit anderen URLs und der Board-Version 2.02 -> siehe ESP32 2.0.2, hat es mit Version 1.06 und der URL: "https://dl.espressif.com/dl/package_esp32_index.json" dann geklappt:
Nach Angabe der URL kann die Hardware im Boards Manager installiert und ausgewählt werden:
ESP32 per USB verbinden
Der ESP32 kann einfach mit einem USB-Kabel an den Computer angeschlossen werden, was bei mir auch das typische USB-Geräusch beim Verbinden neuer Geräte auslöst, dennoch taucht der ESP32 in der Arduino IDE nicht auf
als COM-Port ist nur Port: COM1 verfügbar
An dieser Stelle fehlt uns noch ein Treiber: docs.espressif.com/projects/esp-idf/en/latest/esp32/get-started/establish-serial-connection.html -> www.silabs.com/developers/usb-to-uart-bridge-vcp-drivers
CP210x Universal Windows Driver installieren
Nach dem Download und dem Entpacken des Treibers kann dieser einfach durch einen "Rechtsklick" und "Installieren" eingebunden werden:
Nach dieser Aktion taucht ein zusätzlicher COM-Port, in meinem Fall COM3 unter den Ports auf:
Nach dem Auswählen von COM3 haben wir eine Verbindung zu unserem ESP32:
Sind alle Vorbereitungen für das Programmieren eines ESP32 getroffen, können die in der Arduino IDE vorhandenen Beispiele angepasst und auf den ESP32 hochgeladen werden:
ESP32 2.0.2
Beim ersten Versuch einen ESP32 in der Arduino IDE zu programmieren, hätte ich die ESP32-Boards-Version 2.0.2 versucht: ... weiterlesen
{{percentage}} % positiv