Another OS for IoT applications called Mongoose OS. Like the other OS’s for IoT, Mongoose OS has some security features like:
- Microchip ECC508A crypto chip support.
- Supporting mbedTLS library from ARM.
- Implementation of file system encryption and full SPI-flash encryption on ESP32.
Mongoose implements the API for: HTTP, WebSocket, MQTT and CoAP; for both client and server and with a rich API and a tiny footprint. Moreover, it integrates with Amazon AWS IoT service, Google IoT Core and Adafruit IO online service.
Talking about the SDK; Mongoose prefers to use native SDKs instead of building them from scratch by extending the original ones. The current supported microcontrollers are ESP32, ESP8266, STM32, TI CC3200. You can develop your code in C or JavaScript using mJS engine (part of Mongoose OS).
For device management and firmware building Mongoose uses a tool called mos. This tool works in Windows and Linux as a command line interface or a web UI.
In the video below there is an example of running a built-in web server using ESP WiFi module.
Last but not least, Mongoose supports the following hardware interfaces: Bitbang, GPIO, I2C, NeoPixel, SPI and UART. It can also performs remote management for the device such as: file system (list, get, put and remove), configuration, I2C, GPIO and OTA
An example of upgrading the firmware over the air (OTA) is explained in the video below :