Foi lançado o projeto MicroPythonOS 0.18.0, que desenvolve um sistema operacional para microcontroladores, como o ESP32, escrito utilizando as ferramentas do MicroPython. O sistema operacional possui uma interface gráfica, desenvolvida com inspiração no Android e iOS, que suporta controle via telas sensíveis ao toque ou botões de navegação. As áreas de aplicação do MicroPythonOS incluem dispositivos de Internet das Coisas (IoT), sistemas de automação residencial, painéis interativos, robôs e dispositivos vestíveis inteligentes com controle por gestos na tela. O projeto também pode ser utilizado para o desenvolvimento rápido de protótipos de novos dispositivos. O código é escrito nas linguagens C e Python e é distribuído sob a licença MIT.
O MicroPythonOS oferece um sistema básico mínimo responsável pela inicialização e interação com o hardware, montagem de unidades, multitarefa e interface do usuário. Toda a funcionalidade restante, como configuração de Wi-Fi e instalação de atualizações, é gerida por meio de aplicativos. O conjunto básico inclui um menu de aplicativos, um configurador, um widget para configurar Wi-Fi, um programa de instalação e atualização de aplicativos.
Para os aplicativos, é recomendado o uso da linguagem MicroPython (uma versão reduzida do Python 3) e um subconjunto das bibliotecas do Python. É possível instalar aplicativos externos, distribuídos através de um catálogo centralizado na App Store (por exemplo, um visualizador de imagens e um programa para trabalhar com a câmera são disponibilizados através da App Store). As atualizações são entregues pela rede em modo OTA (over-the-air). Há suporte para Wi-Fi, Bluetooth, codecs de áudio, sensores IMU (Unidade de Medição Inercial), telas sensíveis ao toque e câmeras.
Entre as mudanças na nova versão:
- Foi adicionada a suporte para a placa Waveshare ESP32-S3-Touch-LCD-3.5 com uma tela incorporada de 3,5 polegadas (320×480) e codec de áudio ES8311.
- No catálogo de aplicativos AppStore, foi adicionada a opção "Scan QR" para escanear o código QR com o identificador do programa (https://badgehub.eu/page/project/APP_ID, micropythonos://app/APP_ID ou mpos://app/APP_ID) e exibir informações detalhadas sobre o aplicativo. No programa da câmera, ao escanear códigos QR, foi adicionada a funcionalidade de reconhecimento de links para aplicativos e a apresentação de um diálogo para ir ao catálogo de aplicativos.
- No AppManager, foi adicionada a capacidade de vincular manipuladores de URL a aplicativos.
- O reprodutor de música agora suporta a funcionalidade de repetição em todas as plataformas. Melhorou o suporte a sistemas de áudio conectados via barramento I2S (Inter-IC Sound).
- O gerenciador de fontes implementou caching para códigos emoji.
- O TaskManager agora possui uma função para monitorar o estado das tarefas em execução e reiniciá-las assim que terminam. O modo de reinício automático foi aplicado ao console aiorepl.
- Foi adicionado a compressão de arquivos estáticos para o sistema de arquivos (freezefs —compress), assim como a limpeza de arquivos pycache e de backups deixados no ambiente de construção, resultando em uma redução no tamanho do firmware de 39 KB. A compressão das fontes Montserrat 10-18 foi incluída, economizando 19 KB.
Fonte: opennet.ru
