Creating Cloud Managed Devices
EmbedThis Ioto is a cloud-based management service for embedded devices connected to the Internet.
It is comprised of four components:
- Device Builder
- Ioto Service
- Ioto Device Clouds
- Ioto Device Agent
The EmbedThis Device Builder is the web site from which you can define, configure and control your products, manage your device clouds, tailor the software upgrading process and manage your subscription and billing of Embedthis products and services.
The Ioto Service is the cloud application providing services for the EmbedThis Builder and managing the provisioning of devices into Device Clouds.
Ioto Device Clouds are the cloud-based hubs that run in your AWS account and region to manage the day-to-day communications and management with your devices.
The Ioto Device Agent is a cloud-ready embedded agent for remote device management with an embedded web server, embedded database, HTTP client, MQTT client and extensive AWS IoT cloud integration. The agent communicates with the Ioto Service and Device Clouds for management. See Ioto Agent Documentation for in-depth details about the Ioto Agent.
The work flow for creating cloud managed devices begins with the Builder. The Builder is used to define and configure your products and device clouds.
Create Product Definition
For each product type that you wish to manage from the cloud, you need to create a product definition that describes your device and nominates the device agent you wish to utilize.
Download the Ioto Device Agent
Next, you download the Ioto device agent from the Builder product list.
To help you evaluate Ioto, your first device is free. Thereafter, a subscription is required.
Customize Device Specific Logic
Once downloaded, you can begin the task of embedding the Ioto agent in your device hardware and adding your device specific logic. There is extensive documentation available: Ioto Agent Doc.
Create a Device Cloud
The next step is to create a Device Cloud that will be the central hub for managing your devices.
A Device Cloud is created in an AWS account and region of your choosing. You can have multiple device clouds if you require, though most users will require only one cloud for their devices.
Device Cloud Privacy
The Device Cloud is created in your AWS account so you have total control and privacy regarding your device data. Your device data goes directly from your devices to the device cloud in your account. The device data is not sent through EmbedThis servers or other AWS accounts. This is important as jurisdictions are increasingly requiring that data only be stored, processed and managed locally.
When creating device clouds, the builder will create the necessary resources including a DynamoDB device database and service Lambda function in your AWS account.
Once a device cloud is created, you can register a device with the Builder service.
Once registered and claimed, the device is under management by the Ioto service. Management commands can be sent from the cloud to the device and device data can be sent upstream from the device to the cloud.
The next step is to create a bespoke management application that best implements an effective operational interface for your product and devices.
Create Embedded Web App
The management app should ideally be a Single Page web application authored using VueJS or React. This app will consume data from the Ioto cloud APIs and send device commands to Ioto for relaying to the relevant devices.
Perhaps the largest task in creating cloud-based managed products is creating this device management application. Do not underestimate the size of this task as it is probably the largest single task and expense when creating IoT managed devices.
Ioto provides a comprehensive suite of API interfaces for you to create your device management application. These APIs cover the following areas:
- Builder HTTP REST API — for managing products, device clouds and software upgrades.
- DynamoDB schema — for querying structured device data.
- Event API — for receiving event notifications over AWS EventBridge.
- MQTT Topic API — for sending and receiving device commands, data and notifications.
As you progress with your design and development, you will probably require support.
EmbedThis offers two types of support:
- Basic Support
- Developer Support
Basic support provides basic guidance covering installation and operational usage of the product.
Developer support provides in-depth developer help for design and implementation issues. This includes embedded development, cloud-based device management, developer coding, debug issues and support for legacy software versions.
You can purchase support via the Builder interface under the Support menu option. You can also raise and track support issues with the Embedthis support staff.
To Subscribe for additional devices, create device clouds or purchase support, go to the Account/Subscription menu option and review your subscription, then click Confirm to purchase. You can enter a billing card on the Account/Billing page.
You can read more about subscriptions at: Subscriptions.