Welcome to Sming Framework¶
Let’s do smart things!!!
Sming is an asynchronous C/C++ framework with superb performance and multiple network features. Sming is open source and is tailored towards embedded devices. It supports multiple architectures as ESP8266 for example.
Summary¶
- Superb performance and memory usage (Sming compiles to native firmware!)
- Fast and user friendly development
- Simple yet powerful hardware API wrappers
- Compatible with standard Libraries - use any popular hardware in few lines of code
- Built-in file system: SPIFFS for Sming
- Built-in powerful wireless modules
- Powerful asynchronous (async) network stack.
- Async TCP and UDP stack based on LWIP.
- With clients supporting: HTTP, MQTT, WebSockets and SMTP.
- And servers for: DNS, FTP, HTTP(+ WebSockets), Telnet.
- With SSL support for all network clients and servers. Based on axTLS and BearSSL.
- Out of the box support for OTA over HTTPS.
- ESP8266 specific features
- Integrated boot loader rBoot with support for 1MB ROMs, OTA firmware updating and ROM switching.
- Crash handlers for analyzing/handling system restarts due to fatal errors or WDT resets.
- PWM support based on Stefan Bruens PWM.
- Optional custom heap allocation based on Umm Malloc.
- Based on Espressif NONOS SDK. Tested with versions 1.5, 2.0 and 3.0.
- Linux/Windows features
- Sming has a host emulator that allows libraries and sample applications to be compiled on a Linux/Windows host system and be tested before uploading them to an actual microcontroller.