Skip to content

Ioto

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: