EmbedThis Ioto™
The smallest, fastest, most capable device agent
The Ioto agent is our newest embedded agent for device management. It includes a HTTP web server, AWS IoT cloud integration, embedded database, MQTT client, HTTP client, JSON parsing, easy provisioning and OTA upgrading.
Ioto is cloud ready — just bring your own AWS cloud account. Ioto provides data synchronization to AWS IoT core, rules, and shadows. It exports and synchronizes structured device data with AWS DynamoDB. It also captures logs into CloudWatch Logs, integrates with CloudWatch Metrics, and offers data and file upload to AWS S3.
Stand-alone Device Management
If you only want an embedded web server, Ioto is easily configured to enable just the modules you need. You can configure Ioto to include only the web server, or just the MQTT protocol or full cloud management integration.
Highly Optimized
Ioto is blazing fast and yet has a tiny memory footprint of only 200K of code. It is especially effective in reducing per-request CPU and memory overhead.
Ioto is optimized for embedded device management via an evolved, high performance management runtime that delivers exceptional throughput and effective memory utilization.
Elegant Programming Model
Ioto eliminates the ugliness of event callbacks and the complexity of threads by using fiber coroutines. This makes programming with Ioto simple and reliable and avoids difficult downstream debugging due to overly complex designs.
Extensive Features
Ioto has a strong set of features and protocols, including: MQTT, HTTP/1, TLS/SSL, user authentication, embedded database, JSON parser and query engine, JSON config files, sandbox resource limits, flexible logging, request tracing, and extensive conditional configuration and compilation controls.
With these features, Ioto is designed to make remotely managing and controlling embedded devices painless.
It is ideal for Linux and FreeRTOS systems and is easily ported to other platforms. Ioto dramatically cuts the time, cost, and risk of creating manageability for devices.
Deployed Widely
Ioto draws from our code base at Embedthis, where we have decades of experience in providing the most widely deployed embedded web servers. Our software has been deployed in hundreds of millions of devices in networking equipment, telephones, mobile devices, and consumer and office equipment worldwide.
Applications
The Ioto Agent source distribution includes several sample management applications that are integrated with Ioto.
The management apps are browser-based VueJS apps that communicate with either the local Ioto web server or with the cloud-based Ioto service.
Name | Directory | Description |
---|---|---|
manager | apps/manager | Cloud-based device manager developer console for Ioto |
console | apps/console | Local developer console for Ioto |
kickstart | apps/kickstart | Local Kickstart sample "router" management app |
empty | apps/empty | Empty application to resolve application hooks |
auth | apps/auth | Test user login and authentication app |
unit | apps/unit | Unit tests app |
Components
Ioto provides the following components:
- HTTP/1.1 server with dynamic rendering, authentication, cookies, sessions and file upload
- HTTP/1.1 client
- MQTT/3.1.1 client
- Embedded database
- JSON/5 parser and query engine
- Transport Layer Security (TLS/SSL) with ALPN support
- AWS IoT integration with IoT Core, Shadows, Events, and Rules.
- AWS service integration with S3, Lambda, Kinesis and CloudWatch
- Transparent database syncronization to AWS DynamoDB (like Global Tables)
- Safe, secure runtime core
- Easy provisioning
- OTA upgrading
- User authentication
- Complete documentation
- Extensive Samples
- Full Source code