Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles
(untagged)

IoT Reference Implementation: The Making of a Transportation in a Box Solution

16 Jan 2017 1  
This development narrative demonstrates the viability of creating a variation on an existing Intel IoT path-to-product solution to meet novel business needs.

This article is in the Product Showcase section for our sponsors at CodeProject. These articles are intended to provide you with information on products and services that we consider useful and of value to developers.

Get access to the Grove* IoT Commercial Developer Kit, a complete hardware and software solution that allows professional developers to create exciting new scalable IoT solutions with the latest Intel® boards. Visit the Intel® Developer Zone for IoT.

To demonstrate the flexibility and extensibility of an existing IoT Path-to-Product solution (Connected Transportation), a reference implementation edge IoT solution, called Transportation in a Box, was adapted to incorporate a novel form factor, along with changes to the system hardware and sensor array.

Developed using the Intel® IoT Developer Kit, Intel® IoT Gateway, and Intel® System Studio IoT Edition, the Transportation in a Box solution monitors the status of a) the temperature within a truck’s refrigerated cargo area and b) the open or closed position of the truck’s doors (cargo area). The gateway generates events based on changes to those statuses, to support end-user functionality on a tablet PC application. This document development narrative for the Transportation in a Box solution recounts the course of that project development effort. It begins with a summary of how the new project builds on the work that came before it, and then it illustrates at a high level the key hardware and software aspects of the solution. Interested parties can use this narrative as a point of departure to modify resources from Intel—without starting from scratch—for their own initiatives.

These types of projects are engineered to be scalable, flexible, and extensible (attributes which help to enable the innovation necessary to facilitate successful IoT initiatives). In addition to being able to create novel solutions based on the existing projects built by Intel, these resources can help companies to add IoT functionality to existing products.

  • Scalable: Here we start with just one truck but we can expand (have multiple deployments of the same solution) to a fleet of thousand trucks.
  • Flexible: Both the system and hardware are adaptable. The hardware device is compatible across multiple operating systems. And you can use different sensors (system flexibility).
  • Extensible: Say you have a legacy system and you want to "extend" or add more features. You can build upon an existing system with our software tools (software stack).

Visit GitHub* for this project’s latest code samples and documentation.

Internet of Things (IoT)

The Internet of Things (IoT) holds open-ended opportunity to create connectivity and intelligence that transform everyday objects and experiences. Realizing the full potential of that opportunity requires not only innovation, but also the efficiency to rapidly assess the value of an idea and to move it from conception to profitability. Since it was created, Intel’s IoT Group has been committed to enabling companies of all types and sizes to optimize the process of building high-quality IoT solutions and rapidly bring them to market.

A key foundation of that approach has been to provide flexible, end-to-end solutions based on open-standards Intel® architecture building blocks that span everything from sensors, to gateways, to data centers and the cloud. This range of offerings adds intelligence and data connectivity to devices of all kinds, sending data through gateways to the network core and potentially to cloud-based analytics resources.

Building upon Connected Transportation: Creating Value with a Portable Form Factor

The predecessor to this project is Intel’s path-to-product solution for connected transportation, which was produced by a US-based Intel team. Unlike the Transportation in a Box solution, path-to-product solutions begin with a proof-of-concept prototype and then scale using an Intel® IoT gateway, industrial sensors, and Intel® System Studio to create an industrial-quality solution. (See Table 1 for a description of the path-to-product approach.) The Transportation in a Box solution takes advantage of that previous work, without needing to duplicate the prototype stage.

An Intel team based in Europe identified value in creating a variation on the existing connected transportation solution, illustrated in Figure 2, without using a physical model of a truck. Instead, they aimed to create an easily portable version to demonstrate rapid IoT path to product prototyping of an end to end solution using the Intel IoT Developer Kit, and to be used at conferences, workshops and other events. The result, shown in Figure 3, is contained within a hinged case and simulates the relevant parts of the truck, rather than using a larger physical model.

Figure 2. Original Connected Transportation solution.'

Figure 3. Transportation in a Box solution.

The IoT Opportunity for Transportation

The ability to add intelligence at the network edge for all manner of solutions lies at the core of most value propositions associated with IoT, harnessing information and putting it to use in ways that generate business insight. In the case of the transportation and logistics vertical market segment, one example is to generate data based on monitoring the status of a refrigerated semi-truck trailer hauling perishable goods. Alerting the driver when the temperature passes outside a pre-set range or when cargo doors are opened unexpectedly can help avoid financial losses.

Intel’s IoT Group determined that a solution to monitor and track these aspects of a semi-truck trailer could be the basis of a viable commercial product. An Intel development team therefore undertook a project to usher such a solution through the prototype and productization stages. That effort, which was presented at Intel® Developer Forum in 2015 and again in 2016 is documented in the following materials:

Taking advantage of the project solution described in these documents does not require special equipment or advanced knowledge, and as such, they are intended to be instructive toward developing IoT projects in general.

Transportation in a Box: Main Components

A door (switch), thermometer (temperature), bell (alarm), and cooling fan (snowflake) represent the main components which simulate the transportation monitoring solution.

  • Door: The driver is notified of a change in door position (open or closed).
  • Thermometer: The inside temperature of the truck’s cargo area is monitored and that temperature data recorded.
  • Alarm: For temperatures above a specified threshold, the user interface plays an audible alarm. The alarm is cancelled by pressing the push button or when the temperature returns to normal (temperature below the specified threshold).
  • Cooling fan: The fan cools the truck’s cargo. The cooling fan is connected to the door and when the door is open, the fan shuts off (allowing the temperature to rise). Similarly, when the door is closed, the fan is on (in order to keep the cargo area of the truck below the specified temperature threshold).
  • Display: Displays the status of the system, temperature and door status.

Both the original Connected Transportation solution and the Transportation in a Box solution operate based on sensor data that includes the open/closed status of the truck door, the temperature of the truck interior, and a number of events, including open and close actions of the door, changes in temperature, changes to settings in the temperature threshold, and trigger/stop events for the alarm. All data is forwarded to a web interface that can be used to monitor the status of the truck.

The core functionality of the existing Connected Transportation solution was carried forward to the Transportation in a Box project. While many of the solution components are in common between the two projects, this effort confirmed the flexibility and extensibility of the project approach, as described in the following section. In particular, the development of the Transportation in a Box solution took advantage of the prototype-stage proof-of-concept work that had already been done, avoiding the time and expense that would have been associated with starting from a clean slate.

Intel’s Path-to-Product Solution Approach

More than just blueprints, these projects are intended to serve as extensible foundations that companies can use to conceive and create IoT solutions of their own. While each solution is unique, all of them make use of the following six-step path-to-product methodology:

The six step path-to-product methodology:

Table 1 - Six Step Path-to-Product Methodology

Six Step Path-to-Product Methodology
Phase 1Phase 2Phase 3Phase 4Phase 5Phase 6
Define the opportunityDesign a proof of concept (POC)Build and refine the POCProduce beta versionEvaluate functionality; add featuresFinalize design; move into production

The first three phases of the project methodology are investigative. They focus on ideation and assessing the potential of the project to solve a given problem. Importantly, this approach embraces a "fast-fail" orientation, meaning that project teams can determine whether an idea is commercially viable with a minimal investment of time and money. Assuming that the project is promising at the prototype stage, the second three phases of the path-to-product structure help ensure an efficient way forward to commercialization.

Adapt Connected Transportation to create a new solution

Once the Transportation in a Box team had determined that the existing Connected Transportation solution would provide an appropriate starting point for modification, an early requirement was to identify changes that would best suit the new project’s goals. Because the solution components are standards-based, such changes can easily be made based on convenience or preference, including the availability of specific components.

What Changed

Appearance: Choosing a Portable Form Factor

The primary change the team wanted was to build the solution using a suitcase-like form factor, as opposed to the truck model used in the previous solution. That change had the benefits both of increased portability, as well as removing the need for having a model fabricated, which would have involved greater cost and time requirements than the custom-built case. Based on availability, the team also elected to use a Dell* iSeries Wyse 3290 IoT Gateway in the Transportation in a Box solution and to substitute a different temperature sensor.

Software

While the change in overall form factor created a marked difference in the overall appearance of the solution, the changes in electronic components had little or no effect on programming requirements and electrical connectivity. Both versions used the Intel® IoT Developer Kit and coded primarily using Java*, JavaScript*, and HTML using Intel® System Studio IoT Edition, Intel's MRAA* and UPM* libraries and running the Intel® IoT Gateway Software Suite as the OS. The core applications that underlie the system—namely an administrative application running on the gateway and a mobile customer application for use on a tablet or smartphone—also remain the same between both versions.

Adding sensors

In addition to the changes made as part of this project initiative, interested parties could make changes to other parts of the solution as needed. These could include, for example, adding or removing sensors or actuators, switching to a different integrated development environment (IDE), programming language, or OS, or adding entirely new software components or applications to create novel functionality.

While this project was designed to provide somewhat basic functionality, its design approach is flexible and enough that a variety of features could be added. In particular, the project could be expanded in the future to include cloud capabilities, remote monitoring, and the addition and subtraction of other solution parts to meet the needs of a specific project vision.

Transportation in a Box: Hardware Components

The team’s first order of business was to select hardware components: gateway, microcontroller, and sensors. The team engaged with a custom fabricator to build the case that the Transportation in a Box solution is contained in, providing a sturdy, secure foundation for the project that is also professional in appearance, suited to its intended use at conferences and other industry events. The team also chose the Dell*iSeries Wyse 3290 IoT gateway, a robust device based on Intel architecture that has the following benefits:

  • Robust compute resources to ensure smooth performance without bogging down during operation.
  • Ready commercial availability to help ensure that the project could proceed on schedule.
  • Pre-validation for the OS used by the solution (Intel® IoT Gateway Software Suite).

Based on the dual-core Intel® Celeron® processor N2807 operating at 1.58 GHz with 4GB of DDR3 RAM, this Intel® IoT Gateway provides PC-class resources to support robust compute functionality for current and future requirements of the Transportation in a Box solution. At the same time, the gateway’s compact form factor enhances its suitability for use in this implementation.

The gateway acts as a web server, storing data as well as making calls to the temperature sensor to keep the data fresh. To accomplish this, curl calls update the web server directly from the temperature sensor, written in C using the libmodbus library.

To simplify connectivity between the gateway and the sensors used in the solution, the team elected to follow the approach used in the previous solution, taking advantage of the Arduino* ecosystem by using an Arduino 101* (branded Genuino 101* outside the U.S.) board. This board makes the Intel® IoT Gateway both hardware and pin compatible with Arduino shields, in keeping with the open-source ideals of the project team. While Bluetooth* is not used, the system hardware does have that functionality, which the team is considering for future use. Specifications of the gateway and Arduino 101* board are given in Table 2, and the two devices are shown in Figure 4.

Table 2. System hardware used for Transportation in a Box project

 Dell iSeries* Wyse 3290 IoT GatewayArduino 101* Board
Processor/MicrocontrollerIntel® Celeron® processor N2807 @ 1.58 GHzIntel® Curie™ Compute Module @ 32 MHz
RAM4 GB DDR3 RAM @ 160 MHz24 KB SRAM
Flash16 GB196 KB
Networking/IO
  • LAN: 1 x 10/100/1000 BASE-T
  • WLAN: 802.11a/b/g/n/ac
  • PAN: Bluetooth 4.0 Low Energy
  • Digital I/O pins: 14
  • Analog I/O pins: 6
  • PAN: Bluetooth LE
Dimensions69mm x 197.5mm x 117mm68.6mm x 53.4mm
Weight2.34kg34g
Full Specificationsspecsspecs

Figure 4. Dell iSeries* Wyse 3290 IoT Gateway and Arduino 101* Board.

For the sensors and other components needed in the creation of the solution, the team drew in part from the Grove* Starter Kit for Arduino (manufactured by Seeed Studio*), which is based on the Grove Starter Kit Plus used in the Grove IoT Commercial Developer Kit. This collection of components, which is available at low cost, was already available to the project team, reducing the effort required to procure the items on the bill of materials.

Because the components in the Grove Starter Kit are intended primarily for prototyping, as opposed to commercial implementations, however, the team followed the approach taken by the project team in the original path-to-product Connected Transportation solution, obtaining several industrial-grade components from other sources. The complete list of components, including procurement sources, is given in Table 3.

Table 3. Transportation in a Box project components.

 ComponentDetails/FunctionConnections
Base SystemDell*Wyse 3290Gateway 
Arduino 101*Sensor HubUSB
USB Type A to Type B CableFor connecting Arduino 101* board to the gateway 
SensorsOmega* RH-USBTemperature sensorUSB
Grove* - RelayFan controlD8
Grove - LCD RGB BacklightDisplay statsI2C
Magnetic Contact SwitchDoor sensorD3
Peltier Thermo-Electric Cooler Module+Heatsink Assembly - 12V 5ACooling fan 
Rugged Metal On/Off Switch with White LED Ring - 16mm White On/OffRound push button (acknowledge alarm)D4

Using this bill of materials, the team was able to rapidly assemble a working solution that emulated the functionality of the previous model-based Connected Transportation solution.

The gateway and other components were assembled into the custom-fabricated Transportation in a Box case, illustrated in Figure 6.

Figure 6. Detail views of Transportation in a Box solution.

To facilitate safe transport to events, the solution can be packed into a padded hard-shell plastic carrier, as shown in Figure 7. That protective carrier is strong enough for shipping and compact enough to be checked as baggage on commercial airline flights.

Figure 7. Protective carrier for Transportation in a Box solution.

Transportation in a Box: Software Components

Apart from the physical model, the Transportation in a Box solution also includes a variety of software components, which are described in this section. As mentioned above, the Transportation in a Box solution includes an administrative application running on the Intel® IoT Gateway, as well as a mobile customer application that simulates use by the truck driver, running on a tablet PC or smartphone.

Intel® IoT Gateway Software Suite provides an out-of-the-box OS implementation, without requirements for customization. Using a precompiled OS as well as RPMs helps to eliminate unnecessary downloads, having to customize the OS, and identifying libraries necessary to bring the project to life. Intel® IoT Gateway Software Suite also enables Node-RED* functionality for development, which provides a visual environment specifically created for IoT solutions.

The development environment used to develop the software for this solution is Intel® System Studio, a plug-in for the Eclipse* IDE that facilitates connecting to the gateway and developing applications. The solution uses the MRAA* library, which provides an abstraction layer for the hardware to enable direct access to I/O on the gateway, as well as Firmata*, which allows for programmatic interaction with the Arduino development environment, taking advantage of Arduino’s hardware-abstraction capabilities. Abstracting Firmata using MRAA* enables greater programmatic control of I/O on the gateway, simplifying the process of gathering data from sensors. UPM* is a library developed on top of MRAA* that exposes a user-friendly API and provides the specific function calls used to access sensors.

Of particular interest and value to the project team for the Transportation n-a-Box solution, they are able to use the user interface created as part of the original path-to-product Connected Transportation solution. During the product phase of that project, Intel engaged a specialized third-party firm to create a visually rich interface that required specialized expertise not available within the core teams of either project.

The user-interface developers participated extensively in project meetings during the development team during the development of the initial path-to-product solution. This approach allowed graphic designers and human-machine interaction specialists to collaborate closely with the rest of the team, which produced a high-quality, sophisticated user interface. Reuse of that user interface from the path-to-product Connected Transportation solution offers significant value to the Transportation in a Box solution without requiring additional effort or expense.

Administrative Application: User Interface Functionality

The administrative application, which runs on the Intel® IoT Gateway, provides the ability to demonstrate the functionality of the Transportation in a Box solution at a conference or other industry event. It provides fairly simple capabilities with a highly visual user interface, as demonstrated in the following use case and simulation.

Use Case

The use case was built and displayed based on the administrative application to support the following scenario:

  1. Press button to start the use case (simulating opening the door):
    • Sets threshold ambient temperature +5 degrees.
    • Solid red LED lights up in cab.
    • LCD displays current temperature and door status (open), as shown in Figure 8.

      Figure 8. Showing door status.
  2. Use heat source (e.g., a halogen lamp) to simulate a rise in ambient temperature, which will be registered by the temperature sensor:
    • Buzzer sounds.
    • Red LED blinks continuously.
    • LCD turns red and displays actual temperature and door status (open), as shown in Figure 9.

      Figure 9. Showing high temperature status.
  3. Touch sensor to acknowledge alert (buzzer turns off).
  4. Press button to close the door:
    • Red LED continues to blink until temperature passes below threshold.
    • LCD displays temperature and door status (closed).
    • When temperature passes below threshold, blinking red LED turns off, solid green LED lights up, and LCD turns green.
    • LCD displays temperature and door status (closed).

Simulation

This simulation demonstrates the reduced potential loss of temperature-sensitive cargo by monitoring temperature changes and alerting the driver if it becomes critical, as illustrated in Figures 10 and 11.

Figure 10. Log file showing events.

Figure 11. Base online view as envisioned.

Functionality of the Mobile Customer Application

The customer application, shown in Figures 12 through 15, is conceived as the main means by which the truck driver would interact with the solution. It would reside on the mobile device carried by the driver, allowing for easy notification and response to alerts. The customer application is quite simple in this example but could be easily expanded. It has two status indicators that refer to temperature and door status. An alert button becomes active and then provides an acknowledge button to clear the alert.

Figure 12. Main status screen.

Figure 13. Status showing an alert.

Figure 14. Showing a full alert and acknowledge button active.

Figure 15. Initial setup screen finding IP address of gateway.

Conclusion

By its nature, IoT embraces open-ended innovation, with endless diversity of projects to add intelligence to objects from the simple to the complex, and from the mundane to the exotic. At the same time, every project builds on experience the industry has gained from IoT projects that have gone before.

This development narrative demonstrates the viability of creating a variation on an existing Intel IoT path-to-product solution to meet novel business needs. In this case, the project team produced a version of the Connected Transportation solution that is better adapted to their requirement to demonstrate operation at conferences and other industry events. The Transportation in a Box solution represents a streamlined approach that retains the functionality of the original version while using a different form factor.

Manifesting the efficiency of adapting Intel’s collection of path-to-product solutions in the creation of new projects, this effort takes advantage of the prototyping and development work built into the existing solution. This approach enables project teams to avoid having to start from scratch when they build their IoT solutions. This added efficiency can potentially yield significant benefits to development organizations in reduced cost and accelerated time to market.

More Information

For more complete information about compiler optimizations, see our Optimization Notice.

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here