System
- Updatable device firmware, both upgrading as well as downgrading
- Secure communications between devices & backend (HTTPS/TLSv1.3, X509 chains)
- Device provisioning & device personalisation
- Differential updates, only send the difference between the origin firmware and the desired destination firmware image
- Firmware package generator including Docker support and pre-installed VM image; no difficult dependencies: get started with developing updatable firmware instantly
- Support for ‘sub-systems’: support multiple ‘IOT’ devices from one firmware-gateway
- Easy integration in existing products and environments
- Continuous integration and testing, optionally continuous deployment
Device
- Reference “distribution” based on 100% open source vanilla software, will get maintenance (*) without any EOL deadline
- Contains a device agent for communication with the backend system
- Device agent can be optionally implemented without any open source software: this allows for a device firmware image without any GPL/license problems
- Atomic A/B updates, only one (root) filesystem is active at a time; the other can be used as a fallback in case any software update (or downgrade) fails
- Firmware package signature verification and firmware package decryption
- Reference factory flashing software for high-speed and reliable initial flashing of devices
- Reference IOT applications for reading sensors, writing to actuators, remote logging, monitoring, simple Scada solution
- Can also act as router or wifi access point
Backend
- Programmable REST API with Swagger documentation (try it in your browser)
- Responsive management UI
- Backend-as-a-service (managed hosting)
- Designed with scalability in mind
- Central collection of logging from all your devices
(*) free maintenance will be supplied based on master & LTS branches of origin components (see kernel.org, buildroot.org and check for LTS releases)