Setting up an Efficient IoT Experimental Test Bed


Nowadays, Internet of Things (IoT) is a part of every organized society. We witness smart sensors placing order for goods when stock runs low, sensors that automatically inform people in case of emergency etc. This large scale environment of Internet of Things devices and services need improved security, human-less monitoring, event based triggers. Some of the prevailing security and privacy issues include ways to conceal personal information and ability to control what happens with this information. Also, the IoT service should be able to withstand attacks, provide data authentication, allow access to authenticated users and ensure privacy of the user.

Other challenges in implementation of IoT devices include storage and data availability. Recent studies have shown that we generate 2.5 quintillion bytes of data per day and this may explode to 40 yotta bytes by 2020. Much of these data is and will be generated from the Internet of Things (IoT) devices. There are several test beds, which were proposed earlier but they were highly relying on the communication between the sensors. Moreover, in the existing test beds the data is collected and processed in the edge devices. Edge devices can store only a limited amount of data which affects the scalability of the system.

The proposed design focuses on the setup of an IoT testbed that handles the aforementioned problems and also provides a framework that is immediately scalable and suitable for deployment in real life scenarios. To achieve such a testbed we use sensors to collect data, cloud to store and process the data and later an edge device which provides output based on asubscription. In order to tackle the challenges of storage and data availability we use the cloud and its services. The advantage to use cloud is that it offers Infrastructure as a Service (IaaS). IaaS provides dynamic storage and unmatched availability. The data collected during the process could be used to design use case scenarios, recognize various data patterns and for various other novel applications.

Cloud Based Test Bed Design
Architecture Overview

Internet of Things (IoT) is an effective tool that helps in integrating devices that is capable of generating or receiving unstructured data. IoT uses sensors that are capable of sending event based data. The connection is powered by a gateway, in this case a Raspberry Pi device. The Gateway facilitates the data processing part and provides the decision making capabilities. Later data is sent to the cloud. This paper focuses on the setup of an IoTtestbed that tackles the above mentioned challenges on storage, data availability and security.

This setup collects data from actuators located in real life environment such as class rooms, lobby etc., and saves the data directly in the cloud. Thus the data is produced from real life environment. This data is collected and analyzed using cloud based services. This analysis provides various data patterns, design scenarios and helps in designing various IoT based efficient applications. After analysis, we take steps to communicate the decision back to an entirely different edge device. This communication can enhance event based triggers almost instantaneously as the availability offered by IaaS is very high.

Components Overview
Forward Edge Devices

These are the actuators that are involved in communicating data to the cloud. Actuators are devices that generate data on detecting changes in the environment. The changes are collected in the form of analog or digital data and sent to the IoT Gateway. The sensors are sensitive and have to be strategically positioned so as to collect accurate fool-proof data. The sensors that were used in the current implementation include vibration sensor, PIR (passive infrared) sensor, MQ-2 smoke sensor and proximity sensor.

Backward Edge Devices
These are devices that are triggered by the service running on the cloud. Here we used Philips Hue Light, a Z-Wave controller enabled LED light. This light varies its color in response to a trigger that was directed from the cloud service to the device. A Buzzer is also connected to the controller as another backward edge device.

The Gateway implemented in our case is a Raspberry Pi Model 2B. This collects data from forward edge devices and transforms them as JSON packets. After which, it channels the JSON packet to the cloud app.

The receiver program running in the controller receives the call from the cloud app and sends a HTTP request to the Z-wave controller. This request is then forwarded to the light which changes color based on the color values on the HTTP request. Buzzer works in a similar manner but instead of the Z-wave controller it is directly controlled by the Raspberry Pi’s GPIO ports.

Cloud Platform
The choice of implementation of IoTtestbed includes a cloud service. We need to opt for a cloud service that is compatible with the devices we use, the network that we use and has the necessary APIs that are required for the use cases we are to implement. Such a cloud based service is IBM Bluemix and we have implemented this testbed with the same.

IBM Watson IoTis a cloud platform as a service (PaaS) developed by IBM. It supports several technologies and services. It includes integrated DevOps to build, run, deploy and manage applications on the cloud. Bluemix is based on Cloud Foundry open technology and runs on SoftLayerinfrastructure. Bluemix supports several programming technologies including Java, Node.js, Go,PHP, Python, Ruby Sinatra, Ruby on Rails and can be extended to support other languages.

Node-RED is a tool for wiring together hardware devices, APIs and online services.Node Red is sufficiently powerful and includes functionality like flow control, condition checking, looping among others.Node-RED provides a browser-based flow editor that makes it easy to wire together flows using the wide range nodes in the palette. Flows can be then deployed to the runtime.

Cloud App
The cloud app cannot exist as a standalone application and perform the functionalities it is intended to perform. It has to be bound to a service which is connected to a Gateway such as Raspberry Pi. The function of the app is to receive data from the client and perform analytics or other functionalities and then send a command to the receiving device. The cloud app is programmed using the Node Red tool. 

Deployment Overview
Raspberry pi acts as anIoT Gateway that collects data from the sensors and with a help of a python code sends data to the cloud app. Raspberry pi also receives the action from the cloud app and directs the action to the corresponding edge device. The edge device maybe a z-wave controlled light, a buzzer, a mobile phone or any other visible output device. The edge device on receiving action from the Raspberry Pi outputs the action. Initially, we deploy a program in Raspberry Pi to collect data and send it to cloud app in IBM Bluemix service as JSON packets. Then program the cloud app to collect data as JSON packets. The collected JSON packets are validated based on a condition based on use case and an output action is sent. A receiver program running in the Raspberry Pi receives the action and forwards the action to the output edge device.

This paper proposes an IoTtestbed that is integrated with a cloud service and application framework. The proposed testbed provides enhanced security services offered by the cloud platform thus minimizing security and privacy issues such as data confidentiality and authentication. The testbed also provides infinite data availability. This is also achieved by the use of cloud which is capable of providing data to end user at all times and locations. The use of cloud also solves another important issue, storage and analysis of data. The data collected is stored and can be analyzed to identify usage patterns etc. The testbed is also scalable to meet real life use case scenarios and provides insight on designing various similar testbeds and end user applications.

About the authors: Dr.M.Vijayalakshmi is assistant professor in the Department of Computer Science and Engineering, Thiagarajar College of Engineering, Madurai, India. Her research includes Information Security, Network and IoT. She has published several research papers. She is a Member of CSI and IE. Dr. S. Mercy Shalinie is currently Professor and Head of the Department of Computer Science and Engineering, Thiagarajar College of Engineering, Madurai, India. She researches AI, Machine Learning and Information Security. Her passion to work in Free/Open Source Software has lead to the development of ICT Framework for Thiagarajar College of Engineering which has received National level accolades. She is a Member of IEEE, CSI, IE, ACCS and ISTE. K. Ajay is currently pursuing final year of bachelor's degree. His area of interest is information security, data structure and algorithms. M.Arvind is currently pursuing final year of bachelor’s degree. His area of interest is information security, data structure and algorithms.

Edited by Ken Briodagh
Related Articles

Rackspace to Acquire Onica

By: Ken Briodagh    11/5/2019

Acquisition brings professional services to Rackspace, including application and infrastructure modernization, serverless development, and the Interne…

Read More

IDC Names IBM Worldwide AI Market Share Leader

By: Chrissie Cluney    11/5/2019

For a third year in a row, IBM has been ranked the market share leader in the IDC Market Share: Worldwide Artificial Intelligence Market Shares report…

Read More

Companies using AI and IoT Together Have Advantage, Study Says

By: Ken Briodagh    11/4/2019

A recent survey of global business leaders indicates that the most significant predictor in realizing value from IoT initiatives across an organizatio…

Read More

SenRa and McWane Unite to Enable Smart Water Metering in India

By: Juhi Fadia    11/4/2019

SenRa and McWane announced they have come together to create a smart water solution, integrating SenRa's network services and McWane's sensor-based pr…

Read More

Aeris Announces Fusion IoT Network

By: Ken Briodagh    11/4/2019

Purpose-built network for IoT devices purports to link applications and connectivity, set a new standard in cost, efficiency, and security

Read More