Embedthis Ioto® Agent
The Embedthis Ioto Agent is an embedded device agent for locally or remotely managing devices. It is tiny, but blazing fast and has an extensive suite of management protocols and capabilities.
The Ioto Agent includes a HTTP web server, MQTT client, HTTP client, embedded database, JSON parsing, AWS IoT cloud integration, easy provisioning and over-the-air software upgrading.
The agent can be used for local management via its embedded web server or it can be integrated with the cloud via comprehensive AWS IoT integration.
Cloud Ready
The agent is cloud ready and provides data synchronization with the cloud and integration with a suite of AWS services including: AWS IoT core, rules, shadows, AWS EventBridge and AWS DynamoDB. The agent transparently synchronizes device data into the cloud-side DynamoDB database. Optional support is provided for dedicated clouds to capture logs into CloudWatch Logs, and utilize file and data upload to AWS S3 data lakes.
Apps Included
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 |
Modular and Configurable
If you only want an embedded web server, the agent is easily configured to enable just the modules you need. You can configure the agent to include only the web server, or include the HTTP client or you can enable full cloud management integration.
Highly Optimized
The agent is optimized for embedded device management via an evolved, high performance management runtime that delivers exceptional throughput and effective memory utilization. Ioto eliminates the ugliness of event callbacks and the complexity of threads by using fiber coroutines. Ioto is compact and is especially effective in reducing per-request CPU and memory overhead.
The agent has a tiny memory footprint of only 200K of code. It is ideal for Linux and FreeRTOS systems and is easily ported to other platforms.
Deployed Widely
The Ioto agent draws from our code base at Embedthis, where we have experience in providing the most widely deployed embedded web servers. Our software has been deployed in networking equipment, telephones, mobile devices, and consumer and office equipment worldwide in many hundreds of millions of devices for over 20 years.
Components
The Ioto agent 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 synchronization to AWS DynamoDB (like Global Tables)
- Safe, secure runtime core
- Easy provisioning
- Over-the-air software and firmware upgrading
- User authentication
- Complete documentation
- Extensive Samples
- Full Source code
Want More?
To learn more about Ioto, please read: