Einleitung
  • Tipps zum Umgang mit der Kursoberfläche
  • "Bare-Metal"-Programmierung oder Betriebssystem?
  • Warum Python für die Mikrocontroller-Programmierung?
  • Was ist MicroPython überhaupt?
  • Vorbemerkungen zur allgemeinen Installation
  • Download aller Beispiel-Programme
Thonny: unsere Micropython-Entwicklungsumgebung
  • Download und Installation von Thonny
  • Erste Vorstellung der Thonny-Oberfläche
Micropython auf dem ESP32 und ESP8266 (Download und Installation)
  • Vorstellung des Wifi Kit 32
  • Installation von esptool.py
  • Download der Micropython-Firmware für den ESP32 (und ESP8266)
  • Installation der Micropython-Firmware für den ESP32 (und ESP8266)
Micropython auf dem STM32 (Download und Installation)
  • Das Nucleo64-Board "STM32L476RG"
  • Download der Micropython-Firmware für den STM32
  • Installation des DFU-Filemanagers und Upload der Micropython-Firmware (STM32)
Familienzuwachs: der Raspberry Pi Pico
  • Vorstellung des Raspberry Pi Picos (32 bit für 4 $)
  • Drag and Drop: MicroPython-Installation auf dem Pi Pico
  • Nachtrag zur Funktion der Boot-Select-Taste
  • Ein erstes Programm: Raspberry Pi Pico und die Thonny IDE
  • Auslesen des internen Temperatur-Sensors
Die Micropython Startsequenz
  • Was passiert beim Starten von Micropython?
Die Ansteuerung der Anschluss-Pins (GPIO)
  • Das brauchst Du an Hardware?
  • Die Klasse "Pin": einen Ausgang ein- und ausschalten
  • GPIO-Pins auf dem STM32
  • Praxis-Beispiel: Ampelschaltung
  • Die Klasse "Signal": konfigurierbare Logik der IO-Pins
  • Einlesen der IO-Pins: Vorüberlegungen
  • Einlesen der IO-Pins: Schaltungsaufbau
  • Einlesen der IO-Pins: das Programm
Nutzung der Pulsweiten-Modulation (PWM)
  • PWM-Technik: Vorüberlegungen
  • PWM-Technik im MicroPython-Code
Analoge Werte einlesen
  • Schaltung zum Testen des AD-Wandlers
  • Programm zum Einlesen und Darstellen analoger Werte
Analoge Werte ausgeben
  • Einsatz der Klasse "DAC" für den ESP32
  • Es geht auch genauer: analoge Ausgaben mit dem SMT32
  • Der STM32 als Funktionsgenerator
Interrupts
  • Interrupts an GPIO-Anschlüssen auswerten
  • Timer und Timer-Interrupts
UART: die serielle Schnittstelle
  • Vorüberlegungen für den UART-Einsatz
  • Kommunikation zwischen zwei ESP32-Boards
  • UART-Kommunikation im Detail: Schaltungsaufbau
  • UART-Kommunikation im Detail: alle wichtigen Funktionen
I²C - viele Teilnehmer an einem einzigen 2-Draht-Bus
  • I²C Basics: das solltest Du auf jeden Fall vorher wissen
  • Berührungsloses Fieberthermometer mit dem MLX90615
Ansteuerung des integrierten OLED-Bildschirms beim WiFi Kit 32
  • Die Treiber-Installation für das OLED
  • Einfache Textausgaben
  • Ausgaben von Variableninhalten
  • Einfache Grafik und Bewegung
  • Alle Framebuffer-Methoden in der Übersicht
WLAN und Web-Server
  • Ein paar Worte zur Netzwerk-Programmierung unter Micropython
  • Einrichten des ESP32/ESP8266 als Wifi Access Point
  • ESP32 als Wifi Access Point mit Mini-Website
  • Die Konfiguration des WLAN-Moduls als Station-Inferface
  • Installation des Micro-Webservers und Ausgabe von Messwerten auf einer Webseite
Der eigene Build: Vom Quellcode zur eigenen Firmware
  • Wichtig bitte zuerst anschauen
  • Warum überhaupt ein eigenes Buildsystem?
  • Wir richten unser Entwicklungssystems ein
  • Linux auf dem Windows-PC: das WSL (Windows Subsystem Linux)
  • Der Download des Micropython Quellcode-Systems mit git von github
  • Vorstellung des Micropython-Cross-Compilers "mpy-cross"
  • Build-Ablauf auf dem STM32 (aber für alle wichtig)
  • Build-Ablauf STM32 mit modifiziertem Quellcode (Freigabe von COM1 bis COM5)
  • Build-Ablauf für den Raspberry Pi Pico
  • Etwas komplexer: Build-Ablauf für den ESP32 & Co.
Micropython in Python erweitern
  • Welche Erweiterungsmöglichkeiten gibt es überhaupt?
  • Python-Module in den User-File-Space laden
  • Die Firmware um eigene Python-Frozen-Modules erweitern
Micropython in C erweitern
  • Vorwort und Aufbau einer geeigneten Verzeichnisstruktur
  • Aufbau einer C-(µPython)-Funktion und Binding
  • Einbinden der C-Funktion in ein µPython-Modul
  • Modifikationen der make- und cmake-Dateien (Anpassung des Build-Vorgangs)
  • Implementation der ersten Funktion und Build mit dem STM32 (wichtig für alle!)
  • Drei neue Funktionen und erneuerter STM32-Build (wichtig für alle)
  • Build mit Fehlersuche auf dem ESP32 (interessant für alle Boards)
  • Build mit Fehlersuche auf dem Raspberry Pi Pico (interessant für alle)