Arbeitszeiterfassung mit RP2040: So spart Micropython mit Frozen Bytecode viel Speicher

Ein Webserver mit Download-Funktion und nur 264 kByte RAM: Wir zeigen, wie komplexe Python-Projekte auf dem Raspberry Pi Pico und anderen Mikrocontrollern möglich sind.

Eine Anleitung von Johannes Hiltscher veröffentlicht am
Vermutlich ist diese Python nicht eingefroren - sie hat aber auch keine Probleme mit kleinem RAM.
Vermutlich ist diese Python nicht eingefroren - sie hat aber auch keine Probleme mit kleinem RAM. (Bild: Jan Kopriva/CC0 1.0)

Python und Mikrocontroller – vor einem Jahr hielt ich das noch für eine ziemlich blöde Idee. Micropython hat mich eines Besseren belehrt, mittlerweile nutze ich es gern für aufwändigere Projekte, etwa zur Arbeitszeiterfassung mit RFID-Tags (g+) (den Code gibt es demnächst hier). Der Komfort hat aber einen Nachteil: Während kompilierte Binärprogramme aus dem Flash-Speicher des Raspberry Pi Pico ausgeführt werden, belegt der erzeugte Python-Bytecode den knappen Arbeitsspeicher. Wertvoller Platz für Daten geht verloren. Verhindern lässt sich das mit Frozen Bytecode – was das bedeutet, wie es funktioniert und wie sich sonst noch der knappe RAM sparen lässt, zeigen wir in diesem Artikel.


Weitere Golem-Plus-Artikel
Speicherleaks vermeiden: Ressourcen- und typensicheres Programmieren in C++
Speicherleaks vermeiden: Ressourcen- und typensicheres Programmieren in C++

Bei C++ liegt alles in der Hand der Entwickler - und das kann gut und schlecht sein. Richtig angewendet, ist die Sprache aber alles andere als unsicher.
Eine Anleitung von Adam Jaskowiec


Microsoft: Was ist neu in der dritten Preview von .NET 8?
Microsoft: Was ist neu in der dritten Preview von .NET 8?

Seit Ende Februar folgen im Monatsrhythmus neue Previews von Version 8 des .NET Frameworks. Wir werfen einen genauen Blick auf die Neuerungen der dritten Vorschauversion.
Von Fabian Deitelhoff


Spieleklassiker: Snake programmieren mit Lua und Löve
Spieleklassiker: Snake programmieren mit Lua und Löve

Mit der Open-Source-Sprache Lua und der Bibliothek Löve lassen sich einfach 2D-Spiele programmieren. Wir haben das mit dem Spieleklassiker Snake gemacht.
Von Julian Thome und Sören Leonardy


    •  /