Dostępna jest wersja projektu Mongoose OS 2.20.0 oferującego framework do tworzenia oprogramowania sprzętowego dla urządzeń Internetu Rzeczy (IoT) zaimplementowanego w oparciu o mikrokontrolery ESP32, ESP8266, CC3220, CC3200, STM32F4, STM32L4 i STM32F7. Istnieje wbudowana obsługa integracji z platformami AWS IoT, Google IoT Core, Microsoft Azure, Samsung Artik, Adafruit IO, a także z dowolnymi serwerami MQTT. Kod projektu, napisany w języku C i JavaScript, rozpowszechniany jest na licencji Apache 2.0.
Cechy projektu obejmują:
- silnik mJS, przeznaczony do tworzenia aplikacji w języku JavaScript (JavaScript jest nastawiony na szybkie prototypowanie, a do zastosowań końcowych proponowane są języki C/C++);
- System aktualizacji OTA z możliwością cofnięcia aktualizacji w przypadku awarii;
- Narzędzia do zdalnego zarządzania urządzeniami;
- Wbudowana obsługa szyfrowania danych na dysku Flash;
- Dostarczenie wersji biblioteki mbedTLS zoptymalizowanej pod kątem wykorzystania możliwości chipów kryptograficznych i minimalizacji zużycia pamięci;
- Obsługuje mikrokontrolery CC3220, CC3200, ESP32, ESP8266, STM32F4, STM32L4, STM32F7;
- Korzystanie ze standardowych narzędzi ESP32-DevKitC dla AWS IoT i ESP32 Kit dla Google IoT Core;
- Zintegrowana obsługa AWS IoT, Google IoT Core, IBM Watson IoT, Microsoft Azure, Samsung Artik i Adafruit IO;
Wśród zmian w nowej wersji:
- Zapewniona jest możliwość wykorzystania zewnętrznego stosu sieciowego LwIP;
- Funkcje związane z szyfrowaniem zostały przeniesione do biblioteki mbedtls;
- W przypadku układów esp8266 do wszystkich funkcji alokacji pamięci dodano ochronę przed przepełnieniem stosu i zoptymalizowano implementację funkcji malloc;
- Biblioteka libwpa2 została wycofana;
- Ulepszona logika wyboru serwera DNS;
- Poprawiona inicjalizacja generatora liczb pseudolosowych;
- W przypadku układów ESP32 LFS obejmuje przezroczyste szyfrowanie danych na dyskach Flash;
- Dodano obsługę ładowania plików konfiguracyjnych z urządzeń VFS;
- Zaimplementowano użycie skrótów SHA256 do uwierzytelniania;
- Znacząco rozszerzono obsługę Bluetooth i Wi-Fi.
Źródło: opennet.ru