DIY Device Cloud Documentation



Similar documents
Access Database Hosting. An introduction to Cloud Hosting Access databases from Your Office Anywhere

Intel IoT Gateways: Publishing Data to an MQTT Broker Using Python

2) Xen Hypervisor 3) UEC

Flexible Architecture for Internet of Things Utilizing an Local Manager

Every Silver Lining Has a Vault in the Cloud

Firenze. Iottly, open source Internet of Things distribution

DISTRIBUTED SYSTEMS [COMP9243] Lecture 9a: Cloud Computing WHAT IS CLOUD COMPUTING? 2

Opsview in the Cloud. Monitoring with Amazon Web Services. Opsview Technical Overview

RemoteApp Publishing on AWS

WhitePaper. Private Cloud Computing Essentials

Deploying Migrated IBM Notes Applications to the Cloud

Easily Managing User Accounts on Your Cloud Servers. How modern IT and ops teams leverage their existing LDAP/Active Directory for their IaaS

From Zero to Secure in 1 Minute

ST 810, Advanced computing

Server Security. Contents. Is Rumpus Secure? 2. Use Care When Creating User Accounts 2. Managing Passwords 3. Watch Out For Aliases 4

How AWS Pricing Works

A SURVEY OF CLOUD COMPUTING: NETWORK BASED ISSUES PERFORMANCE AND ANALYSIS

NetLeverage UK ThinPoint Solution Overview Version 2 Copyright 2012 NetLeverage UK

WHITE PAPER SETTING UP AND USING ESTATE MASTER ON THE CLOUD INTRODUCTION

An Introduction to Using Python with Microsoft Azure

Platform as a Service and Container Clouds

Virtualization & Cloud Computing (2W-VnCC)

Creating a DUO MFA Service in AWS

Amazon Web Services Student Tutorial

How AWS Pricing Works May 2015

NCTA Cloud Architecture

Deploy Remote Desktop Gateway on the AWS Cloud

BOA BARRACUDA ON ÆGIR ~ MY FIRST YEAR ~ Mladen

depl Documentation Release depl contributors

Troubleshooting BlackBerry Enterprise Service 10 version Instructor Manual

Deploying Your Application On Public Cloud

Double-Take Cloud Migration Center (CMC) Tech Brief

EMX-2500 DATA SHEET FEATURES GIGABIT ETHERNET REMOTE CONTROLLER FOR PXI EXPRESS MAINFRAMES SYSTEM LEVEL FUNCTIONALITY

Ansible in Depth WHITEPAPER. ansible.com

Synapse s SNAP Network Operating System

Nessus Agents. October 2015

Putchong Uthayopas, Kasetsart University

Hosted SharePoint. OneDrive for Business. OneDrive for Business with Hosted SharePoint. Secure UK Cloud Document Management from Your Office Anywhere

activecho Frequently Asked Questions

An Introduction to Cloud Computing Concepts

NetSupport Manager v11

High Speed Internet - User Guide. Welcome to. your world.

Video Conferencing Meets WebRTC

Introducing FUJITSU Software Systemwalker Centric Manager V15.1.1

ArcGIS for Server in the Cloud

Cloud Computing (In Plain English)

Secure Web Browsing in Public using Amazon

Trend Micro. Advanced Security Built for the Cloud

Assignment # 1 (Cloud Computing Security)

Windows Server 2003 End of Support. What does it mean? What are my options?

CUMULUX WHICH CLOUD PLATFORM IS RIGHT FOR YOU? COMPARING CLOUD PLATFORMS. Review Business and Technology Series

McAfee Public Cloud Server Security Suite

Cloud n Service Presentation. NTT Communications Corporation Cloud Services

Beyond THE Blinky LED: Voice recognition, Face recognition and cloud connectivity for IOT Edge devices

Amazon Cloud Storage Options

BeagleBone Black: Installing Operating Systems

Open Source building blocks for the Internet of Things. Benjamin Cabé JFokus 2013

Cloud computing - Architecting in the cloud

WINDOWS AZURE EXECUTION MODELS

AdRadionet to IBM Bluemix Connectivity Quickstart User Guide

Mobile Cloud Computing T Open Source IaaS

White Paper. Anywhere, Any Device File Access with IT in Control. Enterprise File Serving 2.0

PI Cloud Connect. Frequently Asked Questions

ResNet Guide. Information & Learning Services. Here to support your study and research

McAfee Firewall for Linux 8.0.0

SPACK FIREWALL RESTRICTION WITH SECURITY IN CLOUD OVER THE VIRTUAL ENVIRONMENT

Bluefruit LE Python Library

Private Cloud in Educational Institutions: An Implementation using UEC

jbase 5 Install on Amazon AWS a Primer

CPSC 226 Lab Nine Fall 2015

Cloud Computing Workload Benchmark Report

How To Understand The Architecture Of An Ulteo Virtual Desktop Server Farm

Cloud Computing. Chapter 1 Introducing Cloud Computing

SUSE Manager in the Public Cloud. SUSE Manager Server in the Public Cloud

How to Grow and Transform your Security Program into the Cloud

Getting Started with DevOps Automation

ArcGIS 10.3 Server on Amazon Web Services

ArcGIS for Server: In the Cloud

M2M, IoT, DEVICE MANAGEMENT: ONE PROTOCOL TO RULE THEM ALL? Julien Vermillard, Sierra Wireless

Cloud Backup and Recovery for Endpoint Devices

Cloud Tools Reference Guide. Version: GA

Only Athena provides complete command over these common enterprise mobility needs.

Rstudio Server on Amazon EC2

Getting Started with PRTG Network Monitor 2012 Paessler AG

Cloud and Data Center Security

Last Updated: July STATISTICA Enterprise Server Security

2003, Rainbow Technologies, Inc.

Embedded Based Web Server for CMS and Automation System

Component Details Notes Tested. The virtualization host is a windows 2008 R2 Hyper-V server. Yes

INUVIKA OPEN VIRTUAL DESKTOP FOUNDATION SERVER

Cloud Computing. Adam Barker

AppDev OnDemand Cloud Computing Learning Library

Transcription:

DIY Device Cloud Documentation Release 1.0 Tony DiCola May 11, 2014

Contents 1 Overview 3 1.1 What is a device cloud?......................................... 3 1.2 Why do you want a device cloud?.................................... 3 1.3 Project Goals............................................... 3 2 Architecture 5 i

ii

DIY Device Cloud Documentation, Release 1.0 The internet of things sucks. We were promised a future of amazing devices that connect seamlessly and communicate freely. In reality we ve been given gadgets that solve questionable needs, services that wall off and own our data, and endless marketing nonsense. It s time to stop talking about the internet of things and start making it a reality. Like the underground music scene of the 80 s that built its own future, the makers, hackers, and garage inventors of today need to lead the way to an internet of things that doesn t suck. The DIY device cloud project s goal is to provide tools and information for anyone to build their own cloud of connected devices. You can find more details about this project at its home on projects.hackaday.com. Contents: Contents 1

DIY Device Cloud Documentation, Release 1.0 2 Contents

CHAPTER 1 Overview 1.1 What is a device cloud? I consider a device cloud to be a service that provides both a broker for communication between devices and a host for applications that interact with devices. The broker allows devices to communicate to other devices or applications without having to be tightly coupled or directly connected to each other. The device cloud is also an easily accessible host for applications that interact with devices, such as visualizations of data or control of device functionality. 1.2 Why do you want a device cloud? Discovering and connecting to your devices over the internet is hard! Dynamic IP addresses, NAT, firewalls, and more prevent you from easily accessing your home network and devices. Hosting your own device cloud on the internet allows devices to connect and communicate without the trouble of opening connectivity to your home network. Not all devices can be connected and online all the time. A device cloud allows for asynchronous communication between devices. For example a sensor or actuator can periodically connect to your device cloud to record data or receive new instructions; because the device isn t connected all the time it can greatly reduce its power consumption. You have total control over the data and services available to your devices. You aren t limited by what a 3rd party provides or concerned about what they might do with your data. You own the entire infrastructure and can mold it to your needs. 1.3 Project Goals Automate the setup and maintenance of services that form a personal device cloud. Setup should be an easily repeatable process from a single command or script. Target running the device cloud on cheap, low end cloud infrastructure like Amazon EC2 s micro instance free tier. Build on existing tools, services, and protocols don t reinvent the wheel! Many of the services to build a device cloud exist today, they just need to be put together into an easy to use package. Document how to connect popular development hardware like the Raspberry Pi, Beaglebone Black, and Arduino to a device cloud. 3

DIY Device Cloud Documentation, Release 1.0 4 Chapter 1. Overview

CHAPTER 2 Architecture Early thoughts on high level device cloud architecture: The MQTT broker, mosquitto, is at the center of all communication and lives on a server in Amazon EC2, Microsoft Azure, etc. Along with the broker other applications like visualizations or control apps are hosted on the same server and can communicate with the broker directly. Devices in your home network, or really anywhere, connect to the MQTT broker using an encrypted SSL MQTT channel. Normally SSL is a tremendous pain to configure and manage (especially with self-signed certificates), however I ve found it s easy to automate the certificate creation tasks using Ansible so it should be painless. I want the device cloud to be secure by default and not require someone to be an expert in security to setup or run the system. 5

DIY Device Cloud Documentation, Release 1.0 Devices can be any hardware that s powerful enough to speak MQTT s protocol. Embedded Linux boards like the Raspberry Pi, Beaglebone Black, Arduino Yun, Intel Galileo, etc. will be very easy to configure and use with the device cloud. I hope to even provide Ansible tasks that can deploy and configure MQTT client tools and libraries on any embedded Linux device automatically. What about devices which don t support SSL, like an Arduino & CC3000? In this case mosquitto has a concept of a bridge server which can act both as an MQTT broker and client. Any MQTT messages sent to the bridge will be relayed back up to the parent broker and vice-versa. With this setup it will be possible to build a small, low power Arduino + CC3000 device that periodically connects to the bridge over an unencrypted channel to send/receive commands. Because the bridge lives inside your home network (which is secured with wireless encryption, right?) it s still relatively secure. Certainly more secure than opening the broker in the cloud up to unencrypted MQTT traffic! Again Ansible tasks should be able to turn any Linux gadget into a bridge for the device cloud easily. 6 Chapter 2. Architecture

CHAPTER 3 Dependencies If you re running Windows, you will need to install vagrant and virtualbox to setup an Ubuntu linux virtual machine for executing the playbooks. Don t worry! Vagrant makes the setup and usage of a virtual machine extremely easy. TODO: Put in details on setting up vagrant. If you re running Mac OS X or Linux you should have everything you need to get started. You will need to install the following software: 3.1 Python You probably have this installed already, to check open up a terminal and run: python --version Any Python version >2.6 should work. If you see an error that Python is not installed, please install the latest version of Python 2.7. 3.2 pip pip is a Python package manager which can install all the required Python dependencies. To install pip execute: wget https://bootstrap.pypa.io/get-pip.py sudo python get-pip.py 3.3 Ansible Ansible is the automation tool that will set up and configure the machines in the device cloud. Install Ansible by executing: sudo pip install ansible 7

DIY Device Cloud Documentation, Release 1.0 3.4 boto boto is a Python package for interacting with Amazon s AWS cloud services. If you are using Amazon AWS to host your device cloud you will need to install boto by executing: sudo pip install boto 8 Chapter 3. Dependencies