Micropython mit ESP32 / Micropython Grundlagen
Dieser neue Kurs wird am 12. September 2019 starten. Die Verwendung eines ESP32 eröffnet neue Möglichkeiten. Durch den Einsatz von Micropython als Programmiersprache können wir komplexere Projekte realisieren, ohne dass die Programme zu unübersichtlich werden. Der Kurs setzt grundlegende Kenntnisse über Mikrokontroller und Programmierung voraus. Du muss aber werder den ESP32 kennen, noch Programmierkenntnisse in Python haben. Du solltest aber wissen, wie man eine LED an einen Mikrokontroller anschliesst und solltest schon einmal mit irgend einer Programmiersprache gearbeitet haben. Es wird erwartet, dass du weisst, was Variablen und Funktionen sind. Parallel dazu wird der Kurs 'Micropython Grundlagen' angeboten. Er ist vür diejenigen gedacht, die etwas tiefer in die Sprache Micropython eintauchen möchten. Der Arduino - Kurs auf diesem Kanal ist sicher eine mehr als genügende Grundlage.
-
Mitteilungen
Hier findest du diverse Informationen zum ESP32 - Kurs. Dieser Bereich kann nur gelesen werden.
- Themen
- 2
- Beiträge
- 2
-
Themenvorschläge und Diskussionen
Was soll in diesem Kurs noch behandelt werden? Bitte teile uns hier deine Wünsche mit. Hier ist auch Platz für Verbesserungsvorschläge und andere Anmerkungen.
- Themen
- 21
- Beiträge
- 210
-
Projekte
Hast du ein interessantes Projekt realisiert? Bitte stelle uns das doch vor. Oder hast du etwas begonnen und bist irgendwie stecken geblieben? Dann ist hier der richtige Ort um Hilfe zu finden. Das ist allerdings nur als Hilfe zur Selbsthilfe zu verstehen. Du wirst hier kaum jemanden finden, der ein Projekt für dich von A bis Z realisiert. Falls du keine Ahnung vom Programmieren hast, schiebe dein Projekt etwas hinaus und arbeite zuerst diesen Kurs durch.
- Themen
- 4
- Beiträge
- 13
-
Micropython auf verschiedenen Entwicklungsumgebungen
Micropython kann nicht nur mit Hilfen von Thonny programmiert werden. Es gibt noch diverse andere Editoren. Als leistungsfähiger Editor kann Visual Studio Code oder Pycharm verwendet werden. Leider gibt es scheinbar aktuell keine vernünftige Implementierung für PlatformIO.
- Themen
- 3
- Beiträge
- 12
-
Die Lektionen zu 'Micropython mit ESP32'
Hier findet die Diskussion zum Kurs 'Micropython mit ESP32' statt. Du findest zu jeder Lektion einen eigenen Bereich. Bitte erstelle deinen Beitrag im korrekten Bereich, damit jeder weiss um welche Lektion es sich handelt.-
Bevor es losgeht
Noch gibt es keine Lektionen. Fragen, die vorab auftreten, können aber hier gestellt werden.
- Themen
- 3
- Beiträge
- 35
-
Lektion 1: Ein neuer Kurs, was erwartet dich?
Diesmal wird in Micropython programmiert. Ein einfacher Arduino genügt da nicht, wir verwenden daher einen ESP32. In dieser Lektion erfährst du, wie der Kurs abläuft und was wir machen werden.
- Themen
- 0
- Beiträge
- 0
-
Lektion 2: Die Hardware
Hier besprechen wir die im Kurs verwendete Hardware. Falls du ein anderes ESP32 - Board verwenden möchtest, erfährst du in dieser Lektion, welche Informationen du dir beschaffen musst.
- Themen
- 5
- Beiträge
- 39
-
Lektion 3: Die Software
Jetzt installieren wir die Entwicklungsumgebung und spielen den Micropython - Interpreter auf das Board. Mit Hilfe von Thonny führen wir ein erstes Blink - Programm aus.
- Themen
- 10
- Beiträge
- 87
-
Lektion 5: Das Display
Jetzt ist es Zeit, das Display in Betrieb zu nehmen. Wie bindet man externe Module ein und welche Befehle versteht unser Display. All das wird in diesem Video geklärt.
- Themen
- 10
- Beiträge
- 67
-
Lektion 6 / 7: Die Stoppuhr
Wir benutzen das bisher Gelernte und versuchen eine einfach Stoppuhr zu bauen. Wir werden einige Funktionen erstellen, diverse arithmetische Operatoren verwenden und lernen, wie man Zahlen in einem gewünschten Format ausgibt. Wir werden die Funktionen Start und Stopp miteinander aufbauen. Das Hinzufügen einer Zwischenzeit kannst du dann als Übungsaufgabe erledigen. Lektion 7 zeigt eine Musterlösung. Dies kann ebenfalls hier diskutiert werden.
- Themen
- 3
- Beiträge
- 29
-
Lektion 8: Temperatur, Luftfeuchtigkeit und Druck
Wir messen mit Hilfe des Sensors BME280 Temperatur, Luftfeuchtigkeit und Luftdruck. Dabei muss die 5V / 3.3V - Problematik beachtet werden.
- Themen
- 8
- Beiträge
- 88
-
Lektion 9: Die Thonny-Version 3.2.3
Die neue Thonny - Version bringt eine Umstellung im Arbeitsablauf. Hier werden die wichtigsten Punkte gezeigt.
- Themen
- 3
- Beiträge
- 11
-
Lektion 10: Einige Änderungen und Fragen
Wir haben nicht nur eine neue Thonny - Version, auch vom Heltec - Board ist eine neue Version erhältlich. Könnte das der Grund für diverse Probleme sein? Die Schaltung und das Programm wird so angepasst, dass hoffentlich beide Board-Versionen funktionieren.
- Themen
- 2
- Beiträge
- 14
-
Lektion 11: Nochmals BME280
Jetzt ist es bestätigt: beide Versionen (5V und 3.3V) des Sensors funktionieren problemlos mit 3.3V. Ausserdem korrigieren wir den Luftdruck so, dass er mit den umliegenden Wetterstationen übereinstimmt. Eine Normalisierung mit Hilfe der Barometrischen Höhenformel wäre viel zu kompliziert. Es gibt aber einfachere Wege.
- Themen
- 0
- Beiträge
- 0
-
Lektion 12: WLAN - Verbindung
Der ESP32 lässt sich einfach mit dem Internet verbinden. Wir verwenden das, um die genaue Zeit abzufragen.
- Themen
- 7
- Beiträge
- 69
-
Lektion 13: Modularisierung und Zeitanzeige
Wenn das Programm grösser wird, empfiehlt es sich, dieses in Module aufzuteilen. Diese Module sind dann eine Art eigene Bibliotheken, die in verschiedenen Projekten verwendet werden können. Ausserdem geben wir jetzt die laufende Zeit auf das OLED aus.
- Themen
- 1
- Beiträge
- 1
-
Lektion 14: Zugriff auf Webservice
Um Wettervorhersagen anzeigen zu können, benötigen wir zusätzliche Informationen. Diese bekommen wir von openweathermap.org. Die stellen uns ein API zur Verfügung, das uns die Daten im JSON-Format zur Verfügung stellt.
- Themen
- 4
- Beiträge
- 19
-
Lektion 15: Der ESP32 als Webserver
Unser Display hat etwas wenig Platz. Darum geben wir die Daten auf einer Webseite aus. Zum Glück eignet sich der ESP32 gut als Webserver.
- Themen
- 6
- Beiträge
- 28
-
Lektion 16: Automatische Aktualisierung und Zeitanzeige
Jetzt werden stets die aktuellen Daten angezeigt. Ein neues Modul erlaubt einen robusteren und bequemeren Bezug der Daten. Ausserdem bauen wir die in Lektion 12 kennengelernten Zeit- und Datumsfunktionen ein.
- Themen
- 0
- Beiträge
- 0
-
Lektion 17: Speichern von Daten in einer Datei
Um den Arbeitsspeicher zu entlasten, schauen wir, wie man die Daten in eine Datei ablegen kann.
- Themen
- 3
- Beiträge
- 13
-
Lektion 18: Das OneCall API
Openweathermap stellt uns ein neues API zur Verfügung, das wir in Zukunft nutzen wollen. Ausserdem machen sich langsam Speicherplatzprobleme bemerkbar. Wir müssen uns also auch mit Optimierungen und garbage collection beschäftigen.
- Themen
- 0
- Beiträge
- 0
-
Lektion 19: Nochmals grosse Änderungen
Leider hat Garbage - Collection nicht den gewünschten Erfolg gebracht. Also muss mehr RAM her! Dafür können wir jetzt aber auch die Wetterprognosen der nächsten Tage besorgen.
- Themen
- 3
- Beiträge
- 14
-
Lektion 20: Ein grösseres Display
Das neue ESP32 - Board hat kein eigenes Display mehr. Deshalb versuchen wir das in der Arduino - Welt oft verwendete 2.8" LCD TFT - Modul einzusetzen. Es ist farbig und besitzt einen Touch - Screen. Als Controller ist ein ILI9341 verbaut. Wir untersuchen, wie das Display am Arduino, dem ESP32 Board mit der Arduino IDE und mit Micropython funktioniert. Leider bleiben beim Einsatz mit Micropython noch einige Fragen offen.
- Themen
- 1
- Beiträge
- 19
-
-
Die Lektionen zu 'Micropython Grundlagen'
Hier findet die Diskussion zum Kurs 'Micropython Grundlagen' statt. Du findest zu jeder Lektion einen eigenen Bereich. Bitte erstelle deinen Beitrag im korrekten Bereich, damit jeder weiss um welche Lektion es sich handelt.-
Bevor es losgeht
Noch gibt es keine Lektionen. Fragen, die vorab auftreten, können aber hier gestellt werden.
- Themen
- 0
- Beiträge
- 0
-
Lektion 1: Einleitung und erste Schritte
Für alle, die es etwas genauer wissen möchten. Hier werden die Grundlagen der Sprache Micropython auf eine etwas systematischere Art besprochen. Keine Angst, die erste Lektion ist ganz einfach. Das Begleitmaterial kannst du hier herunterladen: https://www.hobbyelektroniker.ch/resources/PytGr1.zip
- Themen
- 1
- Beiträge
- 3
-
Lektion 2: Kommentare, Blöcke und Operatoren
Kommentare, Programmblöcke und Operatoren sind wichtige Bestandteile jeder Programmiersprache. Wie das in Python funktioniert, lernst du in dieser Lektion. Das Begleitmaterial kannst du hier herunterladen: https://www.hobbyelektroniker.ch/resources/PytGr2.zip
- Themen
- 2
- Beiträge
- 4
-
Lektion 3: Textformatierung
Laaangweilig!!! Aber trotzdem notwendig! Texte und Zahlen müssen korrekt formatiert sein, um wirklich gut lesbar zu sein. Python bietet hier einige komfortable Möglichkeiten. Das Begleitmaterial kannst du hier herunterladen: https://www.hobbyelektroniker.ch/resources/PytGr3.zip
- Themen
- 1
- Beiträge
- 3
-
Lektion 4: Einfache Datentypen
Micropython behandelt Datentypen recht unkompliziert. Trotzdem sollte man sie kennen, damit man bei Bedarf korrigierend eingreifen kann.
- Themen
- 0
- Beiträge
- 0
-
Lektion 5 - 8: Mengentypen
Python ist sehr mächtig in der Verarbeitung von Mengen. Hier werden Set, Tuple, List und Dictionary besprochen.
- Themen
- 1
- Beiträge
- 19
-
Lektion 9: Bedingungen und Schleifen
Die Ablaufsteuerung in einem Programm wird über Kontrollstrukturen realisiert. Die wichtigsten Konstrukte dafür besprechen wir in diesem Video.
- Themen
- 1
- Beiträge
- 12
-
Lektion 10: Funktionen
Funktionen sind ein wichtiger Bestandteil jeder Programmiersprache. Python bietet spezielle Möglichkeiten bezüglich der Übergabe der Argumente und Rückgabe der Resultate.
- Themen
- 1
- Beiträge
- 3
-
Lektion 11: Globale und lokale Variablen
In Python gibt es keine Deklaration von Variablen. Jede Zuweisung erzeugt eine neue Variable. Deshalb sind in Python einige Spezialitäten zu beachten.
- Themen
- 0
- Beiträge
- 0
-
Lektion 12: Micropython, ESP32 und das Multitasking
Multitasking, genauer Multithreading, erlaubt uns Arbeiten im Hintergrund auszuführen. Während unser Programm ungestört weiterläuft, kann es zum Beispiel im Hintergrund Anfragen beantworten. Das verwenden wir zum Beispiel im Webserver der Wetterstation. Obwohl die Unterstützung in Micropython etwas bescheiden ist, lässt sich mit dem _thread - Modul schon gut arbeiten.
- Themen
- 1
- Beiträge
- 3
-
Lektion 13-14: Klassen in Micropython
Klassen sind auch in Micropython ein wichtiges Konstrukt. Sie arbeiten wie die Klassen in Python 3.x. Daher werden wir auch mit Hilfe von Thonny mit Standardpython arbeiten. So müssen wir keine Hardware aufbauen und haben ohne Probleme ein virtuelles Display auf dem Computer zur Verfügung. Diese Einführung in die objektorientierte Programmierung steht ganz im Zeichen der Praxis. Wir erstellen drei Klassen, um einfache geometrische Objekte auf dem Bildschirm zu bewegen. Im zweiten Teil lernen wir die Vorzüge der Vererbung kennen.
- Themen
- 1
- Beiträge
- 6
-