Ioto Solution
The Ioto solution includes the following components:
- Embedded Device Agent
- Device Builder Portal
- Extensible User Device Management Portal
- Cloud device management service
- Device Clouds in local AWS regions worldwide
Ioto Device Agent
The Ioto device agent includes the following components:
- Ioto HTTP/1.1 server.
- Ioto HTTP/1.1 client.
- AWS IoT and service integration.
- Ioto MQTT/3.1.1 client.
- Ioto Embedded Database.
- JSON parser and config files.
- Secure Sockets Layer (SSL/TLS) with ALPN support.
- Safe, secure runtime core.
- Documentation.
- Samples.
- Source code.
Device Builder Portal
- Portal to define and manage connected products.
- Download device agent software and samples.
- Create and manage device clouds in any AWS region worldwide.
- Automated provisioning of required resources in device clouds.
- Create and deploy a custom user device manager UI.
- Manage over-the-air device software updates.
- Monitor and manage the performance of your cloud and devices.
- Talk to online to EmbedThis support experts.
Ioto Device Manager
- Create your own bespoke device manager UI using the white-label Ioto Device Manager.
- Add your product name, logo, color schema, custom device data and screens.
- Leverage the Ioto VueJS app with pre-built authentication, navigation, dashboards, world-wide deployment, security and performance.
- Library of UI widgets for graphs, tables, gauges, and editing property panels.
- Ability to create your own UI from the ground-up using the Ioto API’s.
AWS IoT Integration
- AWS Iot Ready.
- Capture device data and export to AWS.
- Edge-Tables – transparent device database data replication to AWS DynamoDB.
- Send control plane data to AWS IoT shadows.
- Stream volume device data to AWS S3 data lake.
- Store device logs, metrics in AWS CloudWatch.
- Audit access via AWS CloudTrail.
Device Agent MQTT Client
- MQTT 3.1.1 support.
- TLS encryption with ALPN over port 443.
- Supports connect, publish, subscribe, ping and disconnect messages.
- Message quality of service for reliable delivery.
- High message throughput with exceptionally low overhead.
- Wait for delivery or acknowledgement options.
- Auto reconnect.
- Parallelism via fiber coroutines.
- Retained messages.
Device Agent Embedded Web Server
- HTTP/1.0, HTTP/1.1 support.
- SSL/TLS 1.3 and Alpn support.
- Dynamic content via actions that bind URLs to C functions.
- Configurable request routes and redirections.
- Supports transfer chunk encoding to preserve keep-alive.
- Authentication and user management.
- Cookie and session management.
- Tracing for HTTP requests and responses including HTTP headers.
- Sand-box resource limits.
- Runtime configurable via JSON config files.
- HTML helpers for encoding, decoding and escaping content.
- JSON parser and query engine.
- Single-threaded, fiber coroutine event-based runtime.
Device Agent Embedded Database
- High performance NoSQL management document database.
- JSON document items with flexible query API.
- Efficient import and export of database items.
- Fast red/black binary search indexes.
- Database schema to define and validate app entities.
- Controllable persistency with change triggers.
- Transparent bi-directional data synchronization with the cloud.
- Unified data schema between device and cloud databases.
- Based on AWS DynamoDB OneTable.
- Simple, non-waiting API.
Device Agent Safe Runtime
- Portable, cross-platform O/S abstraction.
- Battle-hardened runtime after extensive peer-review and fuzz stress testing.
- Event and timer scheduling.
- Fiber coroutines for non-blocking procedural programming model.
- JSON parser and renderer.
- JSON query engine.
- Safe strings, lists, hashing and buffer management.
- Logging framework – filter by source and/or message type.
- Global memory error handler.
Device Agent Performance and Security
- Tiny memory footprint, 300K code. (Web server component is 25K code).
- Single-threaded, fiber coroutines provide an elegant, non-blocking, procedural programming paradigm without resorting to clumsy callbacks or complex threads.
- Exceptional throughput (Web server > 9,300 requests per second on Raspberry PI 4).
- Sandbox limits.
- Safe portable runtime to protect against memory leaks and buffer overflows.
- Secure Sockets Layer (SSL/TLS).
Developer Integration
- Run supplied Ioto program or embed Ioto library.
- Shared and static libraries supported.
- Easy, intuitive programming model.
- Extensive C API.
Documentation
- Full C API Documentation.
- Cookbook of samples (cut and paste to get going).
- Tutorials.
Platform Support
- Linux (2.6+).
- MAC OS X (10.7+).
- FreeBSD (10.X+).
- FreeRTOS (pending).
Embedding Support
- Supports ARM, MIPS, X86, X64, PPC, SH, Sparc processors.
- Full cross-compilation support. Use Windows, Linux or Mac as build system.
- Fine-grained control for conditional build and compilation.
Standards
- MQTT 3.1.1.
- RFC 2616 HTTP/1.1.
- TLS 1.3.
- RFC 1867 Multipart-mime upload.