Selecting IoT Platform for Agricultural Machinery (Part 1 Specifications)
February 10, 2019
1. Problem Statement
Increasing competitiveness is the main goal behind adopting Industry 4.0 technologies in many industrial sectors. Following this trend, a manufacturer in Agricultural Machinery Sector wants to integrate his industrial products with Internet of Things (IoT) technology. Binding the field machines with an IoT infrastructure enables the manufacturer to overcome operational failures, by storing sensor and visual data sent from different Edge machines, building intelligent solutions to predict these failures, and deploy these solutions back to Edge machines.
The aim of this study is to support the business decision of selecting suitable IoT platform that meets strategic requirements of the manufacturer. The study consists of three parts: Firstly, I compare and evaluate different IoT platforms using the technical requirements defined by the manufacturer. Secondly, I create a short list of three platforms that (almost) meet these requirements. Thirdly, I investigate some advanced features in the three selected platforms.
2. Technical Settings
The desired IoT platform is expected to support two sides, The Cloud and The Edge (see the below diagram). The Cloud software components are to be installed on the manufacturer’s private cloud, and should enable services like Things Management, Intelligent Solutions, Performance Monitoring, Software Deployments, and so on. The Edge software components will be runnig on Edge machines and communicating with the Cloud using wireless carriers. The manufacturer will attach NVIDIA Jetson TX2 (JTX2) Module to each Edge machine to host Edge components. The following diagram illustrates the architecture of the desired IoT platform.
Architecture of The Desired IoT Platform
3. Specifications of The Desired IoT Platform
The desired IoT platform should meet a list of technical objectives, some of them are of extreme priority, and some others are preferable (but not mandatory). In the following sections, I define both types of requirements.
3.1 Prioritized Requirements
The following list of requirements are of top priority to the manufacturer, as they represent the basic cornerstones in his marketing and sales plans. Accordingly, the selected IoT platform should have full support of (Almost) all of these features.
3.1.1 OTA Updates
Over The Air (OTA) Updates is the ability to deliver software updates using wireless carriers. This feature is of critical importance to the manufacturer, as he wants to send periodical updates of operating system and software packages installed in his field machines, whether these machines are online (i.e. connected to the web) or not. OTA updates play an important role in keeping Edge machines up to date with all necessary software packages that guarantee the best possible performance of these packages under regular and/or unexpected operational conditions.
3.1.2 Data Visualization on Edge Machines
The customers on the Edge side need to follow the performance of their machines. Accordingly, integrating Edge software with flexible visualization tool is a prime post-sales demand. Data visualizations can be built using either Off-The-Shelf software, or Desktop visualization application compatible with the hardware specifications of Jetson TX2 module.
3.1.3 Software Deployment
The manufacturer needs to add software components to Edge machines, including Machine Learning (ML) scripts, Jobs scheduling, new applications, and so on. These software components are usually implemented and/or tested in the Cloud, and then deployed to the Edge nodes. Accordingly, the selected IoT Platform should support all activities of software deployments.
3.1.4 Support Jetson TX2
Jetson TX2 (JTX2) Module is the processor board attached to the Edge machines. This module will be the middle hardware component between the Cloud and the Edge machines. The Edge components of selected IoT platform should be compatible with JTX2 specifications. Some of these specifications are Linux (Ubuntu) as OS, ARM CMU, 8GB RAM.
3.1.5 Machine Learning
The selected IoT Platform should include the necessary SDKs and packages for implementing and deploying Machine Learning (ML) solutions. The basic ML domains in this use case are Predictive Maintenance and Image Processing.
3.1.6 Stream Processing
JTX2 is supported with 256 CUDA cores GPU. The manufacturer wants to use this hardware advantage to enable parallel processing of time series data and to save storage capacity.
3.2 Preferable Requirements
The following features are preferable (but not mandatory) for the manufacturer. This means having these features in the IoT platform is a great advantage. Otherwise, the manufacturer will build these features by his IT department.
3.2.1 Jobs Scheduling
As part of the IoT Device Management capabilities, the manufacturer should be able to schedule the execution of different apps/scripts on Edge nodes. Famous examples of these jobs are software updates, backups, and data push/pop checks.
The manufacturer has introduced a prototype operational settings for calculating and benchmarking the monthly costs of different IoT Platforms. These settings include 1K Edge nodes, 150 Sensors/node, 5 floating-point numbers/Sensor/Sec., 10 Hours/Day, 5 Days/Week, and 4 Weeks/Month.
3.2.3 Things Backing up and Syncing
Periodical data backups and generating Things’ images are necessary for building ML models and scheduling software backups. Therefore, the selected IoT platform should be able to automatically create and update images of Edge machines and syncing sensor and visual data to the Cloud.
3.2.4 Image Processing
In addition to analyzing sensor data, the manufacturer wants to analyze visual data sent by his Edge machines. Therefore, the desired IoT platform should support building and executing Image Processing algorithms. This is an advanced requirement to build robust AI solutions that uses both sensor and visual data types to build an intelligent maintenance schedule.