18
Building Blocks for IoT Devices Anil Gorthy Soware Engineer linkedin.com/in/anilgorthy @ganilb © Anil Gorthy

Building Blocks for IoT Devices

Embed Size (px)

Citation preview

Page 1: Building Blocks for IoT Devices

Building Blocks for IoT Devices

Anil GorthySoftware Engineer

linkedin.com/in/anilgorthy@ganilb

© Anil Gorthy

Page 2: Building Blocks for IoT Devices

Components of IoT Devices

Controller, Sensor and Actuators

PhysicalObject Internet

© Anil Gorthy

Page 3: Building Blocks for IoT Devices

A device that has sensors, actuators and uses wireless protocols to communicate

Created to solve a specific need for the consumer

IoT Devices

© Anil Gorthy

Page 4: Building Blocks for IoT Devices

Source: IoT - The Networked Physical World http://dspace.mit.edu/handle/1721.1/86935

© Anil Gorthy

Page 5: Building Blocks for IoT Devices

Tear-down of Philips Hue

Source: MIT Technology Review, 2014 © Anil Gorthy

Page 6: Building Blocks for IoT Devices

Deeper Dive

© Anil Gorthy

Page 7: Building Blocks for IoT Devices

Building Blocks

- microcontrollers- sensors- motors

Physical Computing

Device

Design Software

- industrial- interaction- visual

- build the device - use the device

- Bulb- Doorbell- IP camera- Thermostat

© Anil Gorthy

Page 8: Building Blocks for IoT Devices

Typical ArchitectureSoftwareDevice

Server

GPIO / I2C

Micro-controller

Wi-Fi / BLE

ShieldSensor

© Anil Gorthy

Page 9: Building Blocks for IoT Devices

Server

Messaging

RESTful API

Software

Arduino Uno WiFly Shield VoiceBox Shield

WiFi Talking Stephen Hawking

Device

Typical Architecture(Example)

© Anil Gorthy

Page 10: Building Blocks for IoT Devices

- Start with a sketch

- Iterate on the design

- Create foamcore or cardboard mockups

- Later, 3D printed models

Industrial Design

Steps

- Tinkercad

- SolidWorks

- Rhino

- SketchUp

Tools

© Anil Gorthy

Page 11: Building Blocks for IoT Devices

MicrocontrollersRapid prototyping

Quickly identify connectivity and controls

Power efficient

Built-in radios

C++, JavaScript or use littleBits which requires very little programming

Physical Computing

© Anil Gorthy

Page 12: Building Blocks for IoT Devices

Arduino components

pins or connections

sensors - ways of getting info into your device, finding out things about the surroundings such as pressure, temperature, humidity, proximity

actuators - outputs for the device which let your device do something to the outside world such as motors, lights

shields - circuit boards that provide capabilities such as Wi-Fi, BLE, etc

IDE for programming - uses a simplified version of C++

Physical Computing

Connecting an Arduino

© Anil Gorthy

Page 13: Building Blocks for IoT Devices

© Anil Gorthy

Let us connect a light bulb

Page 14: Building Blocks for IoT Devices

Physical ComputingSoftware

/* Blink Turns on an LED on for one second, then off for one second, repeatedly. This example code is in the public domain. */ // Pin 13 has an LED connected on most Arduino boards.// Pin 11 has the LED on Teensy 2.0// Pin 6 has the LED on Teensy++ 2.0// Pin 13 has the LED on Teensy 3.0// give it a name:int led = 13;

// the setup routine runs once when you press reset:void setup() { // initialize the digital pin as an output. pinMode(led, OUTPUT); }

// the loop routine runs over and over again forever:void loop() { digitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level) delay(1000); // wait for a second digitalWrite(led, LOW); // turn the LED off by making the voltage LOW delay(1000); // wait for a second} © Anil Gorthy

Page 15: Building Blocks for IoT Devices

Arduino IDE Physical ComputingSoftware

© Anil Gorthy

Page 16: Building Blocks for IoT Devices

Architecture - II

Source: IoT - The Networked Physical World http://dspace.mit.edu/handle/1721.1/86935

Software

© Anil Gorthy

Page 17: Building Blocks for IoT Devices

Inspiration

Source: Dragon, http://www.digitalhabits.it/dragon-wireless-led-modular-lamp/

Two outputs

Light : 21 white 3000k 110 LEDs

Microprocessor8 Bit, 32 Mhz

One input

Device

© Anil Gorthy

Page 18: Building Blocks for IoT Devices

Thank you

© Anil Gorthy