How to Route Internet Traffic between A Mobile Application and IoT Device?

Similar documents
AWS IoT Overview. July 2016 Thomas Jones, Partner Solutions Architect

Whitepaper. IoT Protocols. PAASMER Support for Protocols. Website:

Getting Started with AWS IoT

AWS Lambda: Event-driven Code in the Cloud

Connecting the Unconnected: IoT Made Simple

Werden Sie ein Teil von Internet der Dinge auf AWS. AWS Enterprise Summit 2015 Dr. Markus Schmidberger -

Zombie Apocalypse Workshop

Develop and test your Mobile App faster on AWS

At Course Completion Prepares you as per certification requirements for AWS Developer Associate.

AWS 101. Patrick Pierson, IonChannel

Serverless Computing. Redefining the Cloud. Roger S. Barga, Ph.D. General Manager Amazon Web Services

About Intellipaat. About the Course. Why Take This Course?

M2M / IoT Security. Eurotech`s Everyware IoT Security Elements Overview. Robert Andres

FAQs. Business (CIP 2.2) AWS Market Place Troubleshooting and FAQ Guide

Energy Management with AWS

AWS Administration. Suggested Pre-requisites Basic IT Knowledge

Launch Smart Products With End-to-End Solutions You & Your Customers Can Trust

Security Aspekts on Services for Serverless Architectures. Bertram Dorn EMEA Specialized Solutions Architect Security and Compliance

Reactive Microservices Architecture on AWS

Microservices Architekturen aufbauen, aber wie?

MEDIA PROCESSING ON CLOUD

AWS Lambda. 1.1 What is AWS Lambda?

DevOps Tooling from AWS

AWS Connected Vehicle Cloud

What s New at AWS? A selection of some new stuff. Constantin Gonzalez, Principal Solutions Architect, Amazon Web Services

Integrate MATLAB Analytics into Enterprise Applications

Going Serverless. Building Production Applications Without Managing Infrastructure

Connect and Transform Your Digital Business with IBM

IoT Starter Kit Part 3: Connect to the cloud AWS IoT. 1 Local network

Managing and Auditing Organizational Migration to the Cloud TELASA SECURITY

for Multi-Services Gateways

OptiSol FinTech Platforms

Planning an architecture for the. Internet of Things. IoT Expo, Nov 5, Sumit Sharma Director, API Solutions.

How can you implement this through a script that a scheduling daemon runs daily on the application servers?

Enable IoT Solutions using Azure

Cloud Providers more AWS, Aneka

Securing Amazon Web Services (AWS) EC2 Instances with Dome9. A Whitepaper by Dome9 Security, Ltd.

Integrate MATLAB Analytics into Enterprise Applications

The IBM MobileFirst Platform

Serverless Architecture Hochskalierbare Anwendungen ohne Server. Sascha Möllering, Solutions Architect

AWS IoT Getting Started Guide for STM32F7 Discovery

Analytics and Visualization

Microservices on AWS. Matthias Jung, Solutions Architect AWS

Lesson 5 Nimbits. Chapter-6 L05: "Internet of Things ", Raj Kamal, Publs.: McGraw-Hill Education

Introduction to Cloud Computing

Solutions For Your Internet Of Things

Better, Faster, Stronger web apps with Amazon Web Services. Senior Technology Evangelist, Amazon Web Services

How to Use a Tomcat Stack on vcloud to Develop Optimized Web Applications. A VMware Cloud Evaluation Reference Document

Upgrade Your MuleESB with Solace s Messaging Infrastructure

EDGE COMPUTING & IOT MAKING IT SECURE AND MANAGEABLE FRANCK ROUX MARKETING MANAGER, NXP JUNE PUBLIC

Build, Deploy & Operate Intelligent Chatbots with Amazon Lex

Amazon Web Services. Block 402, 4 th Floor, Saptagiri Towers, Above Pantaloons, Begumpet Main Road, Hyderabad Telangana India

Brewing beer with Python. Chesco

Cloud FastPath: Highly Secure Data Transfer

Developing Enterprise Cloud Solutions with Azure

Edge Foundational Training

Back-end architecture

Building Secure and Scalable Mobile Apps on AWS

Oracle WebLogic Server 12c on AWS. December 2018

Developing Microsoft Azure Solutions (70-532) Syllabus

Developing Microsoft Azure Solutions (70-532) Syllabus

Deep Dive on AWS CodeStar

What s New at AWS? looking at just a few new things for Enterprise. Philipp Behre, Enterprise Solutions Architect, Amazon Web Services

Understanding the latent value in all content

Fluentd + MongoDB + Spark = Awesome Sauce

OpenIAM Identity and Access Manager Technical Architecture Overview

Developing Microsoft Azure Solutions (70-532) Syllabus

Introduction to data centers

IBM Bluemix platform as a service (PaaS)

Containers or Serverless? Mike Gillespie Solutions Architect, AWS Solutions Architecture

Windows 10 IoT Overview. Microsoft Corporation

Amazon Web Services (AWS) Solutions Architect Intermediate Level Course Content

PaaS isn t Just for Developers

IoT Edge within the IoT Framework

ARM mbed Technical Overview

More AWS, Serverless Computing and Cloud Research

Amazon Search Services. Christoph Schmitter

FOR IMMEDIATE RELEASE

Managing & Accelerating Innovation with Open Source at the Edge

Security & Compliance in the AWS Cloud. Amazon Web Services

Real-time Streaming Applications on AWS Patterns and Use Cases

Cloudera s Enterprise Data Hub on the Amazon Web Services Cloud: Quick Start Reference Deployment October 2014

3 Software Stacks for IoT Solutions. Ian Skerrett Eclipse

NewSQL Without Compromise

MOBILE APP FOR ACME INC. by Sean Hull - Cloud Solutions Architect -

Open Source IoT. Eclipse IoT. Tim De Borger - Senior Solution Architect 13/06/2017

IoT Device Simulator

FIREFLY ARCHITECTURE: CO-BROWSING AT SCALE FOR THE ENTERPRISE

AWS & Intel: A Partnership Dedicated to fueling your Innovations. Thomas Kellerer BDM CSP, Intel Central Europe

Microservices without the Servers: AWS Lambda in Action

Project Presentation

Securing MQTT. #javaland

Security & Compliance in the AWS Cloud. Vijay Rangarajan Senior Cloud Architect, ASEAN Amazon Web

PrepAwayExam. High-efficient Exam Materials are the best high pass-rate Exam Dumps

BERLIN. 2015, Amazon Web Services, Inc. or its affiliates. All rights reserved

Internet of things (IoT)

Which application/messaging protocol is right for me?

AT&T Flow Designer. Current Environment

Aurora, RDS, or On-Prem, Which is right for you

SURVEY PAPER ON CLOUD COMPUTING

Transcription:

Whitepaper How to Route Internet Traffic between A Mobile Application and IoT Device? Website: www.mobodexter.com www.paasmer.co 1

Table of Contents 1. Introduction 3 2. Approach: 1 Uses AWS IoT Setup 4 3. Approach: 2 Uses VSP Setup 9 4. Approach: 3 Uses a One to One Communication 12 5. About 14 2

Introduction This software specification talks about 3 approaches that can be deployed as a software to route internet traffic between IoT Devices and Mobile applications. Approach: 1 Use AWS IoT Setup: Highly scalable, Minimal maintenance & Costly. Approach: 2 Build your own scalable cloud on VPS: Moderately scalable, Moderate maintenance & Cost Effective. Approach: 3 Build your own Prototype setup on VPS: Minimal scalability, Most Cost Effective, Prototype needs only. Depending on the client requirement each of these approaches can be considered and deployed. 3

Approach:1 Uses AWS IoT Setup Approach 1 is to be used when deployment of a large no of Smart Green House controllers are needed in a very short span of time. The available solutions from AWS helps us in quickly connect various grow controllers AWS IoT and using other solutions Like Lambda, EC2 and RDS the rest of the functionalities can be implemented. MQTT is lightweight protocol that is recommended for IoT applications. AWS also supports HTTP & Web Sockets. Example: Connect a device using MQTT Device authentication ensures security of the data transmitted by the device. Example: Authenticate connection between sensors, a device and an application Typical flow of data between an IoT device and mobile applications is demonstrated here. 4

Approach:1 Uses AWS IoT Setup 5

Approach:1 Uses AWS IoT Setup AWS IoT Device SDK AWS IoT provides an SDK to help you easily and quickly connect your hardware device or your mobile application. The AWS IoT Device SDK enables your devices to connect, authenticate, and exchange messages with AWS IoT using the MQTT, HTTP, or WebSockets protocols. The Device SDK supports C, JavaScript, and Arduino, and includes the client libraries, the developer guide, and the porting guide for manufacturers. You can also use an open source alternative or write your own SDK. Authentication and Authorization AWS IoT provides mutual authentication and encryption at all points of connection, so that data is never exchanged between devices and AWS IoT without proven identity. AWS IoT supports the AWS method of authentication (called SigV4 ) as well as X.509 certificate based authentication. Connections using HTTP can use either of these methods, while connections using MQTT use certificate based authentication, and connections using WebSockets can use SigV4. With AWS IoT you can use AWS IoT generated certificates, as well as those signed by your preferred Certificate Authority (CA). You can map your choice of role and/or policies to each certificate, so that you can authorize devices or applications to have access, or change your mind and revoke access altogether without ever touching the device. You can create, deploy and manage certificates and policies for the devices from the console or using the API. Those device certificates can be provisioned, activated and associated with the relevant policies that are configured using AWS IAM. This allows you to instantly revoke access for an individual device if you choose to do so. AWS IoT also supports connections from users mobile apps using Amazon Cognito, which takes care of all the steps necessary to create a unique identifier for your app s users and retrieve temporary, limitedprivilege AWS credentials. Registry The Registry establishes an identity for devices and tracks metadata such as the devices attributes and capabilities. The Registry assigns a unique identity to each device that is consistently formatted regardless of the type of device or how it connects. It also supports metadata that describes the capabilities of a device, for example whether a sensor reports temperature, and if the data are Fahrenheit or Celsius. The Registry lets you store metadata about your devices at no additional charge, and metadata in the Registry does not expire as long as you access or update your registry entry at least once every 7 years. 6

Approach:1 Uses AWS IoT Setup Device Shadows With AWS IoT you can create a persistent, virtual version, or shadow, of each device that includes the device s latest state so that applications or other devices can read messages and interact with the device. The Device Shadows persist the last reported state and desired future state of each device even when the device is offline. You can retrieve the last reported state of a device or set a desired future state through the API or using the rules engine. Device Shadows make it easier to build applications that interact with your devices by providing always available REST APIs. In addition, applications can set the desired future state of a device without accounting for the devices current state. AWS IoT will compare the difference between the desired and last reported state, and command the device to make up the difference. The AWS IoT Device SDK makes it easy for your device to synchronize its state with its shadow, and to respond to desired future states set via the shadow. Device Shadows let you store the state of your devices for up to a year for free. Device Shadows persist forever if you update them at least once per year, otherwise they expire. The process of connecting devices to AWS IoT is given below. Keep the AWS account credentials handy. Using AWS CLI or the Management Console, do the following. Create new devices. Obtain and configure certificates and policies for the device. Determine the correct end point and install the certificates on the device SDK. Create Rules for the Data received from the devices to AWS IoT to be routed To the Device Data Store for Storage via AWS Lambda or Kinesis Producer- Consumer. To Streaming Analytics for AWS Kinesis Stream Analytics for on the fly decision. AWS Lambda AWS Lambda is a compute service that lets you run code without provisioning or managing servers. AWS Lambda executes your code only when needed and scales automatically, from a few requests per day to thousands per second. AWS Lambda functions can be written to read the data from AWS IoT perform some enrichment and stored in the Device Data Store. 7

Approach:1 Uses AWS IoT Setup AWS Kinesis Amazon Kinesis is a platform for streaming data on AWS, offering powerful services to make it easy to load and analyze streaming data, and also providing the ability for you to build custom streaming data applications for specialized needs. AWS Kinesis Streams has the option of streaming data from AWS IoT to a Kinesis consumer which can again be used for Enrichment and stored in the Device Data Store. AWS Kinesis Stream Analytics can be used for analyzing streaming data on the fly, doing some minor enrichment and generating alarms or notifications to the user about out of bound conditions. Hosting on the Amazon EC2 The Application Logic and Device Data Store allows for users to perform the following functions. Login / Logout Infra. Device Mapping and profile mapping for users. Payment Gateway (if needed) Amazon EC2 Amazon Elastic Compute Cloud (Amazon EC2) is a web service that provides resizable compute capacity in the cloud. It is designed to make web-scale cloud computing easier for developers. Amazon EC2 s simple web service interface allows you to obtain and configure capacity with minimal friction. It provides you with complete control of your computing resources and lets you run on Amazon s proven computing environment. The Application Logic is a web service layer that allows the user to perform the above functions and can be written in PHP, JSP or ASP.net. PHP is widely used today for creating simple Rest Based web services and has the capability to address the current requirements and can be easily deployed on the Amazon EC2 Device Data Store hosted on Amazon RDS The Device Data store contains all the key device information and the parameters, actions and history for each device which can be queried to get results. Amazon RDS Amazon Relational Database Service (Amazon RDS) makes it easy to set up, operate, and scale a relational database in the cloud. It provides cost-efficient and resizable capacity while managing timeconsuming database administration tasks, freeing you up to focus on your applications and business. Amazon RDS provides you many familiar database engines to choose from, including MySQL. MySQL is a popular choice as it is free and can be very easily deployed on AWS RDScan be easily access by the Rules engine via AWS Lambda and the PHP hosting. 8

Approach:2 Uses VSP Setup The VPS approach can be used when we need to build a custom deployment of the Smart Green House controllers on a privately hosted VPS instance and we have enough know-how to get all the various software sub modules working. The VPS approach utilizes the VPS offerings from various hosting providers. Given below is architecture for controlling the smart greenhouse from an App via the VPS. The architecture consists of four sub modules which are explained in detail below. Device level SDK for connectivity via appropriate protocol The Device SDK implements the client functionality for all the supported communication protocols. The Device Level SDK has all the necessary communication protocol stacks like HTTP(S), MQTT, CoAP and other protocols as per the need. The Device level SDK also contains encryption standards like X.509 certificates or SSL for HTTPS which allows for Mutual authentication before data exchange happens. The protocol stacks have all the necessary consistencies built in to ensure that the data is delivered in the best effort method or handshake based system. The Device level SDK needs to be written in C. The CC3200 SDK can be used to develop the Device level SDK and implement the desired functionalities and protocols like MQTT, HTTP etc. 9

Approach:2 Uses VSP Setup Device Management Module The Device Management Module is implemented as a part of the VPS Hosting which contains the following four sub modules. Message Broker A message broker is an architectural pattern for message validation, transformation and routing. It mediates communication amongst applications, minimizing the mutual awareness that applications should have of each other in order to be able to exchange messages, effectively implementing decoupling. The purpose of a broker is to take incoming messages from applications and perform some action on them. The following are examples of actions that might be taken in by the broker: Route messages to one or more of many destinations Transform messages to an alternative representation Perform message aggregation, decomposing messages into multiple messages and sending them to their destination, then recomposing the responses into one message to return to the user Interact with an external repository to augment a message or store it Invoke Web services to retrieve data Respond to events or errors Provide content and topic-based message routing using the publish subscribe pattern The Message Broker is also responsible for taking inputs from and App or Website and passes it on to the Grow Controller. Given below are list of Message brokers which work on one or more protocols. S.No Name Supported Protocols License 1 IBM IoT Message sight REST, MQTT, MQTT over HTML 5 web sockets Commercial 2 Mosquito MQTT, MQTT over web sockets Apache 3 Really Small Message Broker MQTT 3.1 Apache 10

Approach:2 Uses VSP Setup Device Registry The Device Registry sub module Stores information about devices that the IoT system would read to communicate with, control, provision, or manage. Device Identity and Access The Device Identity and Access sub module identifies the service that the device uses after a device has been added. An open source example of Device Registry and Identity and Access Management would be the LWM2M Leshan Server running on the hosted VPS instance and the Eclipse WakaamaClient instance running on the cc3200 Rules Engine The rules engine contains the rules to route the data based on certain parameters to the device data store or to search for certain parameters within the data to know if alarms or notifications need to be triggered. The Rules Engine can be written in Python, Java or Ruby to do a simple packet inspection to determine the device name, the type of sensor sending the data and if it s an alarm or just routine information. This classification can be used to pass the data onto the appropriate function for refining and raising alarms or storage on Device Data Store based on device name and sensor name, time etc. A more complex rules engine and Streaming Analytics engine can be implemented using Apache Spark. Hosting and Device Data Store The Application Logic and Device Data Store allows for users to perform the following functions. Login / Logout Infra. Device Mapping and profile mapping for users. Payment Gateway (if needed) The Application Logic is a web service layer that allows the user to perform the above functions and can be written in PHP, JSP or ASP.net. PHP is widely used today for creating simple Rest Based web services and has the capability to address the current requirements. The Device Data store contains all the key device information and the parameters, actions and history for each device which can be queried to get results. The Device Data Store can be SQL based Database running on the hosting. MySQL is a popular choice as it is free and can be deployed on most of the hosting VPS providers and can be easily access by the Rules engine and the PHP hosting. 11

Approach:3 Uses a One to One Communication(Prototype Deployment) The Prototype Deployment approach can be used when we are demonstrating a Proof of Concept with a few Smart Green House controllers. Device level SDK for connectivity via appropriate protocol The Device SDK implements the client functionality for all the supported communication protocols. The Device Level SDK has all the necessary communication protocol stacks like HTTP(S), MQTT, CoAP and other protocols as per the need. The Device level SDK also contains encryption standards like X.509 certificates or SSL for HTTPS which allows for Mutual authentication before data exchange happens. The protocol stacks have all the necessary consistencies built in to ensure that the data is delivered in the best effort method or handshake based system. The Device level SDK needs to be written in C. The CC3200 SDK can be used to develop the Device level SDK and implement the desired functionalities and protocols like MQTT, HTTP etc. 12

Approach:3 Uses a one to one communication(prototype Deployment) Hosting and Device Data Store The Application Logic and Device Data Store allows for users to perform the following functions. Login / Logout Infra. Device Mapping and profile mapping for users. The Application Logic is a web service layer that allows the user to perform the above functions and can be written in PHP, JSP or ASP.net. LAMP stack is a popular framework which can be installed on a private computers or a cloud instance running most distributions or Linux. It has PHP, MYSQL and Apache2. PHP is widely used today for creating simple Rest Based web services and has the capability to address the current requirements. Apache2 provides a web server on which the PHP bases REST API services and the Message Broker can run. MySQL provides the Device Data store contains all the key device information and the parameters, actions and history for each device which can be queried to get results. Message Broker A message broker is an architectural pattern for message validation, transformation and routing. It mediates communication amongst applications, minimizing the mutual awareness that applications should have of each other in order to be able to exchange messages, effectively implementing decoupling. The Message Broker is also responsible for taking inputs from and App or Website and passes it on to the Grow Controller. For the Prototype Deployment, the Message Broker can be a simple PHP REST API web service which allows for Sensor Data to be stored in the Device Data Store. 13

About MoboDexter, Co-Founded by Ex-Intel veterans in 2013 is based out in New York, Bangalore and Singapore. We are rapidly establishing itself as an innovative platform leader in the world of enterprise Internet of Things. In the booming and evolving Internet of Things market, MoboDexter has created a unique IoT platform to enable businesses to build their IoT products and solutions. PAASMER is a software suite that bundles all the elements needed to connect sensors, gateways, mobile application, cloud and analytics to develop, build and deploy connected IoT products quickly and efficiently. PAASMER s end goal is to enable Artificial intelligence to Things so that Things are enabled with their own intelligence to act in the best interest of the user. Hence Machine learning and Deep learning are integral choices in the platform for our clients to leverage. The unique aspects of PAASMER platform that differentiates our platform from other IoT Platforms in the market are Best In Class High Speed Edge Database Innovative Edge Analytics Modular Edge OS Innovative Edge & Cloud Security Dynamic Cloud Management MoboDexter is advised by Gartner Inc. In a recent Gartner survey, top 4 verticals seeing steep growth in IoT implementations are HealthCare, Connected Home, M2M & Retail. These are the same 4 verticals that are growth focus for PAASMER and has signed up clients across the world in each of these verticals. Our client implementations case studies are here. Raconteur Online wrote - MoboDexter s IoT Platform as a Service, named PAASMER, and has been built with an inside-out approach from gateway upwards or downwards that makes it more versatile and flexible to integrate than existing platforms For more information visit:- www.mobodexter.com, www.paasmer.co. Follow Us:- 14