building blocks for iot devices
TRANSCRIPT
![Page 1: Building Blocks for IoT Devices](https://reader034.vdocuments.net/reader034/viewer/2022042723/587a9d4a1a28ab09758b637f/html5/thumbnails/1.jpg)
Building Blocks for IoT Devices
Anil GorthySoftware Engineer
linkedin.com/in/anilgorthy@ganilb
© Anil Gorthy
![Page 2: Building Blocks for IoT Devices](https://reader034.vdocuments.net/reader034/viewer/2022042723/587a9d4a1a28ab09758b637f/html5/thumbnails/2.jpg)
Components of IoT Devices
Controller, Sensor and Actuators
PhysicalObject Internet
© Anil Gorthy
![Page 3: Building Blocks for IoT Devices](https://reader034.vdocuments.net/reader034/viewer/2022042723/587a9d4a1a28ab09758b637f/html5/thumbnails/3.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042723/587a9d4a1a28ab09758b637f/html5/thumbnails/4.jpg)
Source: IoT - The Networked Physical World http://dspace.mit.edu/handle/1721.1/86935
© Anil Gorthy
![Page 5: Building Blocks for IoT Devices](https://reader034.vdocuments.net/reader034/viewer/2022042723/587a9d4a1a28ab09758b637f/html5/thumbnails/5.jpg)
Tear-down of Philips Hue
Source: MIT Technology Review, 2014 © Anil Gorthy
![Page 6: Building Blocks for IoT Devices](https://reader034.vdocuments.net/reader034/viewer/2022042723/587a9d4a1a28ab09758b637f/html5/thumbnails/6.jpg)
Deeper Dive
© Anil Gorthy
![Page 7: Building Blocks for IoT Devices](https://reader034.vdocuments.net/reader034/viewer/2022042723/587a9d4a1a28ab09758b637f/html5/thumbnails/7.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042723/587a9d4a1a28ab09758b637f/html5/thumbnails/8.jpg)
Typical ArchitectureSoftwareDevice
Server
GPIO / I2C
Micro-controller
Wi-Fi / BLE
ShieldSensor
© Anil Gorthy
![Page 9: Building Blocks for IoT Devices](https://reader034.vdocuments.net/reader034/viewer/2022042723/587a9d4a1a28ab09758b637f/html5/thumbnails/9.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042723/587a9d4a1a28ab09758b637f/html5/thumbnails/10.jpg)
- 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](https://reader034.vdocuments.net/reader034/viewer/2022042723/587a9d4a1a28ab09758b637f/html5/thumbnails/11.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042723/587a9d4a1a28ab09758b637f/html5/thumbnails/12.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042723/587a9d4a1a28ab09758b637f/html5/thumbnails/13.jpg)
© Anil Gorthy
Let us connect a light bulb
![Page 14: Building Blocks for IoT Devices](https://reader034.vdocuments.net/reader034/viewer/2022042723/587a9d4a1a28ab09758b637f/html5/thumbnails/14.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042723/587a9d4a1a28ab09758b637f/html5/thumbnails/15.jpg)
Arduino IDE Physical ComputingSoftware
© Anil Gorthy
![Page 16: Building Blocks for IoT Devices](https://reader034.vdocuments.net/reader034/viewer/2022042723/587a9d4a1a28ab09758b637f/html5/thumbnails/16.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042723/587a9d4a1a28ab09758b637f/html5/thumbnails/17.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042723/587a9d4a1a28ab09758b637f/html5/thumbnails/18.jpg)
Thank you
© Anil Gorthy