Skip to content

Ioto® Device Agent

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.

NamePackageDirectoryDescription
authAgentapps/authTest user login and authentication app
consoleAppsapps/consoleLocal developer console for Ioto
cloudkickAppsapps/kickstartLocal Kickstart sample "router" management app
ecoAppsapps/ecoLocal Kickstart sample "router" management app
kickstartAppsapps/kickstartLocal Kickstart sample "router" management app
emptyAgentapps/emptyEmpty application to resolve application hooks
standardAgentapps/standardCloud-based device manager developer console for Ioto
unitAgentapps/unitUnit 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: