Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Simplifying IoT App Development - A Whitepaper by RapidValue

157 views

Published on

This whitepaper provides a step by step guide to build IoT application on Azure without using complex hardware.This paper also illustrates a detailed approach on building an IoT application without using complex hardware. This paper is a guide for technical and non- technical professionals to get started on IoT development. It explains how you can build and
try out a basic solution using a simulator device on your PC that can send trigger events to the Azure IoT Hub rather than having a need to buy or build an actual hardware device.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Simplifying IoT App Development - A Whitepaper by RapidValue

  1. 1. Simplifying IoT Application Development SIMPLIFYING IoT APPLICATION DEVELOPMENT A step by step guide to build IoT application on Azure without using complex hardware. A Whitepaper by RapidValue Solutions
  2. 2. Simplifying IoT Application Development index 01 Executive Summary 02 How does IoT work? 03 Rise of IoT 05 Setting the context for building our demo application 06 Simplified architecture 08 08 11 13 14 15 Five steps to build a simple Azure IoT application Set up an Azure IoT hub Create a new Azure IoT device Creation of simulator device app Creation of telemetry receiver app Graphical view of the data in web application 16 Conclusion ©RapidValue Solutions 17 About RapidValue
  3. 3. Simplifying IoT Application Development Hello connected world! Who wouldn’t want to wake up to a smart coffee maker, a smart refrigerator, connected cars, smarter energy management systems, intelligent fleet tracking and many such things? With Internet of Things (IoT) technology growing leaps and bounds, we are moving towards a future where devices have become smarter and humans are in control of the devices. As this technology brings in a lot of curiosity and uncertainty among people and enterprises alike, many startups and global corporations are embarking on a journey to build innovative IoT applications. “Business Insider predicts that total business spending on IoT solutions will reach $6 trillion by 2021.” This paper illustrates a step by step approach on building an IoT application without using complex hardware. This paper is a guide for technical and Executive Summary non- technical professionals to get started on IoT development. It explains how you can build and try out a basic solution using a simulator device on your PC that can send trigger events to the Azure IoT Hub rather than having a need to buy or build an actual hardware device. Note: There are various IoT platforms like Predix, Amazon Web Services (AWS), ThingWorx, Azure, IBM Watson etc. with different capabilities available in the market which provide quick deployment of IoT applications. You can select the platform based on your business requirements and existing IT systems that your enterprises use, along with other aspects such as functionality, protocols supported, scalability, security and adaptability. For demonstration purpose, we have tried to outline a methodical approach to build a basic IoT application on top of Azure platform using simulated device. This can trigger sensor’s readings. Readers can try a similar approach on other platforms as well. 1 ©RapidValue Solutions SIMPLIFYING IoT APPLICATION DEVELOPMENT 1
  4. 4. Simplifying IoT Application Development How does IoT work? Let’s take an simple example, a fleet scheduling application, which provides the information about the location of the vehicle from fleet of trucks. Let’s begin with the data of location, for instance, location of the truck which is sent via a GPS device enabled in the truck. This device is connected to network using a GSM or cellular connectivity to send the data to IoT hub. The IoT hub in turn receives data and stores it on the cloud. This data is then made available to the application and the users can access and interact with the application using a mobile app or a web interface. 2 SIMPLIFYING IoT APPLICATION DEVELOPMENT ©RapidValue Solutions
  5. 5. Simplifying IoT Application Development Rise of IoT The rise of IoT has left many enterprises wondering how to build a secured IoT application. As a thumb rule, any new area that is explored usually starts with an experimentation phase. In case of IoT applications, enterprises are following the same principles of Proof of Concepts (POCs) and pilots. They want to look at a quick win simplified use case and leverage many of the ready to use IoT platforms to try out their solution. Solution providers are going through the dilemma of how to internally build capabilities and knowledge base for helping their customers in these kinds of POC engagements. The first stepping stone for these POCs are, at a developer level, getting familiarized with the platforms, solution stack and how to get started developing some application before buying some complex hardware. 45% developers are currently building IoT apps 77% are excited about the IoT 3 SIMPLIFYING IoT APPLICATION DEVELOPMENT ©RapidValue Solutions
  6. 6. Simplifying IoT Application Development Setting the context for building the demo application ©RapidValue Solutions 4 SIMPLIFYING IoT APPLICATION DEVELOPMENT
  7. 7. Simplifying IoT Application Development Components of the demo app The components that can be a part of the demo application are: •• Simulator app •• Smart phone/tablet/PC Hardware Software •• Data collection, analysis and visualization •• Stream processing •• Protocol - AMQP •• Message brokers •• Security and authentication •• Language - NodeJS Solution brief This smart bin application will help monitoring the capacity in real-time and sending notification or alerts to the users about the capacity of the bin. The application is aimed at reducing the manual efforts for checking and collecting the garbage. The alerts can be set based on the user preferences. Problem statement Typically, the bins have to be checked on a regular basis for disposal whenever it is full and the process is time consuming and costly, where someone has to manually check every now and then. Setting the context for building the demo application Objective We are building a smart bin monitoring application to monitor the garbage bins remotely. This application will allow users to monitor the capacity of the bin and notify them when it is full or almost full for collection of garbage. Note: Microsoft Azure supports different languages like .Net, Java, NodeJS and Python. 5 SIMPLIFYING IoT APPLICATION DEVELOPMENT ©RapidValue Solutions
  8. 8. Simplifying IoT Application Development For this demo app, we will use a simulator device which will send continuous data to Azure IoT hub on the level of garbage or how full the bin is. The data sent will be in the unit of percentage of the total capacity. The Azure IoT hub will receive the data and later we can pull that data and store it in a database and visualize it in a web/mobile application. Below is the pictorial representation of the same. Simplified architecture Event Producer Ingestor (Message Broker) Transformation Middleware Simulator Receiver Azure IoT Hub 6 SIMPLIFYING IoT APPLICATION DEVELOPMENT ©RapidValue Solutions
  9. 9. Simplifying IoT Application Development Transformation Once data is ingested from the Ingestor, transformation layer needs to pick subsets of events based on business need, transform the shape of the data and route to specific storage location. Ingestor Ingestor is to scale and handle incoming data quickly without decelerating down the entire process. Once the simulator app is registered and it sends telemetry data, Azure IoT hub ingests device events and scales it. Azure IoT hub scales by considering these factors: Event Producer Event producer produces telemetry data from the simulator application. This application will simulate data like an IR sensor. These simulators have to follow a network prototype (like AMQP, MQTT or HTTP) to send the telemetry data. The data will be in increasing percentage values across time series until a maximum of 100% is reached. Once it reaches the maximum it will again be reset to zero. •• Size of the message •• Frequency at which it sends telemetry •• Number of active devices It also, provides different packages from where you can choose based on the number of devices and messages you require. To begin with, we can go with a free plan since we are simulating the data with one simulator app and with limited messages per day. 7 SIMPLIFYING IoT APPLICATION DEVELOPMENT ©RapidValue Solutions
  10. 10. Simplifying IoT Application Development Five steps to build a simple Azure IoT application 1. Set up Azure IoT hub 2. Create new Azure IoT device 3. Create simulator device app 4. Create telemetry receiver app 5. Monitor data using web/mobile application Set up Azure IoT hub01 Navigate to the Azure portal and login to the account. If you do not have an account you can create an account quickly using your email id. Click on new menu option in the upper-left. Select ‘Internet of Things’ and then, Azure IoT hub. 8 SIMPLIFYING IoT APPLICATION DEVELOPMENT ©RapidValue Solutions
  11. 11. Simplifying IoT Application Development Create IoT hub by giving it a name, select or create a new resource group and location (choose the one closest to your location). 9 SIMPLIFYING IoT APPLICATION DEVELOPMENT ©RapidValue Solutions
  12. 12. Simplifying IoT Application Development After the IoT hub is created, navigate into it and click on the shared access policies. In the next blade, click on the iothubowner. Copy the connection string - the primary key to your clipboard. 10 SIMPLIFYING IoT APPLICATION DEVELOPMENT ©RapidValue Solutions
  13. 13. Simplifying IoT Application Development In this step, we will create a new device identity. This will ensure an entry point to Azure IoT hub. The connection is established between IoT hub and devices based on the TLS (Transport Layer Security). Thus, the communication of the device is encrypted in the IoT hub to guarantee the data confidentiality. To get started, download the code from this link. After the device identity is created, a new token will be generated as below which is used to create a simulator app. Create new Azure IoT device02 11 SIMPLIFYING IoT APPLICATION DEVELOPMENT ©RapidValue Solutions
  14. 14. Simplifying IoT Application Development After the device is registered in IoT hub, for confirmation you can check the Azure IoT hub as below, 12 SIMPLIFYING IoT APPLICATION DEVELOPMENT ©RapidValue Solutions
  15. 15. Simplifying IoT Application Development The simulator [D2C - device to cloud app] will send messages to the cloud both as telemetry data and meta data. Here, we have created one simulator device which sends continuous telemetry data (i.e., micron reading) along with meta data (i.e., DeviceID, deviceName, processor and other information) to the cloud. To get started, download code from this link to create a simple simulator app. Run the simulator app. Create simulator device app03 13 SIMPLIFYING IoT APPLICATION DEVELOPMENT ©RapidValue Solutions
  16. 16. Simplifying IoT Application Development Telemetry receiver [C2D - cloud to device] app will receive the command from the Ingestor and executes the required action. Receiver app is a backend system which receives messages from simulator devices. The backend system can even receive a confirmation message or faulty delivery message to understand if the device has received the command or not. To get started, download code from this link to create a simple receiver app. Run the receiver app. Create telemetry receiver app04 14 SIMPLIFYING IoT APPLICATION DEVELOPMENT ©RapidValue Solutions
  17. 17. Simplifying IoT Application Development Graphical view of the data in web application 05 The below graphical view of the web application displays capacity information of the bin. This plot illustrates the data simulated by the simulator app (simulated by IR sensor in this instance) in the timeseries chart where X axis refers to time and Y axis refers to the capacity of the bin in percentage. In the graph you can see the data from the simulator and get to know how full the bin is. Alerts will be generated once it reaches the 80% mark. We can also develop one screen for notification alerts for the demo app. 15 SIMPLIFYING IoT APPLICATION DEVELOPMENT ©RapidValue Solutions
  18. 18. Simplifying IoT Application DevelopmentConclusion Thus, we were able to build a bin monitoring application using Azure IoT hub. This is the first step towards IoT application development. As a next step, you can experiment with devices and sensors and can also, improvise the IoT application development by adding multiple sensors and actuators to a physical device where each sensor will give different telemetry data to the IoT hub. In that case, the architecture may include gateways to communicate through a network to a backend system based on the device interoperability. We foresee a great potential in IoT implementation in several areas. IoT creates opportunities for more direct alliance of the real world that result in economic benefit and better efficiency. The IoT applications simplify our lives and enhance comfort. It provides a lot of opportunities for the app development in aspects like smart home, wearable application, smart cities, healthcare and retail applications, transportation and many more. There is a growing demand for IoT apps in the market which has resulted in a rise in demand for quality IoT application development. It is essential to simplify IoT app development and deliver scalable and highly secure IoT applications which are instrumental in transforming the smart dreams into reality. Authors If you’d like to know more about IoT Application Development, please reach out to us at contactus@rapidvaluesolutions.com We’d be happy to hear about your experience in IoT application development or your comments for the steps we had outlined! Raakesh Rajan Nandhini C Sudhakar Jonnakuti Senior Consultant- Digital Business Consulting Business Development Associate Sr. Software Engineer 16 ©RapidValue Solutions SIMPLIFYING IoT APPLICATION DEVELOPMENT 16
  19. 19. Simplifying IoT Application Development Disclaimer: This document contains information that is confidential and proprietary to RapidValue Solutions Inc. No part of it may be used, circulated, quoted, or reproduced for distribution outside RapidValue. If you are not the intended recipient of this report, you are hereby notified that the use, circulation, quoting, or reproducing of this report is strictly prohibited and may be unlawful. A global leader in digital transformation for enterprise providing end-to-end mobility, omni-channel, IoT and cloud solutions. Armed with a large team of experts in consulting, UX design, application development, integration and testing, along with experience delivering projects worldwide, in mobility and cloud, we offer a wide range of services across industry verticals. We deliver services to the world’s top brands, fortune 1000 companies, Multinational companies and emerging start-ups. We have offices in the United States, the United Kingdom and India. www.rapidvaluesolutions.com +1 877.643.1850 www.rapidvaluesolutions.com/blog contactus@rapidvaluesolutions.com ©RapidValue Solutions September, 2017

×