This is a selection of some of the more frequently asked questions about EmbedThis Ioto.
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.
EmbedThis Ioto® (pronounced “eye-oh-toe”) is a complete IoT middleware solution 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.
Ioto provides a fast and compact device agent that includes an embedded database and web server for local device management. It offers optional cloud-based device management that can be enabled per-device in the field. Ioto uses a device Builder portal for managing the service and has a low-code app designer for creating mobile and desktop applications. It provides everything needed to simplify and streamline intelligent device management.
Ioto provides IoT middleware that builds upon the AWS IoT platform. It offers comprehensive middleware that simplifies creating a device management solution. 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.
We don’t need yet another IoT framework/platform — we already have established, reliable IoT platforms like AWS IoT Core. What is missing is better tools, management apps, device data management, and visual analytics that accelerate and extend the capabilities of the underlying platform. This provides the ability to create, configure and deploy secure IoT environments and apps in minutes instead of months.
Ioto builds on the rock-solid AWS IoT platform’s scalable communications, data capture and storge capabilities. Ioto provides a complete suite of tools including a device builder portal, device agent, data management service and a low-code visual app designer that delivers everything you need to create comprehensive device management solutions.
Absolutely. Unlike other IoT frameworks that claim scale, Ioto is designed and priced to scale seamlessly from just a few devices to millions without changing architecture.
Ioto effectively scales its device data storage, connectivity and compute to support the largest device populations. 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.
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 platforms like the ESP32 and ~9,000 requests per second on a Macbook level device.
While Appweb, GoAhead and Ioto all 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.
Unlike stand-alone 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.
Ioto is provided with a commercial license that includes complete source code. A variety of subscriptions plans are offered including:
Ioto is distributed under one of three licenses:
The 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 commerical patches from the software to your products.
The eval license is for shorter-term commercial evaluations.
The Embedthis Ioto service is provided subject to a commercial license and subscription as described in the Terms of Use.
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.
Ioto supports industry-standard protocols and formats for maximum interoperability:
This flexibility enables Ioto-based devices to efficiently provide local and cloud-based management at scale.
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.
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.
Ioto primarily uses C for its core components and APIs. It also includes some assembler on some platforms 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 the inelegance of event callbacks through the use of fiber coroutines. Instead, Ioto offers fast, simple paralellism via an async-wait style of straight line procedural programming. → Learn More.
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.
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 Ioto Device Manager framework. → Learn More.
The Ioto agent 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 an 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.
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.
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:
Ioto supports a diverse array of hardware architectures, including:
Developers can also easily port Ioto to new operating systems and hardware platforms.
To install Ioto on your ESP32 project, follow these steps:
Build and flash your project using the ESP-IDF toolchain.
For detailed instructions, refer to the Building for ESP32 Ioto documentation.
{{comment.name}} said ...
{{comment.message}}