For Cloud Engineers
Head in the clouds and feet on the ground. A cloud engineer has to connect the devices of yesterday with the cloud of tomorrow using what is available today.
The work flow for creating cloud-managed devices with the Builder includes:
- Selecting the device agent for your product.
- Gaining access to device software.
- Creating device clouds.
- Registering and claiming devices.
- Gaining access to support programs and communicating with EmbedThis support.
- Monitoring and analyzing device performance.
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 web site helps you to:
- Define, configure, and control your products.
- Manage your device clouds.
- Tailor software upgrades to your needs.
- Manage your subscription and billing for EmbedThis products and services.
The Ioto Service is a cloud application. It provides services for the EmbedThis Builder and managing the provisioning of devices into Device Clouds.
Ioto Device Clouds are cloud-based hubs that run in your AWS account and region. They 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 is outlined below.
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, download the Ioto device agent from the Builder product list by clicking the download icon in the 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:
Create a Device Cloud
When your device has Ioto embedded and is ready to communicate with the cloud, you need 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.
When registered, you can "claim" the device for a user.
During development, you can claim devices from the Builder cloud list.
See Device Claiming for more details.
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.
In production, users will claim devices using a bespoke management application that best implements an effective operational interface for your product and devices.
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.
With an active support plan, you can use the integrated Builder support center to open support cases and track them to conclusion.
When opening a support case, you supply:
- A short case issue subject
- A detailed issue description
- The relevant product experiencing the issue
- Attach relevant files or logs
- The issue severity
- A list of additional recipients
Please provide a complete and detailed description.
A good description is a clear and complete description of what the issue is. Please explain in sufficient detail. Most people are too brief in the description and it results in delays addressing issues as support staff go back and forth with questions. Please spend some time writing a complete description.
If you can, please include a link to a gist or repository containing a test case or sample that reproduces your issue. Reproductions should be short, correct, self-contained and should not contain code that isn't relevant to the issue. Please do NOT just paste code from your project. Explaining how to reproduce the issue alone is typically insufficient.
You can set the issue severity which helps EmbedThis staff understand the impact of your issue. Set to low, medium, high or critical. Please do not overstate the issue severity. NOTE: the severity does not equate to a priority with which your issue will be addressed.
By default, cases will be sent via email to you for your records. You can include a comma separated list of email recipients who will also receive a copy of the case issue exchanges.
When an issue is closed to your satisfaction, click the close case button.
The GitHub repositories provide release and issue tracking and general discussion for Ioto
Note: the software is not available via GitHub and only via the product list in the Builder site.
See the following URLs for the GitHub repositories.
Using your GitHub account, subscribe to watch the GitHub security alerts page at:
If you have suggestions for how the Builder could make your role easier, please let us know at: email@example.com.