EmbedThis Ioto FAQ

check-list

This is a selection of some of the more frequently asked questions about the EmbedThis Ioto IoT device management platform.

If you don’t find the answers you need here, please consult the product documentation or contact us on Chat at the bottom right of this page.


Answers

General Questions

What is EmbedThis Ioto®?

EmbedThis Ioto® (pronounced “eye-oh-toe”) is a complete IoT meta-platform for managing devices, whether via the cloud or directly to the device. Ioto lowers IoT project cost and dramatically accelerates the time to completion while lowering project risk.

What are the main components of the Ioto IoT platform?

Ioto provides a complete, end-to-end IoT platform with extensive integration with the AWS IoT platform, a device Builder portal for managing the service, transparent device data synchronization, OTA updates, device automations, a low-code app designer for creating mobile and desktop applications and a fast, compact device agent. The device agent includes an embedded database and web server for local device management so that cloud-based device management can be enabled per-device in the field. It provides everything needed to simplify and streamline intelligent device management.

What is unique about Ioto?

Ioto is an IoT Meta-platform that builds upon and extends the AWS IoT platform. It is a complete IoT solution that simplifies creating device management products. It features a fast, compact device agent paired with a robust device database that transparently synchronizes device data with the cloud. Unlike traditional agents limited by “virtual pin” data storage models, Ioto organizes device data in a way that logically mirrors your device’s actual characteristics. Additionally, Ioto includes a low-code app designer for creating engaging desktop or mobile apps, empowering you to rapidly build dynamic management solutions for a single device or millions of devices.

Why use the Ioto IoT Meta-Platform vs an Iot Platform?

We don’t need yet another IoT platform — we already have established, reliable IoT platforms like the AWS IoT. What is missing is an end-to-end solution that provides better tools, management apps, device data management, and visual analytics that accelerate and extend the capabilities of the underlying platform. This enables you to create, configure and deploy secure IoT environments and apps in hours instead of months or longer.

Ioto builds on the rock-solid AWS IoT platform’s scalable communications, data capture and storage capabilities. Ioto provides a complete suite of tools including a device builder portal, device agent, device data management service and a low-code visual app designer to quickly create IoT apps. Ioto delivers everything you need to create comprehensive device management solutions.

What are some of the main use cases for Ioto?

  • Direct local device management: Direct management using the embedded HTTP web server and database.
  • Cloud-based IoT device management: Centralized remote device management for one or millions of devices.
  • Fleet-wide data management: Aggregate data for an entire fleet to visualize and analyze fleet metrics.
  • Device management apps: Use the low-code app designer to create compelling mobile and desktop apps for your devices.
  • Update device firmware: Use the Builder to publish, distribute and manage device firmware updates to one or many devices.
  • Monitor device performance: Use dashboards to monitor IoT device and fleet performance using graphical metrics.

What are the main benefits of Ioto?

  • Lower IoT project development cost: via an IoT meta-platform that provides all essential IoT components such as: authentication, message routing, device data storage, device provisioning, device security, device updating and more.
  • Lower IoT project risk: by using high-level building blocks that are integrated with AWS IoT.
  • Accelerate time to completion: by using the low-code app designer to create device management apps.
  • Increase IoT project security: by using proven IoT platform components and practices.
  • Lower IoT operations cost: by using the ultra efficient Ioto agent and optimized message and data transport and storage. This will lower your AWS device management bill.
  • Increase intelligence of device management: by using cloud automations to transparently handle device errors and conditions.

Is Ioto suitable for production deployment at scale?

Absolutely. Unlike other IoT platforms that claim scale, Ioto is designed and priced to scale seamlessly from just a few devices to millions of devices without changing architecture.

Ioto effectively scales its device data storage, connectivity and compute to support the device populations in the millions. The underlying AWS IoT cloud is rock-solid and resilient against failures. At scale, a cloud-connected device costs as little as 7 cents a device per year.

What kind of performance can I expect from Ioto?

Ioto is optimized for high performance on embedded devices, with a focus on low-latency responses and efficient use of system resources. It is capable of serving hundreds of requests per second on hardware platforms like the ESP32 and >9,000 requests per second on a PC level device.

How is Ioto different from Appweb or GoAhead?

While the Appweb, GoAhead and Ioto device agents include embedded web servers, they are distinct products. Ioto includes a completely new web server with a different API and architecture. It has been specifically designed to address the needs of modern IoT devices. Unlike Appweb, which focuses on general-purpose embedded web serving, Ioto is built to optimize device management, remote control, and secure cloud integration. Ioto can be used solely as an embedded web server for direct device management or you can selectively enable cloud-based management per-device, in the field.

How is Ioto different from traditional embedded web servers?

Unlike standalone embedded web servers, Ioto is built from the ground up for both direct and cloud-based device management. It is optimized for low memory, CPU efficiency, and secure device-to-cloud communications. Its modular design lets developers easily select the required management features whether they be local device management, remote firmware updates or full cloud-based management. Cloud management can be enabled per-device in the field.

License Questions

What Ioto subscriptions plans are offered?

Ioto is provided with a commercial license that includes complete source code. A variety of subscriptions plans are offered including:

  • Project: for individual device makers and commercial evaluations which is free for up to 10 devices
  • Device Builder: for commercial projects
  • Dedicated Cloud: for commercial projects hosting in their own AWS account
  • Self-Reliant: for completely self-hosted “self-reliant” solution

What licenses are offered for Ioto?

Ioto is distributed under one of three licenses:

The open source GPLv2 License does not generally permit incorporating this software into non-open source programs. Commercial licenses for this software and support services are available from Embedthis Software.

The commercial license enables you to embed the software and distribute and sell your products containing the software. With a paid-up subscription you can incorporate new releases, updates and patches for the software into your products. If you do not have an active subscription, you cannot apply commercial patches from the software to your products.

The eval license is for shorter-term commercial evaluations.

The Embedthis Ioto service is provided subject the service Terms of Use.

What is the price of an Ioto subscription?

The Ioto volume-based subscriptions calculate a fee based on the total number of devices that have been manufactured. i.e. on your total installed base of devices. The device agent fee is calculated on a sliding scale where the per-device price decreases the more devices you create. The price is < $0.30 per device with more than 1,000 devices made per month.

If you are using cloud-based management, there is a fee for each device connecting to the cloud each month.

See the Ioto Price Calculator to estimate your project cost.

Feature Questions

What are the key features of Ioto?

  • Embedded Web Server: for direct local management with dynamic web pages offering dashboards, graphs, metrics and device configuration.
  • Secure Connectivity: Uses TLS/SSL for encrypted communication and integrates robust authentication and authorization. For cloud-based management, it employs unique per-device certificates.
  • Low-code App Designer: to create stunning mobile and desktop device management apps.
  • Cloud Integration: Simplifies secure data exchange with cloud endpoints for telemetry, updates, and reporting.
  • Over-the-air Updates: Policy-based distribution of device firmware updates.
  • Device Automations: Automated actions to respond to device events and conditions.
  • Lightweight and Efficient: Minimal overhead and resource usage to suit memory- and CPU-constrained systems.

Does Ioto support over-the-air (OTA) updates?

Yes, Ioto includes a robust and flexible mechanism for performing secure over-the-air (OTA) updates. This feature allows for seamless, policy based remote firmware updates, ensuring your devices stay up-to-date with the latest security patches and features. → Learn More.

What communications protocols are supported by Ioto?

Ioto supports industry-standard protocols and formats for maximum interoperability:

  • HTTP for local web-based communication.
  • TLS/SSL for secure communication.
  • HTTP and RESTful APIs and JSON for cloud management control.
  • WebSockets for real-time client and server communication.
  • MQTT messages for efficient data transfer to and from the cloud.

This flexibility enables Ioto-based devices to efficiently provide local and cloud-based management at scale.

AI Questions

Can Ioto invoke cloud-based AI LLMs from Edge Devices??

Yes. Ioto can invoke cloud-based AI LLMs via the Ioto OpenAI APIs. Ioto supports the Chat Completions, Responses, and Real-Time APIs. → Learn More.

Can Ioto invoke agents and tools??

Yes. Ioto can define and call local agents and tools with the Responses API. These agents and tools will be invoked by Ioto when the cloud model returns a response that requires them. The results will then be supplied to the cloud model which will then analyze the data and provide a final response. → Learn More.

What is Hybrid AI for Edge Devices??

Hybrid AI is a new approach to AI at the edge that combines the benefits of local and cloud-based models. It enables you to use a local model for real-time, low latency responses and then escalate to a cloud model for more complex and scalable tasks. → Learn More.

Can Ioto run local or cloud models without cloud-based device management??

Yes. Ioto can run local models and cloud models without requiring full cloud-based device management. However, when using a device cloud, your AI access keys can be provisioned securely from the device cloud without requiring them to be stored on the device.

Operation Questions

How does Ioto handle device provisioning?

Ioto provisions devices with unique per-device certificates for maximum isolation and security. Certificates are created and distributed to devices when a device is claimed by end-users after purchase. Devices can be pre-provisioned during manufacture or configuration if required. → Learn More.

How can I send data from a device to the cloud?

The Ioto agent provides several different means of sending data to the cloud. The preferred way is to write to the local agent device database and use the Ioto database synchronization to transparently replicate that data to the cloud where it can be queried and analyzed. You can also send data using REST API calls and MQTT messages. → Learn More.

Programming Questions

What programming languages are used by Ioto?

Ioto primarily uses C for its core components and APIs. It also includes a little assembler on some systems for performance. For browser-based management applications, it uses a combination of web technologies such as JavaScript, VueJS, HTML, and CSS.

Ioto uses fiber coroutines to serve multiple requests in parallel. Ioto is based on a single-threaded fiber coroutine architecture that employs a non-blocking, event-driven design capable of handling numerous inbound and outbound requests simultaneously with minimal CPU and memory resources. Ioto simplifies programming by eliminating the complexity of threads and event callbacks via the use of fiber coroutines. Ioto offers fast, simple parallelism via an async-wait style of straight line procedural programming. → Learn More.

What kind of support and documentation is available?

EmbedThis provides comprehensive documentation, technical guides, reference APIs, and a support portal. Commercial support and consulting services are available, ensuring you can confidently deploy Ioto in production environments today.

Can I customize the web interface served by Ioto?

Yes, Ioto allows full customization of the web interface using HTML, CSS, and JavaScript. You can create intuitive dashboards, control panels, and configuration pages tailored to your device’s functionality. The easiest way is to use the Ioto low-code app designer to create compelling mobile and desktop apps based upon the DevCore UI framework. → Learn More.

How does Ioto handle embedded memory constraints?

The Ioto agent is incredibly compact and yet includes an embedded HTTP web server, MQTT client, HTTP client, embedded database, JSON parsing, AWS cloud integration, device provisioning and OTA upgrading. All in under 300K code. You can optionally compile only the features and services you need for an even smaller memory footprint by defining the required services in the ioto.json5 configuration file. Ioto also uses a global memory allocator and error handler so memory errors can be trapped and centrally handled.

Read the Building Ioto for details about building Ioto on various platforms and minimizing footprint. → Learn More.

Platform Questions

Can Ioto be used in a real-time operating system (RTOS) environments?

Absolutely. Ioto is optimized for RTOS environments and can run efficiently on systems with limited resources. It integrates seamlessly with FreeRTOS and ESP32 platforms, among other RTOS environments, ensuring minimal overhead while providing robust web and cloud capabilities.

What hardware and operating systems does Ioto support?

Ioto provides comprehensive support for a wide range of microcontrollers, operating systems, and embedded environments such as popular microcontrollers like the ESP32 and Raspberry Pi. It is compatible with many operating systems and embedded platforms, including:

  • ESP32, FreeBSD, FreeRTOS, Linux, macOS, QNX, Quadros, VxWorks, and Windows.

Ioto supports a diverse array of hardware architectures, including:

  • ARM, ARM64, MIPS, MIPS64, PPC, PPC64, RISC-V, RISC-V64, TI DSP, SH, x86, x64, and Xtensa.

Developers can also easily port Ioto to new operating systems and hardware platforms.

How can I install Ioto into an ESP32 project?

To install Ioto on your ESP32 project, follow these steps:

  • Add Ioto as a component in your ESP-IDF project’s components/ directory.
  • Include sdkconfig.defaults specific to Ioto for configuration settings.
  • Build and flash your project using the ESP-IDF toolchain.

  • For detailed instructions, refer to the Building for ESP32 Ioto documentation.

→ Learn More

Comments

{{comment.name}} said ...

{{comment.message}}
{{comment.date}}

Make a Comment

Thank You!

Messages are moderated.

Your message will be posted shortly.

Sorry

Your message could not be processed at this time.

Error: {{error}}

Please retry later.

OK