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.