Building the software for a successful IoT service

software developers review code

This article is part of our series, “Four keys to developing a winning IoT service.” For more from this series, visit William Dupley.

In my last two articles, I covered the business and functional views of developing a successful IoT system. The business view defines the challenges that the business is facing that demands the need for a new IoT system. The functional view then defines the new IoT service functions that enable the business to address those challenges.

I compared the development of a new system to constructing a building:

four keys graphic

The third key to successful IoT implementation is to define the best technical architecture to implement the use case stories described in the functional view. There are two design domains: software and infrastructure. In this article, I will address the software technical view.

IoT Technical Architecture overview

The software and infrastructure required varies significantly depending on the different types of sensors, measurements, communication protocols, data volume, response time and analytics. There are four domains in the IoT technical architecture.

technical architecture domains graphic

Domain 1: Sensors/actuators collect the data from the things.  Sensors can be simple (current loop), Intelligent (Uart), or Smart (WiFi accessible).

Domain 2: Data aggregators and IoT gateways: Collects the data from the sensors, performs digital to analog conversion and provides secure access controls to the network.   

Domain 3: Edge computing: Performs real-time predictive analytics and alarming, facilitates video processing and data reduction functions.   

Domain 4: Datacenter/cloud: Contains the at-rest analytics and data presentation functions of the IoT solution.

Use cases

The software use cases are segmented into two categories: Real-Time Analytics and At-Rest Analytics.  Both of these use cases collect data from physical objects or “things” as sensors. The first step is to develop an IoT sensor model. The model describes the physical item and the attributes of the data to be collected. Here’s an example:  

solar powered smart agriculture

IoT Sensor Model

General Information:  Name, description, and an identifier.
Data: The data description, and type of data.   

Example:

DataType
pH LevelNumber
TemperatureNumber
LocationString

Data Value Streams: Data that when analyzed will show a trend.
Data Incident:  A change in the data that demands action.
Response: An action associated to a data incident.


IoT Real-Time Analytic Use Cases

The next step is to define use cases in detail that support the user stories.  An IoT solution has four different types of use cases. They are:

  • Automate: Enable automation
  • Optimize: Improve efficiency or quality
  • Control: Automate a response to an event
  • Monitor: Temperature, vibration, count

The Automate and Optimize use cases produce the most significant value, however, they are built on the Control and Monitor use cases. It’s best to start by defining the Automate and Optimize use cases, followed by the Control and Monitor use cases.  

Fish tank example

aquaponics fish tank graphic

Title:  Response to pH change
Use Case type: Automate
Description:   When the pH level drops below 6.5 or rises above 8, an alarm is activated
Thing being monitored: Aquaponics fish tank
Systems Interaction:  The IoT system must be integrated with the control room dashboard and email system
Initial State:  pH Level must between 6.5 and 8
Event flow: Every 15 minutes the IoT system scans the pH sensor and measures the pH Level. When the pH level exceeds 8, a ‘high pH level’ alarm is sent to the dashboard. If the pH level drops below 6.5 a ‘low pH level’ alarm is sent to the dashboard. In both cases, an email is sent to the service rep on duty to manually adjust the pH level.
Process Step:  Aquaponics fish tank monitored


IoT At-Rest Analytics Use Case Model

There are several types of IoT At-Rest Analytic use cases. The following are two of the most common:

  • Normal Operating Parameter Determination: In some cases, the normal operating parameters are not known. In this case, the analytic use case identifies the normal operating parameters by analyzing historical data and determining the upper and lower control limits of a distribution model.
  • Predictive Analytics:  A predictive analytic use case foresees the future by developing a predictive model based on real-time and historical data. This type of use case predicts when an incident will occur with a sensor and proactively notifies the operator when a device will fail. There are several types of predictive models.  They include Linear Regression, Logistic Regression, Decision Tree and other models. A predictive analytic use case also describes a prescription that directs an operator on what to do to resolve the incident.

The development of software use cases provides the criteria necessary for determining the best IoT software to acquire.  IoT platforms are now available which eliminate much of the complexity and provide the security, data aggregation, and presentation services needed.  Our next article will discuss the infrastructure technical view and explore the impacts of real-time alarming, data volume, variety and analysis on the infrastructure design and IoT platform.

About Fast Future

It is our mission to explore the implications of emerging technologies, seeking answers to next-level questions about how they will affect society, business, politics and the environment of tomorrow.

We aim to inform and inspire through thoughtful research, responsible reporting, and clear, unbiased writing, and to create a platform for a diverse group of innovators to bring multiple perspectives.

Fast Future is building the media that connects the conversation.

More
photographer videographer on set
Photography’s software-driven future