Edit This Guide Record
Guides Technology IoT & M2M: Simplifying the "Smart" Code

IoT & M2M: Simplifying the "Smart" Code

Published on 11/14/2016 | Technology

908 1

Sreejit Menon

Previously, led the IBM Business Analytics and Optimization (BAO) Global Assets and Solutions development team and thereafter the Mindtree Business Intelligence & Visualization Practice Experience spanning responsibilities of a data analyst & statistical modeler in a Pharma R&D firm, as a consultant, architect & project manager in a 2002 analytics startup, in a delivery leadership role in one of the world's largest IT firms, as a Practice and Sales lead in a leading mid-tier IT firm and now as Practice Head for a leading disruptive technologies startup.

IoT GUIDE

The term “Internet of Things” or IoT was coined by the British Technologist Kevin Ashton, who co-founded the Auto-ID Center at MIT (Massachusetts Institute of Technology) in 1999. He mentioned the term in the context of defining a new system where the "Internet" would connect "Things" (like machines or devices or objects) in the physical world to each other using hardware, software and various network connectivity (wireless, wired of hybrid).

Machine to Machine (M2M) is considered as an integral part or a subset of IoT. Machine-to-machine (M2M) communications refers to automated data transmission and measurement between mechanical or electronic devices.

Theodore Paraskevakos had conceptualized M2M devices as early as 1968, while working on the Caller Identification System, by trying to combine telephony and computing.

IoT / M2M, initially used more in automation and instrumentation related applications, currently has a wide range of industry applications including, but not limited to, Smart Grid, Smart Meters, Telematics / Vehicle-to-Vehicle communication, Remote Asset Management, Fraud and Pilferage Detection,   Real-time Resource or Route Optimization, etc.

In 2008, IBM's then CEO, Sam Palmisano, outlined IBM's focus in building a "Smarter Planet" using 3 I - Instrumented, Interconnected and Intelligent.  IBM's 4 major focus areas thereafter were Smarter Planet, Business Analytics and Optimization, Growth Markets and Cloud.

General Electric (GE) in 2012 launched 'Industrial Internet': M2M for airlines, trains, manufacturing, etc.

On March 2014, AT&T, Cisco, GE, IBM and Intel announced the formation of the Industrial Internet Consortium (IIC), an open membership group, focused to enable support to better the access to big data for improved integration of the physical and digital worlds. The consortium will enable organizations to more easily connect and optimize assets, operations and data to drive agility and to unlock business value across all industrial sectors.

IoT / M2M is being vastly adopted to design Smart Cities including Smart Transportation, Smart Buildings, Smart Parking, Smart Energy, etc. and in almost every industry now.

IoT and M2M can help not only in increasing the top-line by helping achieve additional revenues as in the example of location (using beacons for e.g.) based proximity marketing to customers or associate effectiveness analysis aimed towards improving customer experience, but also in improving bottom-lines as in the case of monitoring and optimization of enterprise assets and resources and preventive maintenance. 

Everything Smart, however to a large extent, would need to have the following 3 foundation components, but could vary in forms of integrated capabilities based on the levels of sophistication :

1. Processing (& Storage) Units : Microprocessors / Micro-controllers like Arduino, 8051, AVR, DSP, ARM, ARM, MSP430, TTL logic, Rasberry Pi, PIC (Peripheral / Programmable Interface Controller), etc. that provide the capability to read analog and digital inputs from any "Thing" like a sensor on a wearable device, or a general device when its button gets pressed or even a Twitter message, and turn it into an output that can be either be sent to a central cloud storage unit (to avoid local storage and processing, due to limited memory at times) or could trigger an output signal (as part of a programmed instruction) to take action like switching off a machine via a relay (an electrically operated switch) as an example.

2. Communication Devices - These are what enable the "Things" integrated to the Processing Units to transmit as well as receive, measurable analog and digital signals. The capability of communication can be bundled with the micro controller, but many a times could be separate as well.  

3. Intelligence Platform - This is the platform where data is stored and managed in real-time and analyzed for enabling decision making using artificial intelligence and/or complex event processing. It is typically a private cloud hosted Big Data / NOSQL, Advanced Analytics and Visualization platform.

The above components can at times be bundled to enable Physical World "Things" (Machines or Devices) like Vehicles, Sensors, Diesel Generators,           Air conditioners units and even lamp-posts become "Smart".

To explain further, lets take a simple example of a company trying to monitor one of its assets, lets say a mobile diesel generator (generator/s mounted on a vehicle) that can provide backup power to telecom towers during power outages, beyond the capacity of the attached generators. In such an instance, the mobile generators themselves could be of different brands, makes and configurations. The above mention combination of vehicle and the diesel generator comprises the "Thing" in this example.

The first foundation component could be an Arduino ADXL345 chip. Arduino is an open-source computer hardware and software company that designs and manufactures micro-controller based kits. Without getting into the chip level design of Arduino ADXL345, we can summarize that it has analog and digital pins and can be programmed / configured  to receive and transmit signals that can be sent in csv or hex formats.

The second foundation component, for communication, would be a Sim Module, a GSM Module like Sim 300/900/1800 that could be integrated / interfaced with the ADXL345 smart chip  in single printed circuit board (PCB) to thereafter send and receive signals from both the diesel generator as well as the vehicle.

The third component, lets say, is a Cloud based Web Server, with a backend Information Management store like a Not Only SQL or a Big Data store or perhaps a traditional MySQL  or PostgreSQL database, that has an IP which would be the IP programmed in the Arduino chip as a destination to send the data to via the sim module.

Lets say we need to monitor the fuel level (analog) and the voltage (digital). The inputs from the generator and the vehicle can be connected (via relays) to the inputs ports of the Arduino chip. The output format is however digital. The Arduino chip is programmed (in C or C++) and configured to receive the inputs and then run a program to send the output via the communication device (sim module) to a backend Server IP as a web service. The Web Server receives the inputs and stores the same in server logs that are then parsed, stored and processed further by the Information Management & Analytics layer.

To elaborate further, the  Arduino chip communicates with sim module using AT commands since the sim module only understands AT commands.  The sim module can be used for GSM (receiving and sending sms), GPRS (receiving and sending data), etc. The Arduino chip communicates with the sim module using Rx and Tx pins and programs can be written in such a way in the Arduino chip that in the communication port it is in a readable format. This data can then be transmitted as a serial data via GPRS to a web server where a web service would accept the data from a particular port continuously and save the same for respective analysis. The data can also be sent from the web service to the sim module and thereafter to the Arduino chip that would read that data and perform functions accordingly. For reading, Arduino only understands voltages between 0 volt (low) to 5 volt (high) in digital input. For example, the voltage input from the "Thing" can be used to determine whether the "Thing" (in this case the vehicle or the diesel generator or both) is currently on or off.

The analog input in the Arduino chip also reads signals between 0V to 5 v and this can be used to measure any dynamic data. For example fuel data, current data, voltage data, etc. There is also a digital output pin in the Arduino chip which can only transmit 0 v or 5 v. This voltage is then used to trigger a relay which is subsequently used to switch on and off any "Thing". Hence most of the intelligence needs to be programmed into the Arduino chip.

Imagine now, if the number of devices being not in hundreds or thousands, but  millions of devices. The entire process becomes a very cumbersome and complex solution to implement. This is where Gateways become important  in the overall architecture, to be able to connect to various differing devices and different hardware products, many within the same device categories. The Gateways are programmable to create a growing set of software adapters to these devices and at times allow for local intelligence to be embedded at this level between the devices and the downstream Communication and Analytics / Intelligence platform. This allows for some intelligent decisions to be programmed for automation closer to the devices without the need for data to travel and complete cycles from the devices to the downstream Analytics platform and back. Also, increasingly the communication channels are being optimized to ensure the data travel on internet is optimal, specially if the communication is a usage based expense payable to third party vendors like Telcos.

However, to a large extent, M2M solutions are not yet completely automated solutions and are more Machine-to-Human and Human-to-Machines Solutions where the human supervisor takes the necessary decisions based on real-time streaming inputs on the necessary next steps.

Artificial Intelligence systems however are trying to bridge the gap, but standards need to evolve to ensure that the focus moves towards the same instead of trying to create adapters for every single device.

One of the key aspects of M2M and IoT is managing security. Managing device and gateway identities, ensuring secure device communication, running secure firmware packages at the lowest levels of the software stack, two factor authentication, etc. are some of the key design considerations for managing IoT/M2M security.

Companies like Siemens are doing pioneering work in the field of M2M and IoT based Automation through development of configurable GUI based software for creating and integrating devices and their adapters for accelerated automation.

Whether its self driving cars on our planet or an unmanned vehicle on Mars or Lights Out Factories as in case of Japanese FANUC and Canon or Phillips in Netherlands that are already in existence today, or Industry 4.0 being the next revolution expected to disrupt the Manufacturing Industry, IoT and M2M is here to stay and grow, to become an increasing part of our day to day lives!

To conclude this post, I would like to quote Bill Gates - " The first rule of any technology used in a business is that automation applied to an efficient operation will magnify the efficiency. The second is that automation applied to an inefficient operation will magnify the inefficiency"

Credits: I would like to sincerely thank Prince Tanwani, Co-Founder, Georoid Technologies Pvt. Ltd. for providing contextual insights and inputs on the subject, based on his rich experience in this domain in the past few years.

A couple IoT/M2M demos from Georoid:

http://georoid.co.in/DGMonitoringDemo/

http://georoid.co.in/DigitalSignageDemo/

* The image used in the cover of this blog is courtesy of the respective artist

This article was originally posted on LinkedIn.

test test