• Archiv der Kategorie: Micro-Controller-Programmierung

Starten mit WEMOS LOLIIN ESP32

Basiert auf dem Artikel „Smarte Helfer selbst gebaut“ im CT Heft Nr. 2018/2 S. 64ff.

Software-Links dazu.

Schritt 1: Arduino IDE herunter laden

Schritt 2: ESP32 SW-Ausrüstung in Arduino-IDE einspielen

Dazu ist es einfacher die Installation via „Board-Manager“ durchzuführen: Anleitung (aus der Espressive Page)

Anleitung Backup: Dazu unter Preferences ‚Additional Board Managers‘ den hier https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_dev_index.json eintragen (mehrere solche URL würden mit Komma separiert). Dann „Boards Manager“ aus „Tools > Board menu“ öffnen „esp32 platform“ installieren.

Schritt 3: CT Software Libraries einspielen

Vorgehen gemäss Heft. SW Links unter ct.de/y73t

Stolpersteine:
Bei ArduinoJson ist auf dem GITHub bereits die Version 6. Basecamp arbeitet aber nur mit Version 5 zusammen. Zum Glück hat der Arduino IDE Library-Manager eine ArduinoJson Version 5 verfügbar. —> Installiere von dort!
Nachtrag:  ct.de/y73t liefert die Bibliotheken auch direkt als ZIP. Da hätte man wahrscheinlich das Versionsproblem auch nicht.

Schritt 4: Sketch übertragen

CT stellt die Beispielcodes zu Verfügung. (Link muss ich noch finden)

Zuerst Sketch in Editor der IDE laden.

Zu Übertragung:
– Unter ‚Tools‘ > ‚Board‘ das passende ESP Board einstellen. Unter dem ‚Board‘-Menu muss es ein ‚ESP32 Arduino‘-Menu haben, ansonsten ist wahrscheinlich Schritt 2 nicht richtig ausgeführt worden.
Wähle ‚WEMOS LOLIN32‘. Wenn der nicht geht ‚ESP32 Dev Module‘.
– Reduziere allenfalls die Übertragungsgeschwindigkeit
– Wähle den richtigen Port, nämlich jenen, der im Gerätemanager (devmgmt.msc (Windows)) unter „Anschlüsse (COM & LPT)“ die Bezeichnung „USB to UART Bridge“ trägt. Falls kein solcher vorliegt, sieh weiter unten, Stichwort ‚Übertragungsfehler‘.
– Menu ‚Sketch‘ > ‚Upload‘
– Die Meldung „Leaving…  Hard resetting via RTS pin… “ ist nicht als Fehlermeldung zu betrachten.

Bei Übertragungsfehlern (typischerweise Timout) prüfen:
– Innerhalb des Gerätemanager (devmgmt.msc (Windows)) prüfen ob unter „Anschlüsse (COM & LPT)“ ein „Silicon Labs CP210x USB to UART Bridge“ vorhanden ist. Wenn nicht, liegt das eventuell daran, dass ein Wackel vorliegt. Kabel am ESP anpressen kann schon helfen, oder aber das USB Kabel wechseln. Möglich wäre auch das Windows tatsächlich den Treiber nicht installiert hat. Man ihn also manuell nachinstallieren müsste.

 

Dachfenster-Sensor mit Alarm auf dem Handy

Hauptgrundlage:

Beschrieben in CT-Artikel 1/2.

MQTT:

Leit-Artikel: https://www.heise.de/developer/artikel/Kommunikation-ueber-MQTT-3238975.html

Effektiv habe ich installiert:

Mosquitto-MQTT-Broker auf lokalem Rechner. Benötigte nur Download von Mosquitto-Download-Site. Nach Ausführen der Windows-Installation-Prozedur wird der Server gestartet mit Kommando:

mosquitto -v

Um die vom ESP32 an den MQTT-Broker gesendeten Messges anzusehen habe ich mit MQTT.fx einen lokalen standalone MQTT-Client installiert.

 

Nervige Probleme beim Experimentieren mit Arduion/ESP32

  1. Spannung ist nicht zwischen allen 3V und GRD pins vorhanden.
  2. Wackelkontakte (betrifft nur ESP32)
    Die Stromleitung vom IC über die Steckstifte über das Breadboard und die verwendeten Kabel hatten ständig Wackelkontakt. (Eventuell liegt das am Breadboard, oder auch am ESP. Ich kann mich nämlich nicht erinnern, dieses Problem mit dem Arduino-Starterkit auch gehabt zu haben.
  3. Serial Console zeigt nur unlesbare Zeichen an. –> Lag oft an der eingestellten Übertragungsrate. Muss mit der Rate, die im Sketch eingestellt ist überein stimmen.
  4. Übertragungsfehler des Sketches auf den IC. Könnte an zu hoher Übertragungsrate liegen.
  5. Übertragungsfehler des Scetches auf den ESP32: Verifiziere im Gerätemanager (devmgmr.msc) ob unter „Anschlüsse (COM & LPT)“ die „Silicon Labs CP210 USB to UART Bridge“ vorhande ist. Ich hatte das Problem eines Wackelkontakts: Wenn ich den USB anschluss am ESP aktiv andrückte, dann ploppte im Gerätemanager der Anschluss auf. Kann auch am USB-Kabel liegen.
Schließen