How to Build Edge Devices with a Strong Industrial IoT Data Management Framework

Tuesday, September 18, 2018

ColibriIoT

Introduction

The Internet of Things, IoT, is inviting devices to change our lives. From managing home appliances to vehicles interacting with roads and cities, devices can advise one on what to do, what to eat, where to go and how to get there. When it comes to the industrial aspect of IoT, devices assist in managing processes during which alarm management adds value to predict faults and catastrophes. Things are getting embedded with and controlled by smart devices that come together to automate tasks, so we can maximize our time. Intelligent things can collect, transmit and understand information. It is data and information that makes this journey interesting.

At the same time, developers and manufacturers of embedded systems and devices need to prepare and keep up with this new trend and build systems that answer the demands of markets and introduce new innovations, which at its core relies on one common thing: data management.

In the IoT era, software developers need to decide on a data management framework compatible with all the software and hardware that plays a role to collect, manage and distribute data. Meanwhile, your development needs to be efficient, so you can accelerate time to market through on-time manufacturing of the end-product. Device manufacturers often produce a product family of similar devices at different price points. To make the most efficient development plan, the software and hardware architecture should be shared across all products in a family.

It is tremendously beneficial to time and cost when you have the option of starting with tools that are already tested and working together. When you purchase a development board or license software tools, it is your responsibility to make them come and work together. Whereas with a verified solution, you are assured that various components already integrate. Believe it or not, we are talking about months of prototyping, development and integration work.

Data management challenges

Whether you are measuring temperature, pressure, location, or any other metric, managing data is a must, and it is a big challenge. But how do you select the right tools so that integration is proven and compatibilities are confirmed? How do you benefit from existing knowledge of data management and available standards, such as SQL, for your edge devices? How do you manage multiple threads and how do you make the data highly available? What happens when your business requires you to change the operating system? Where can you find a single vendor that provides a comprehensive data management solution for any embedded application?

When it comes to building a system with edge devices, you need few things, including a development board, operating system, compiler, database, and a way to distribute and share data. You also need to decide whether to manage the data on the edge or only after sending it to the cloud. Sensors and devices can connect indirectly through the cloud, where data is centrally managed, or send data directly to other devices to locally collect, store, and analyze the data, and then share the selected findings or information with the cloud. Relying on the edge device for data management offers peace of mind by privately securing the most valuable data and reduces bandwidth cost. It also provides a great performance, lower maintenance cost, and ownership over the data.

Data management solution verified in our lab

In a typical IoT scenario, sensors produce a large volume of data for edge gateway devices to collect and analyze, allowing the device to gain intelligence. Devices even analyze information and make decisions. These high-performance systems not only need to collect data in real time, but they also need to make the data organized and available for other systems.

A common embedded IoT data management platform collects, stores, analyzes, and shares data without relying on central storage cloud and connectivity. The core operating systems, programming languages, and other development tools provide the foundation for distributed computing.

To face the challenges and understand what a typical developer encounters, we decided to build an embedded IoT system in our lab. The demonstration we developed simulates a family of industrial IoT products, based on ITTIA DB SQL database and Toradex customized single-board computers, that monitor energy and control autonomous robots in a factory environment.

Hardware for IoT devices ranges from low-powered microcontrollers to fully-functional embedded computers and microprocessors. In some cases, a dedicated human-machine interface is required to report the status of other IoT devices, provide detailed insight, and offer control. For our system, we used four Toradex Colibri iMX6ULL modules with Aster carrier boards, one touch display, the Linux operating system, and ITTIA DB SQL to manage and distribute data.

Demonstration Deployment Diagram
Demonstration Deployment Diagram

The data management process starts with a device that facilitates communication with the common IoT data management platform and makes all software components work together. Like other potential applications of IoT technology, we made sure that our demo uses a variety of physical devices that collect data and communicate with each other. Our goal was to confirm that the edge devices can reliably collect, store, manage and distribute information on their own.

Benefits of our solution

First, we started our demonstration to run and simulate data where sensors were connected throughout the system. Data was shared between each high-performance Toradex edge device, collecting a large quantity of data that, in a real-life example, would accumulate data over many months and years. The edge devices also run a web-based dashboard that end-users could access to monitor the flow of data, so they can decide how various systems in our demonstration and devices are running and get notified by alarms.

Our goal was to connect each device to an object to make it intelligent and enable it to exchange information with other embedded systems and devices. Data was recorded, in local database files, including the data produced and consumed by each IoT device deployed. Again, these devices were designed to communicate with each other and monitor sensors data over days, weeks, months and even years. Because the data was stored in a database, it was also possible to draw a graph for any desired range of time and each point on the graph represented a record that was found by searching the database which stored a large quantity of data.

Dashboard Interface
Example Screenshot of the Dashboard Interface

By recording the sensor data to local databases on the IoT edge network, it was possible to search through the data with SQL to perform machine learning and subject the sensor readings to analysis. Relational database tables are indexed, so they can be filtered and sorted efficiently. Spatial indexes were used to search for objects by location and proximity in geospatial search queries.

ITTIA DB SQL is a high-performance edge device database, which is commercially supported by ITTIA for industrial IoT applications. It tightly integrates into applications to store a large quantity of data on flash storage media, using strong built-in data types, including date, time, and geospatial types, to clearly organize information. Because the database is fully embedded inside the application programs, there is no need for administration; deployment is silent. High availability in ITTIA DB SQL also enables the application to be decentralized, providing secure data management on each device, which can operate with or without connectivity.

In our lab, each sensor device saved sensor readings in a local database table on flash media. This ensured that historical data is preserved and available even while devices are temporarily disconnected. A new record is added for each sensor measurement, at a configurable sample rate, using the SQL standard timestamp data type. By storing a complete history of power measurements in device-local databases, the application securely and reliably maintains a complete historical record with high accuracy. The databases are then used to extract a small number of records, at specific times, for analysis and data sharing.

Demonstration Database Schema and Queries
Demonstration Database Schema and Queries

To analyze the data, there are several approaches available. We chose to implement a simple human machine interface (HMI) that presents the current state and history for each sensor. The HMI combines a REST web server and ITTIA DB SQL replication server into a single C++ program. The current state of each sensor is saved in memory tables, while sensor history is collected permanently in disk tables. The hybrid ITTIA DB SQL database containing these tables is queried whenever a web client requests an update. Concurrent requests are handled safely and efficiently with database transaction isolation, which ensures that every task has a consistent view of the database.

Another interesting aspect of the database is making data highly available. Most tables were configured to replicate data by the C++ application code, and options to change policies for data conflicts are also available.

Database Replication Configuration Example
Database Replication Configuration Example

With the HMI, we were also able to query the full history of sensor measurements collected over an arbitrary period of time, and each device program kept its own local copy of the history tables. Database replication is used to send data from one device to another.

Conclusion and takeaways

The complexity of IoT often surprises integration managers, as costs and development budget rapidly spiral out of control. To prevent disappointment, developers and managers can address the diverse integration requirements for IoT data management by selecting verified tools. There are important factors behind the IoT device data management platform, including interoperability, scalability, security and standards offered by software technologies selected to build IoT products. Meanwhile, when sensor devices are used to collect private information, it is important to protect data from unauthorized access and tampering. Having many different devices connected directly to cloud services presents a huge attack surface, which can be mitigated by channeling data through a secure gateway device.

Toradex Computer on Modules are ideal for rapid development and deployment of IoT edge devices. With a customized single-board computer for each IoT device, a complete IoT project can be completed with a common embedded development platform. By combining off-the-shelf modules and carrier boards, every Toradex device has the sensor inputs, touch display, and other hardware interfaces appropriate for its specific role.

With a demonstration in our lab, we showed how the right technologies work together to solve IoT data management problems. But these examples could be easily adapted to any IoT scenario with data to be managed. While the new era of IoT is revolutionizing innovation, ITTIA IoT Factory offers a combination of qualified third-party technologies already tested and verified; consequently, developers save time and rapidly start development. The third-party solution includes RTOS, middleware, connectivity software, user interface, processors controllers, etc.

You have access to ITTIA IoT Data Factory to support this integration and as the first point of contact to answer your questions. Visit https://ittia.com/demos to get started.

Technical Takeaways:
Business Takeaways:

The bottom line is that you need to bring these devices to market quickly to position yourself and your company as an innovator. For that reason, off-the-shelf standard solutions that offer the customization you need, will be the key to success in any IoT market. You need a stable platform that will allow you to deploy quickly, but still upgrade hardware and software to keep up with new innovations.

#Human Machine Interface (HMI) #IoT (Internet of Things) #Machine Learning #NXP® i.MX 6ULL #SQL database
Author Sasan Montesari, Founder, ITTIA

Leave a comment

Your email ID will be kept confidential. Required fields are marked *


Please enter the letters as they are shown in the image above. Letters are not case-sensitive.



* Your comment will be reviewed and then added. Thank you.