Ioto® Device Agent
The EmbedThis Ioto Agent is an powerhouse embedded device agent for direct or remote device management. It is compact, 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, over-the-air software upgrading and the ability to run and invoke AI models.
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 a few sample management applications that are integrated with Ioto.
The Ioto Sample Apps package, available for download from the Builder includes several management apps that communicate with either the local Ioto web server or with the cloud-based Ioto service. These apps are are browser-based VueJS apps that are designed to be used with the Ioto Agent.
Name | Package | Directory | Description |
---|---|---|---|
auth | Agent | apps/auth | Test user login and authentication app |
console | Apps | apps/console | Local developer console for Ioto |
cloudkick | Apps | apps/kickstart | Local Kickstart sample "router" management app |
eco | Apps | apps/eco | Local Kickstart sample "router" management app |
kickstart | Apps | apps/kickstart | Local Kickstart sample "router" management app |
empty | Agent | apps/empty | Empty application to resolve application hooks |
standard | Agent | apps/standard | Cloud-based device manager developer console for Ioto |
unit | Agent | 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
- WebSockets client and server
- Server-Sent Events (SSE) client and server
- Embedded database
- JSON/5 parser and query engine
- Transport Layer Security (TLS/SSL) with ALPN support
- OpenAI API support for chat, reponses, and real-time streaming
- 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: