Достъпен е релизът на проекта Mongoose OS 2.20.0, предлагащ фреймворк за разработка на фърмуер за устройства за интернет на нещата (IoT), реализирани на база микроконтролерите ESP32, ESP8266, CC3220, CC3200, STM32F4, STM32L4 и STM32F7. Има вградена поддръжка за интеграция с платформите AWS IoT, Google IoT Core, Microsoft Azure, Samsung Artik, Adafruit IO, както и с всякакви MQTT сървъри. Кодът на проекта, написан на C и JavaScript, се разпространява под лиценция Apache 2.0.
От особеностите на проекта се отбелязват:
- Двигателят mJS, предназначен за разработка на приложения на JavaScript (JavaScript е позициониран за бързо създаване на прототипи, а за окончателни приложения се предлага да се използват езиците C/C++);
- Система за OTA обновления с поддръжка на възстановяване в случай на неуспех;
- Инструменти за дистанционно управление на устройството;
- Вградена поддръжка за криптиране на данни на Flash носителя;
- Предоставен е вариант на библиотеката mbedTLS, оптимизиран за използване на възможностите на крипто чиповете и минимално потребление на памет;
- Поддръжка на микроконтролерите CC3220, CC3200, ESP32, ESP8266, STM32F4, STM32L4, STM32F7;
- Използване на стандартните инструменти ESP32-DevKitC за AWS IoT и ESP32 Kit за Google IoT Core;
- Интегрирана поддръжка за AWS IoT, Google IoT Core, IBM Watson IoT, Microsoft Azure, Samsung Artik и Adafruit IO;

Сред промените в новия релийз:
- Предоставена е възможност за използване на външен мрежов стек LwIP;
- Свързаните с криптиране функции са преведени на библиотеката mbedtls;
- За чиповете esp8266, към всички функции за разпределение на паметта е добавена защита от препълване на стека и е оптимизирана реализацията на функциите malloc;
- Преустановено е използването на библиотеката libwpa2;
- Подобрен е логика на избора на DNS сървър;
- Подобрен е инициализацията на генератора на псевдослучайни числа;
- За чиповете ESP32, в LFS е включено прозрачно криптиране на данни на Flash носителите;
- Добавена е поддръжка за зареждане на конфигурационни файлове от VFS устройства;
- Реализирано е използването на SHA256 хешове при удостоверяване;
- Значително е разширена поддръжката на Bluetooth и Wi-Fi.
Източник: opennet.ru
