Skip to content

Ioto

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