Die Veröffentlichung des Mongoose OS 2.20.0-Projekts ist verfügbar und bietet ein Framework für die Entwicklung von Firmware für IoT-Geräte (Internet of Things), die auf der Basis der Mikrocontroller ESP32, ESP8266, CC3220, CC3200, STM32F4, STM32L4 und STM32F7 implementiert sind. Es gibt integrierte Unterstützung für die Integration mit AWS IoT-, Google IoT Core-, Microsoft Azure-, Samsung Artik- und Adafruit IO-Plattformen sowie mit allen MQTT-Servern. Der in C und JavaScript geschriebene Projektcode wird unter der Apache 2.0-Lizenz vertrieben.
Zu den Merkmalen des Projekts gehören:
- mJS-Engine, die für die Entwicklung von Anwendungen in JavaScript entwickelt wurde (JavaScript ist für Rapid Prototyping geeignet und für endgültige Anwendungen werden C/C++-Sprachen vorgeschlagen);
- OTA-Update-System mit Unterstützung für Update-Rollback im Fehlerfall;
- Tools für die Remote-Geräteverwaltung;
- Integrierte Unterstützung für Datenverschlüsselung auf einem Flash-Laufwerk;
- Bereitstellung einer Version der mbedTLS-Bibliothek, optimiert, um die Fähigkeiten von Krypto-Chips zu nutzen und den Speicherverbrauch zu minimieren;
- Unterstützt die Mikrocontroller CC3220, CC3200, ESP32, ESP8266, STM32F4, STM32L4, STM32F7;
- Verwendung der Standard-ESP32-DevKitC-Tools für AWS IoT und des ESP32-Kits für Google IoT Core;
- Integrierte Unterstützung für AWS IoT, Google IoT Core, IBM Watson IoT, Microsoft Azure, Samsung Artik und Adafruit IO;
Zu den Änderungen in der neuen Version gehören:
- Es besteht die Möglichkeit, einen externen LwIP-Netzwerkstapel zu verwenden.
- Verschlüsselungsbezogene Funktionen wurden in die mbedtls-Bibliothek verschoben;
- Für ESP8266-Chips wurde allen Speicherzuweisungsfunktionen ein Stapelüberlaufschutz hinzugefügt und die Implementierung von Malloc-Funktionen optimiert.
- Die libwpa2-Bibliothek wurde eingestellt;
- Verbesserte Auswahllogik für DNS-Server;
- Verbesserte Initialisierung des Pseudozufallszahlengenerators;
- Für ESP32-Chips umfasst LFS eine transparente Verschlüsselung von Daten auf Flash-Laufwerken;
- Unterstützung für das Laden von Konfigurationsdateien von VFS-Geräten hinzugefügt;
- Die Verwendung von SHA256-Hashes zur Authentifizierung wurde implementiert.
- Die Unterstützung für Bluetooth und WLAN wurde deutlich erweitert.
Source: opennet.ru