The Most Advanced Device Agent

Blazing Fast, Incredibly Compact

The Ioto agent is our most advanced device agent yet for device-based or cloud-based device management. It is cloud-ready and integrates seamlessly with our Ioto cloud service based on the renowned AWS IoT cloud. Ioto includes an embedded HTTP web server, MQTT client, HTTP client, embedded database, JSON parsing, AWS cloud integration, easy provisioning and OTA upgrading. All in under 300K code.

Ioto
Blazing fast, compact and secure device agent

The Ioto Device Agent

A cloud-ready device agent with an embedded web server.

  • Integrated embedded web server for direct local management.
  • Optional cloud-based device management via MQTT.
  • Transparent device data synchronization with the cloud.
  • Integration with AWS IoT, DynamoDB, CloudWatch, S3, Kinesis and Lambda.
  • HTTP Client for accessing external services.
  • Embedded database for efficient state storage.
  • Simplified device and fleet provisioning.
  • Blazing fast and compact (less than 300K code).
Learn more
Ioto Agent

Embedded Web Server

For Local Device Management

  • Fast, secure and compact embedded web server.
  • HTTP/1.1 and SSL/TLS.
  • Sessions and cookie management.
  • Authentication and user management.
  • High performance embedded database for device data.
  • URL actions bind URLs to C functions with exceptional performance.
  • Transfer chunking and file upload.
  • HTML helpers for encoding, decoding and escaping.
  • Tiny footprint: Web server component is 25K code.
  • Unrivaled performance: >9,300 requests per second on a Raspberry PI.
  • Easy extensions via the simple integration API.
  • Hardened security due to extensive peer-review and fuzz stress testing.
Learn more
Json

The Embedded Database

A high performance, in-memory document database.

  • JSON document items with flexible query API.
  • Fast in-memory red/black binary search indexes.
  • Database schema to define and validate data items.
  • Controllable journal-based persistency and change triggers.
  • Efficient import and export of database items.
  • Automatic removal of expired data items.
  • Per-table caching and buffering to control persistency.
  • Based on AWS DynamoDB OneTable.
  • Simple, non-blocking API.
Learn more
Embedded Database

The HTTP Client

Connect to external services and data sources.

  • Modelled on Browser Fetch API.
  • Full support for all HTTP method verbs.
  • Stream request and response body for large data transfers.
  • Parallelism via fiber coroutines. No ugly callbacks or complex threads.
  • Easily set request headers and access response headers.
  • Support for JSON request and response bodies.
  • SSL/TLS encryption.
  • Tiny footprint: HTTP client component is 6K.
Learn more
HTTP Client

The MQTT Client

Connect to the cloud to send or receive device data.

  • Publish and subscribe MQTT messaging client.
  • MQTT 3.1.1 compliant.
  • SSL/TLS encryption with ALPN over port 443.
  • Supports connect, publish, subscribe, ping and disconnect messages.
  • Message quality of service for reliable delivery.
  • Parallelism via fiber coroutines. No ugly callbacks or complex threads.
  • Retained message support.
  • Lower device connection cost via on-demand and scheduled connections.
  • Elegant, non-blocking procedural API.
  • Tiny footprint: MQTT component is 8K.
Learn more
MQTT Pub / Sub

The Safe Runtime

Portable, cross-platform O/S abstraction layer.

  • Efficient embedded runtime to protect against security threats.
  • Battle-hardened after extensive peer review and stress testing.
  • Safe strings, printf, lists, hashing and buffer management.
  • Event and timer scheduling.
  • Fiber coroutines for non-blocking procedural programming model.
  • JSON parser, renderer and query engine.
  • Flexible logging support.
  • Global memory error handler.
Learn more
Safe Runtime

Fiber Coroutines

Parallelism without complex threads or the complexity of callbacks.

  • Support multiple requests with straight-line, non-blocking code patterns.
  • Ioto services are fiber aware and automatically yield while waiting for I/O.
  • Extremely fast fiber switching operations.
  • Sandbox limits on resource usage.
  • Low level fiber API to explicitly yield, resume and spawn fibers.
Learn more
MQTT Pub / Sub

Hardware Support

Extensive micro-controller and embedded system support.

  • Operating environments: ESP32, FreeBSD, FreeRTOS, Linux, Mac OS X, QNX, Quadros, VxWorks, Windows.
  • CPU architectures: arm, arm64, mips, mips64, ppc, ppc64, riscv, riscv64, tidsp, sh, x86, x64 and xtensa.
  • Extensive list of supported micro-controllers and CPU boards.
Learn more
ESP32 VSCode

Sample Device Management Apps

Suite of sample apps for mobile and desktop.

  • Safe months of development time with full source code sample apps.
  • Use, modify, extend and distribute samples as your device apps.
  • VueJS sample apps for local or cloud-based management.
  • Samples provide flexible and intuitive UI/UX for device management.
  • Includes login and registration with user management.
  • Granular user access role control per page.
  • Navigation for simple or complex devices.
  • Dynamic display via data tables and graphical widgets.
  • Property editing of any device data.
  • Monitoring Dashboards with graphical widgets.
  • Library of display widgets including: gauges, graphs, buttons, images and tables.
  • Highly efficient and imposes little load on the device.
Learn more
Kickstart

Developing an effective device UI can take much longer than you think. Most companies expend years of developer time creating their device UIs. The Ioto agent samples can dramatically shorten your development cycle for creating a bespoke local device management app.

Cloud-based Management

The Ioto Agent is pre-integrated with the AWS IoT cloud.

  • Optionally enable cloud-based management per-device at any time.
  • Pay-as-you-go. Only pay for actively connected devices.
  • Centrally manage one or many devices from the cloud.
  • Transparent provisioning with X.509 certificates for secure communications.
  • Securely send device data to the cloud for storage, management and analysis.
  • Command and control one or millions of devices from a single location.
  • Transparent data synchronization from device to cloud.
  • Unlimited per-device or fleet data metrics.
  • Manage offline and transiently connected devices with command queues.
  • Over the air firmware updates managed securely by the Ioto cloud.
  • Locally invoke AWS APIs on the device to interact with any AWS service.
  • Easily create device clouds in any AWS region via the Device Builder.
Learn more
AWS IOT

Get Started with Ioto

Integrate with the cloud or run stand-alone.

  • Includes complete source code, documentation and samples.
  • Free evaluation via the EmbedThis Builder.