Version 1.0-first_public

lecture: Python für das Internet der Dinge

Einführung in MicroPython für ESP8266 und Cortex-M4 Mikroprozessorboards

Event large

MicroPython ist eine neue, schlanke Implementierung der Programmiersprache Python, Version 3, die dafür optimiert ist, auf Systemen mit beschränkten Ressourcen, also z.B. Mikroprozessoren, zu laufen. MicroPython wurde bereits auf viele weit verbreitete Embedded-Plattformen portiert, so z.B. Boards mit STM32F4 Cortex-M4 oder ESP8266 Prozessoren und dient gleichzeitig als minimales Betriebssystem und zur Steuerung und Abfrage der Peripherie, Schnittstellen und Sensoren. Gleichzeitig läuft MicroPython auch unter UNIX-ähnlichen Betriebsystemen und damit auch auf Single-Board-Computern, wie dem Raspberry Pi. MicroPython ist ein Open Source Projekt unter der MIT-Lizenz und eine hervorragende Alternative zu Entwicklungsumgebungen für Elektronik-DIY-Projekte wie NodeMCU oder Arduino.

Durch Projekte wie Arduino und dutzende Nachahmer wurden der Einstieg in Elektronik und die Programmierung von Mikroprozessoren erheblich erleichtert. Trotzdem bleibt die Entwicklung von Software für Embedded Systems mit kompilierten Sprachen wie C/C++ umständlich, weil die Trennung der Umgebung, auf der entwickelt wird, und der Umgebung, auf der die Software läuft, das Debugging schwierig macht und exploratives Programmieren auch durch den wiederholten Code-Compile-Deploy-Test Zyklus erschwert wird.

Moderne Mikroprozessoren und Entwicklerboards bieten heute eine Vielzahl von Schnittstellen, um Embedded-Anwendungen untereinander zu vernetzen oder direkt mit dem Internet zu verbinden, sei es über WLAN, Ethernet oder Bluetooth. Der hohe Aufwand für die Implementierung der dafür notwendigen, komplizierten Protokolle im eigenen Projekt übersteigt oft die Möglichkeiten von DIY-Enthusiasten.

MicroPython bringt die Vorteile der Programmiersprache Python in den Embedded-Bereich: leicht erlernbare Syntax, hohe Abstraktion und einfache Benutzung komplexer Datentypen, eine umfangreiche Bibliothek für allgemeine Programmieraufgaben und zur Steuerung gängiger Komponenten von Mikroprozessorboards und vor allem einen interaktiven Modus, mit dem sich Python-Code unmittelbar über eine serielle Konsole auf dem Mikroprozessorsystem eingeben und ausführen lässt.

In diesem Vortrag wird die Entstehung, Organisation und Zielrichtung des MicroPython-Projekts vorgestellt und aufgezeigt, wofür und mit welcher Hardware sich MicroPython bereits heute und in Zukunft einsetzen lässt und welche Vorteile es gegenüber anderen Entwicklungsumgebungen für Mikroprozessoren, wie z.B. Arduino oder NodeMCU bietet. Als Demonstration werden kleine Beispielanwendungen auf drei verschiedenen Hardwareplattformen (STM32F4DISCOVERY, ESP-12, Raspberry Pi) vorgeführt und der zugehörige Python-Quellcode gezeigt und in groben Zügen erläutert. Es ist genügend Zeit für Fragen aus dem Publikum nach dem Vortrag vorgesehen, wer sich darüber hinaus für die Details der Programmierung mit MicroPython interessiert, hat außerdem Gelegenheit, den Referenten am Stand des Python Software Verbands anzusprechen.