Die Version 0.18.0 des Projekts MicroPythonOS ist verfügbar, das ein Betriebssystem für Mikrocontroller wie den ESP32 entwickelt, das mit den Werkzeugen von MicroPython geschrieben wurde. Das Betriebssystem ist mit einer grafischen Benutzeroberfläche ausgestattet, die an Android und iOS orientiert ist und die Steuerung über Touchscreens oder Navigationstasten unterstützt. Zu den Anwendungsbereichen von MicroPythonOS gehören Internet of Things (IoT) Geräte, Systeme zur Hausautomatisierung, interaktive Displays, Roboter und intelligente tragbare Geräte mit Gestensteuerung. Das Projekt kann auch für die schnelle Entwicklung von Prototypen neuer Geräte verwendet werden. Der Code ist in C und Python geschrieben und wird unter der MIT-Lizenz verbreitet.
MicroPythonOS bietet ein minimales Basissystem, das für die Initialisierung und Interaktion mit der Hardware verantwortlich ist, das Einbinden von Speichermedien, Multitasking und die Benutzeroberfläche. Alle anderen Funktionen, wie die Konfiguration von Wi-Fi und die Installation von Updates, sind in Anwendungen ausgelagert. Zum Basispaket gehören ein Anwendungsmenü, ein Konfigurator, ein Widget zur Wi-Fi-Konfiguration, ein Installationsprogramm und ein Aktualisierungsprogramm für Anwendungen.
Für Anwendungen wird die Programmiersprache MicroPython (eine reduzierte Version von Python 3) und eine Teilmenge der Python-Bibliotheken empfohlen. Es ist möglich, externe Anwendungen zu installieren, die über ein zentrales App-Store-Verzeichnis verbreitet werden (beispielsweise werden über den App Store Bildbetrachter und Kameraprogramme bereitgestellt). Updates werden drahtlos (OTA - over-the-air) geliefert. Unterstützung für Wi-Fi, Bluetooth, Audio-Codecs, IMU-Sensoren (Inertial Measurement Unit), Touchscreens und Kameras ist vorhanden.
Zu den Neuerungen in der neuen Version gehören:
- Die Unterstützung für die Waveshare ESP32-S3-Touch-LCD-3.5-Platine mit einem eingebauten 3,5-Zoll-Bildschirm (320×480) und dem Audio-Codec ES8311 wurde hinzugefügt.
- Im App Store wurde die Schaltfläche «QR scannen» hinzugefügt, um QR-Codes mit der Programm-ID (https://badgehub.eu/page/project/APP_ID, micropythonos://app/APP_ID oder mpos://app/APP_ID) zu scannen und detaillierte Informationen zur Anwendung anzuzeigen. In der Kamera-App wurde die Erkennung von Links zu Anwendungen beim Scannen von QR-Codes hinzugefügt, sowie ein Dialog für den Zugriff auf das App-Verzeichnis.
- Im AppManager wurde die Möglichkeit hinzugefügt, URL-Handler an Anwendungen zu binden.
- Im Musikplayer funktioniert das Flag für die wiederholte Wiedergabe auf allen Plattformen. Die Unterstützung für Audiosysteme, die über den I2S-Bus (Inter-IC Sound) angeschlossen sind, wurde verbessert.
- Im Schriftartenmanager wurde das Caching von Emoji-Codes implementiert.
- Im TaskManager wurde eine Funktion zum Verfolgen des Status laufender Aufgaben und deren Neustart bei Beendigung hinzugefügt. Der Autorestart-Modus wurde für die aiorepl-Konsole angewendet.
- Die Komprimierung statischer Dateisystemarchive (freezefs —compress) wurde hinzugefügt, zudem wurde die Bereinigung von pycache-Dateien und veralteten Sicherungskopien in der Build-Umgebung aktiviert, wodurch die Firmware-Größe um 39 KB verringert wurde. Die Komprimierung der Schriftarten Montserrat 10-18 wurde implementiert, was 19 KB eingespart hat.
Quelle: opennet.ru
