The Internet of Things (IoT) is a network of devices or sensors that can communicate with each other and with other services over the Internet. These devices can range from tablets and laptops, to smartphones and smart home gadgets. However, managing and synchronizing these devices can be challenging, especially when they are offline or disconnected, or if they are scattered over a wide area.
That’s where Things and Shadows come in. Things is the term for the actual devices or sensors that are connected to the Internet. Shadows refers to the virtual representations of Things that store their state and desired settings. Shadows can help improve communication and
synchronization between devices, particularly when they are offline or disconnected from their network.
E-Lynx is Estone Technology’s customizable device management platform for providing cloud services to IoT devices, which is powered by Amazon Web Services (AWS). This allows an immensely rich environment for your device to connect to other devices, to specific applications or to device management websites. E-Lynx can be used to securely interact with these IoT devices, extract data or upload packages. This can include Over-The-Air (OTA) modules, Mobile Device Management (MDM) modules, Voice Control modules (such as Alexa Voice Service (AVS), online or offline), phone and PC apps, and more. E-Lynx can be customized for
each client to incorporate their logo and brand name, utilize different user interfaces, and highlight specific functions. In this article, we will explain how E-Lynx device management software works in conjunction with Things and Shadows, what the benefits are, and how Estone can assist you in putting them
to use in your projects.
A Persistent State of Computing
Things and Shadows communicate with each other through the cloud service (AWS). The cloud service maintains a Shadow for each Thing in the network. Each Thing has its own name and designated IP address, recognized through the AWS registry. E-Lynx device management software can access these Things through an X.509 certificate, or a valid Cognito Identity.
If a Thing is not connected to its network at a given time, it has a placeholder in the cloud called a Shadow. When data is sent to the Thing, but that device is not available at the time (either by being away from the network, powered down or otherwise unreachable), the Shadow will store that data and automatically apply the update to the Thing once a connection is restored. E-Lynx device management software structures the Shadow in JSON (JavaScript Object Notation) format, which makes it very simple for both people and machines to interact with it. This design was developed on a universal data structure, which virtually all modern programming languages support in one form or another.
The Shadow contains a JSON document with two different keys: one for the reported state of the Thing, and one for the desired state. The Thing updates its reported state whenever it connects to the cloud service. It reflects the current status of the Thing, such as its battery level, temperature, location, etc. The desired state is updated by other device commands or services that want to control or configure the IoT device, or the Thing. It reflects what they want the Thing to do or be like, such as turning on/off, changing color, setting alarms, or receiving critical updates.
The cloud service also maintains a delta document that shows the difference between the reported and the desired states. The delta is detected through MQTT (Message Queueing Telemetry Transport), a simple and lightweight messaging protocol that is used to ensure bandwidth reliability and assurance of delivery to an IoT device. The delta document triggers actions on either side when there is a mismatch between them. This causes the Shadow to complete the state change and publish the appropriate data to the synchronized Thing, once a connection is re-established.
For example, suppose you have a smart light bulb that supports IoT connectivity via Things and Shadows. When you turn on your light bulb using your smartphone app, you update its desired state in its Shadow. The cloud service then compares this desired state with its reported state and finds a difference in status, or a delta. It then sends a command to your light bulb, telling it to turn on.
Similarly, if your light bulb turns off due to a low battery, it updates its reported state in its Shadow. The cloud service then compares this reported state with its desired state and finds another delta. It then sends a message to your smartphone app telling it that your light bulb is off.
The Advantages of OTA IoT Communications
Things and Shadows offer several benefits for IoT communication:
- They enable asynchronous communication between devices: Devices do not need to be online at the same time to exchange messages. They can update their Shadows whenever they connect to the Internet, and they’ll receive notifications from their deltas whenever they disconnect.
- They enable persistent communication between devices: Devices do not miss messages due to network failures or interruptions. They can always access their Shadows from the cloud service, even if offline or disconnected at the time a message is sent.
- They enable consistent communication between devices: Devices do not have conflicts or inconsistencies in their states or settings. They can always synchronize their states with their Shadows using their deltas.
- They enable scalable communication between devices: Devices do not need to know about each other’s details or locations. They can communicate through their Shadows using standardized protocols and formats.
- They enable virtual communication between devices: Devices do not need to be physically manipulated by a technician or device owner. They can be accessed or updated remotely, one at a time or in a group, regardless of their location.
How E-Lynx Device Management Software Can Be Utilized in Your Product
E-Lynx is an advantageous way to enable OTA updates via AWS. IoT devices registered on the cloud can subscribe to specific topics in order to receive job notifications. These OTA jobs are created on the E-Lynx device management web application, where administrators can upload packages or otherwise interact with Things. E-Lynx can access these Things through an X.509 certificate, or a valid Cognito Identity, and policies are enacted to protect access to those Things. Packages can then target an individual device or a group of devices. When an OTA job is created, a notification is published to the specific MQTT topic, and the device or devices will receive a package download URL. That URL is pre-assigned and issued by AWS, which enables the device to download the package directly, securely and efficiently.
Other services can be easily integrated within the workflow of an IoT device through AWS, allowing ease of use and maximum flexibility. The platform is registered with Amazon Cognito, which is used to authenticate and authorize the user’s device. This provides a general access policy, functioning as a permission boundary, and fine-grained access control to the device is enabled.
The Real-World Impact of OTA Updates
If your company develops electronic devices, there are a myriad of reasons to consider using OTA updates for your projects. OTA updates have many potential applications across various industries and sectors, such as manufacturing, hospitality, smart home innovations, healthcare, etc. Some of the benefits of OTA updates include the following:
- Improving user satisfaction and loyalty by providing timely and convenient updates that fix bugs, add features, or optimize performance.
- Reducing costs and risks associated with recalling devices, sending technicians, or shipping new hardware.
- Enabling remote management and control of devices across different regions and networks.
- Increasing security and compliance by patching vulnerabilities or updating regulations.
- Diagnosing an issue with a device, reading error codes, and sending patches remotely.
- Having the ability to pull data from a device to better understand analytics, usage, and consumer habits.
In the manufacturing industry, computers and touch panels are often utilized throughout a large facility, or in multiple locations. Being able to access and interact with all of those devices from one IT office – rather than sending a technician to each individual terminal – provides an immense savings in productivity and cost. IT professionals can review error messages, install or update software and firmware, or create scheduled maintenance reporting, all OTA, all at once. In the automotive industry, this method can be used to improve vehicle features, such as performance, safety, navigation and driver assistance. Manufacturing and assembly plant technicians can utilize OTA communications to update the software or firmware of vehicles remotely. This can improve the safety, performance, and functionality of vehicles without requiring customers to visit dealerships or service centers.
In the smartphone industry, OTA updates are used to deploy firmware and configure phones for use on wireless networks. This can improve the functionality, performance, and security of mobile devices without requiring customers to connect their devices to computers or manually download large files. These fixes can be applied either through a personal wi-fi network, or over the cellular network, depending on settings.
In the smart home industry, this method can be used to roll out new patches, software or firmware to remote devices without recalling them. For example, smart home appliances such as speakers, thermostats, and cameras can receive OTA updates that improve their functionality and compatibility with other devices, and these products don’t need to be hard-wired to computers. Updates are performed wirelessly, over the home network, without the owner needing to physically access the device.
In the hospitality industry, tablets and panel PCs could be placed in individual hotel rooms, or on every table in a restaurant. OTA updates eliminate the need to access each device, instead allowing a company to push out updates and information from one central location. This expedites the process of having to maintain dozens – and sometimes hundreds – of units, bringing them all up-to-date at one time, from one work station.
Estone Technology is at the forefront of this movement, and can assist your company in implementing OTA procedures into your products. In addition, Estone provides OEM and ODM design and manufacturing services for Tablet PCs, Panel PCs, Industrial Computers and other Electronic Devices for a wide range of markets, including healthcare, military, manufacturing, field service, logistics, POS and more. Discuss integrating these technologies into your development process with one of our Mobile Solutions Managers. Let our customizable E-Lynx device management platform help you build and maintain a device that is a virtual necessity in your industry, and allows your company to emerge into a new era of technology.