📜 ⬆️ ⬇️

IoT-solution for transport: the path from idea to production

Today we will talk about the rapid development of IoT-system, which is designed for refrigerated trucks. It helps to monitor the temperature in the refrigerating chamber and behind the doors of the cargo compartment.

Work on the project is divided into two phases. First, with the use of the Grove IoT Commercial Development Kit, a prototype was created that allowed to confirm the performance of the system. After this, the prototype was converted into a solution suitable for practical use.



The main software and hardware components of the ready-made solution are the Intel Gateway for the Internet of Things, industrial-grade sensors and Intel System Studio. During operation, the gateway that collects sensor readings generates events based on the recorded changes in monitored parameters. The data comes in a mobile application that allows the truck driver to monitor the temperature in the cold store, and, in response to alerts, take measures that allow you to save the load.
')
This project was first shown at IDF 2015 , and later at a similar event in 2016.


Demonstration of the ready decision

Developments in the field of the Internet of things are aimed at equipping familiar devices with intellectual functions and communication capabilities. Based on the information collected and transmitted by these devices, you can create systems that ultimately improve the quality of life. This also applies to our project aimed at automating trucks that transport perishable goods. We focused on only one of the possible aspects of such automation. Namely, on the temperature control in the refrigerator. If the temperature is outside the specified range, the system alerts the driver, and he can take measures in time to ensure that the load does not deteriorate. This helps to reduce financial losses in the field of transportation, which means that our project may well become a promising commercial product.

Preliminary Information


In the course of the project, it was planned to build a prototype, and after it was proven to work, to create a commercial solution that can be implemented in fleets of various sizes.

The prototype was created quite quickly thanks to the Grove IoT Commercial Developer Kit, which includes a computer from the Intel NUC series, Intel IoT Gateway Software Suite software, a set of sensors and auxiliary components of the Grove Starter Kit Plus (manufactured by Seeed). In addition, the Arduino 101 board is involved in the project. Usually this board is called in the USA, in other countries it is known as Genuino 101.


Computer Intel NUC Kit DE3815TYKHE


Arduino 101 board

Here are the characteristics of the computer and the board.
Intel NUC Kit DE3815TYKHE
Arduino 101
Processor / Microcontroller
Intel Atom E3815 processor (512 KB cache, 1.46 GHz)
Intel Curie 32 MHz Compute Module
Memory
Up to 8 GB DDR3L-1066 SODIMM
196 KB of flash memory
24 KB SRAM
Network capabilities, I / O ports
Integrated 10/100/1000 Mbps network controller
14 digital and 6 analog outputs
Dimensions
190 mm x 116 mm x 40 mm
68.6 mm x 53.4 mm

We believe that the “from idea to production” approach, which is applied when working on this project, is valuable in that it allows you to first build a prototype, spending relatively little time and money, and then quickly move on to a solution suitable for commercial use. The use of pre-assembled operating systems and ready-made RPM packages allows you to avoid unnecessary time spent on downloading additional materials, setting up the operating system and searching for the libraries necessary to make the software part of the solution work.

The global goal of the project is to supplement the existing knowledge in the field of similar innovative solutions that are being created and brought to the market. While only basic functionality is incorporated into our development, its architecture is quite flexible and extensible, which allows you to add many additional features to it. This applies to hardware components, software functions, interaction with cloud services. For example, it is relatively easy to add the ability to remotely monitor the condition of a refrigerator to the existing functionality.

In the early stages of the project, the team decided on the potential functions of the prototype and the finished product. Among them is the collection of information on the status of loading doors (they are open or closed), data on the temperature in the refrigerator. Based on the collected data, the system should notify the driver about situations dangerous for the cargo using a mobile application.

The initial stage of work includes the creation of a prototype. In order to pass this stage without wasting time and money, the team decided to limit the set of materials for prototyping to the contents of the Grove IoT Commercial Developer Kit.

Prototype


In order to ensure separation of duties and organize effective work on the project, the team divided the solution into three main components:


Dividing the project into several parts allowed us to go faster through the stages of developing a prototype, rather than without such separation, using the set of skills that the team members have. In particular, although the user interface could have been dispensed with in the early stages of the project, it was expected that its development, in comparison with other tasks, would take the most time. An early start of work allowed us, at the later stages of the project, to get an almost ready user interface.

In terms of application logic, the team, correctly predicting the desired capabilities of the finished product, was able, at the initial stages of work, to make decisions taking into account future needs. In general, the team expected that work with door sensors would be relatively simple, which allowed us to pay more attention to the correct use of temperature sensors, first in the prototype, and then in the finished solution.

Through the use of sensors from the Grove kit, the team was able to quickly create a prototype that fully simulates the system. The user interface team was able to work with the prototype. This approach, among other things, allowed us to quickly create an interface layout and design elements. The prototype, in software and hardware sense, became the basis for the finished product. The configuration of the prototype, which involves the Intel NUC, Arduino 101 board and sensors, is shown below.


Prototype

Here are the details about the used components.

Main system:


Components from the Grove IoT Commercial Developer Kit.


Experiments


Here is the scenario of working with the system, imitating the real situation. It uses an administrative application and a prototype.

  1. Press the button that symbolizes the opening of the door.

    - Let's set the alarm threshold when the ambient temperature rises by 5 degrees.
    - In the "cab" turns on the red LED.
    - The LCD displays the current temperature and door status (open), as shown in the figure below.


    Display of temperature in the refrigerator and door status information

  2. Let us touch the temperature sensor so that the temperature recorded by it rises by five degrees.

    - The buzzer sounds.
    - The red LED flashes continuously.
    - The LCD turns on a red light and displays the current temperature and the status of the door (it is still open).


    System response to temperature increase with the door open

  3. We touch the touch sensor in order to inform the system that we are ready to rectify the situation. This turns off the buzzer.

  4. Click on the button that simulates closing the door.

    - The red LED continues to flash until the temperature falls below the set threshold.

    - LCD display shows temperature and door status (closed).

    - When the temperature falls below the threshold value, the flashing LED turns off, the green backlight turns on on the LCD.

    - LCD displays temperature and door status (closed).

This is what the refrigerator temperature monitoring log looks like during our experiments. Descriptions of events located below the graph indicate that it took the driver a little more than a minute to respond to an abnormal situation that led to an increase in temperature. In reality, even if the reaction time increases slightly, it will mean a reduction in the potential loss of perishable products.


The event log


System OK

Commercial solution


After the prototype has been tested, it’s time to move to a commercial solution. This transition begins by determining which software and hardware components that are suitable for actual use correspond to different parts of the prototype.
Prototype
Commercial solution
Buzzer
Grove Kit Buzzer
Notification on the phone (mobile application)
LCD display
Grove LCD
Phone screen (mobile app)
Red led
Grove Kit LED
Programmable phone LED (mobile app)
Button
Grove Kit Button Module
Industrial magnetic door opener sensor
Touch sensor
Grove Kit Touch Sensor
Touchscreen phone (mobile app)
Temperature sensor
Grove Kit Temperature Sensor
Industrial temperature sensor
Heat source
The heat of the person touching the sensor
20 watt halogen spotlight
Gateway
Intel NUC computer and Arduino 101 board
Intel Gateway for IoT

There are many gateways available, they are quite diverse, which allows you to choose a device suitable for any application. The key gateway capability required for this project was the wide range of available I / O methods. This is the requirement of the current version of the project, connected with the connection of sensors, and the pledge of its expansion possibilities in the future. In our case, the Intel Gateway for the Internet of Things was chosen for the production phase of the project. The I / O methods supported by it and its computational capabilities were considered sufficient for commercial use.

To collect information about the temperature, which is made at intervals of a few seconds, a Comet wired sensor was chosen that supports the Modbus protocol. In general, the interaction with the sensors is carried out either by their direct connection to the gateway, or, for sensors with advanced capabilities, over the network. The project used the standard libraries MRAA / UPM, they did not make any changes. The UPM library for Java uses libmodbus to read data from a temperature sensor.

The gateway works as a web server (Tomcat), stores data, polls the temperature sensor, keeping the information up to date.


Gateway and temperature sensor, a demo version of the finished project

Moving the application to the gateway


Usually the transition to using a gateway involves the need to recycle the code in such a way as to make it compatible with the new system. In this case, programming for the prototype was conducted in Java, HTML, and JavaScript, which made the transition to a ready-made solution relatively simple. In addition, the transition has simplified the use of the same MRAA / UPM libraries at all stages of the project.

Transition to industrial sensors


Using the MRAA and UPM libraries can quickly bring a project to a working state. The following steps show the process of porting an application to a commercial version of a product.

  1. Schedule the desired industrial hardware:

    - Determine if the hardware support needs additional libraries or other software.

    - If necessary, integrate these libraries and software into the system and create a system level for deploying project software.

  2. After the new hardware is successfully integrated into the prototype, remove the code that is no longer needed.

    —Use the existing levels of abstraction created during the work on the prototype to establish the dependencies of the solution.

    - Make the changes necessary to support the new hardware.
  3. Build a commercial version of software based on current developments.

  4. Install and test the solution using hardware designed for the commercial version of the project.

Custom application


The application, whose screenshots are shown below, is intended for the driver. It was created to replace the LCD, LED, buzzer and touch sensor from the Grove kit. In the finished solution, the user application is installed on the mobile device that the driver is wearing. This allows the system to easily inform him of important events, and for him to quickly respond to alerts. In this example, the application is very simple, but, if necessary, it can be easily expanded. Its interface provides two status indicators. They help to control the temperature in the refrigerator and the condition of the doors. There are also a couple of buttons - ALERT, an alarm button, and ACKNOWLEDGE, which allows the driver to show that he saw the alert and is ready to take action to save valuable cargo.


Main screen


Alert


Situation requiring driver intervention


Configure Gateway Connection

Results


We talked about how to use the Grove IoT Commercial Developer Kit for quick, easy and inexpensive prototyping. The software part of the solution, based on multifunctional libraries for working with sensors, facilitates the development process and ensures high compatibility of the code written for the prototype with the components of the commercial version of the product. In the prototype, the role of the gateway was played by the Intel NUC computer, and the gateway from Intel was used in the ready solution. This ensured compatibility of the prototype code and the turnkey solution at the operating system level.

The main goal of Intel when working on this project was to explore the possibilities for creating IoT solutions for transport. We hope that our research will help the development of similar innovative developments in the field of the Internet of Things.

Additional details regarding the technical part of the project can be found here . The code and documentation are stored on GitHub .

Source: https://habr.com/ru/post/372777/


All Articles