In order to realize and build Enterprise IoT applications, we first need to understand the key components, requirements, and complexity that go into building end-‐to-‐end IoT solutions.
An Enterprise IoT stack is a set of core capabilities and services that enable us to build IoT applications. In this chapter, we would walk through each component of an Enterprise IoT stack in detail, talk about the current challenges and how these components interact with each other.
The Enterprise IoT stack is later used as a reference to map the IoT services provided by leading commercial cloud offerings. Our intent in this chapter is to provide a first applicability stack that can be considered as a reference for building any IoT application along with leveraging commercial or open source technologies.
The IoT stack comprises of many layers, starting with devices, which communicate and send data to a core platform layer through different protocols based on the communication strategy. The core platform provides a set of key services to allow the devices to connect securely, store and replicate the data for fault tolerance and provide scalable technologies to accommodate millions of connected devices when required. Once the data is made available, the Analytics platform layer lets you analyze large volumes of data in real-‐time and batch/offline mode and discover actionable insights. The cognitive layer allows connected products to learn from behavior and insights and provide a natural extension to one’s digital life. On the top of the stack, we have the solutions layer, which provides end-‐to-‐end consumer or industrial IoT applications, developed using the various stack services. We would explain all these concepts in detail in the course of this chapter.
The IoT stack should also address security and management of IoT applications. The requirements include device management, device security, secured bi-‐directional communication between devices and IoT platform, application security, network topologies, service management aspects, deployment, and simulation.
Let’s start with our first layer.
Devices are the ‘things’ of Internet of Things. Every device around us has a potential to connect to the internet and give us some useful information. Types and categories of such devices are increasing as more and more industries are embracing the concept of IoT. So what kind of devices can fit the scheme of things? They are termed embedded devices, which are equipped to read, process and send information over the internet. Embedded device has a chip or a circuitry called microcontroller that has all the necessary ingredients to power or control the device. Ingredients typically include a memory chip, an embedded processor, IO and network ports, etc. It may also have a small OS running Linux that enables us to drive the device. The ability to control the device and make it talk to the network is one of the key aspects in IoT.
The price of computing resources have fallen down dramatically in recent years and therefore it has become very cheap to build controller boards and circuitry that drive our computing needs. These boards, therefore, can be envisioned to embed in any object around us to make it a more real-time talking object. The object can emit data about itself. Instances of embedded devices include but not limited to: sensors, gateways, mobile phones and tablets, personal gadgets, home automation devices, gateways, printers, healthcare industry devices like glucometer, heart rate and BP monitors, imaging systems, fitness bands, emergency response systems, medication reminder device, voice devices signalling a condition etc. Also included are automotive industry devices like tire pressure monitor or a bigger concept like connected cars to drive road safety measures, supply chain industry devices like RFID reader and tags that enable efficient tracking of inventory during distribution, energy and utilities industry devices like smart grids, smart meters that helps monitoring and load balancing energy utilization, home automation industry devices like thermostat, home cam, smoke alarm, connected door lock etc.
Sensors are devices that detect events and read changes in its environment, be it rotation and vibrations from machines, motion detection or temperature readings. Sensors play a very prominent role in the making of IoT as it can be programmed to sense the required environmental parameters that need to be monitored and convert them into meaningful data. Sensors by itself do not have input and output control or functions. The sensed information can be viewed in a console connected to another device like desktop or mobile. Sensors come in connected form and a single form. Connected sensors are a network of sensor nodes that capture information from the physical object or resource within a particular area and send the information over the network. For example, a collection of smart water sensors that measure the quality of water and indicate pollution levels by sensing different polluting ingredients in the water. A single sensor is a standalone device that emits signals based on the target object’s movement. It could also be as simple as making an alert beep at regular intervals. For example, a medicine bottle may have a sensor that alerts with a beep to indicate the patient that it is now the time to take the medicine. Sensors may or may not be instructed. For instance, some sensors may be instructed to control its behavior through low-level programming API and information from the sensor is transmitted via a device gateway. Some sensors may have the capability to directly transmit the information to the internet. Sensors are low powered device and often equipped with a small longer life battery that runs for months or even years. Some sensors are even powered using solar energy.
Actuators are devices that act with the physical world based on the input received and carry out the required action. The action can be a motion, lighting, emitting sound, controlling power, etc. An example would be the connected door locks, which can be controlled (locked or unlocked) using remote control device and the actuator being responsible for controlling the movement of the lock motor.
Tagged Devices Or Objects
Radio Frequency Identification (RFID) tags are smart barcodes that identify the device or a product and works in conjunction with the RFID reader to track the product information and send it across the network. These tags are attached to the products, and the reader scans the tag and extracts the product information and sends the data over the network or the cloud, which can then be further analyzed in real-time or offline. The concept also works on radio frequencies. Manufacturing, retail, and supply chain industries have long started using this concept. Even in automotive industry, vehicles are tracked with RFID during the inspection process. The concept is also making its mark in aviation and healthcare and many more industries. Near Field Communication (NFC) enables devices to communicate with each other over shorter radio frequencies. It works more like RFID, but the device with NFC protocol can act both as a reader and a tag and therefore it can also be used as a two-way communication. The ideal use case for NFC is the contactless payments where one can use a NFC enabled Smartphone and tap it to the payment terminal device to make the payment. Your card details are securely stored in the mobile and read by the payment terminal device. Both your Smartphone and the payment terminal use NFC to communicate with each other.
Beacons are another form of tagged devices that transmit signals or broadcast its location information using Bluetooth LE to the nearby Bluetooth enabled device. A smartphone can detect the beacon device and trigger an application to perform some contextual function. For example, you enter a retail store with a beacon installed denim department, and your smartphone detects the beacon signal and launches a beacon-enabled app that shows you the list of jeans brands available in the department. The communication happens on low radio frequency using Bluetooth LE or Smart Bluetooth that consumes less energy.
Devices For Prototyping
Apart from real life industry devices, there also exists devices to prototype or test your IoT use cases. These are controller boards itself. Some of such known devices are Arduino, Raspberry Pi, Intel Galileo, Intel Edison Board, BeagleBone, etc. Using these boards, you can create a small prototype to demonstrate the working of IoT sitting at home. The board enables you to connect to different sensors and actuators and provides network ports for internet connectivity. The ready availability of these devices makes it an ideal choice of prototyping, but these devices can also be used to build commercially connected products.
In the next article, we will drill down in other components of the architecture.