Download - Introduction to Internet of Things Hardware
Today’s Goals
You know...
● what IoT stands for
● that Raspberry Pi is sweet but not a cake;-)
● where to start to build your own smart things
Internet of Things = Smart Things?
„Internet of Things“ von SRI Consulting Business Intelligence/National Intelligence Council - Apendix F of Disruptive Technologies Global Trends 2025 page
1 Figure 15 (Background: The Internet of Things).
Cool future!
But what about today?
IoT Hardware - Components
● Microcontroller (MCU, CPU)
● Storage (flash, EEPROM, ...)
● Power supply (batteries, adapter, solar)
● I/O: interface to the world○ General Purpose Input Output (GPIO)
○ Analog/ Digital converter (ADC)
● Connectivity (serial, ethernet, wifi…)
IoT - Periphery
Sensors
Actors
Complex
Acoustic/ Visual
Arduino Platform
● Born in 2005
● Combines SW/HW
● Great for prototyping
● Popular for artists
● Italian origin
Popularity - Italian exports compared
Source: Google Trends
Arduino Hardware
● Atmel AVR MCU
● Open-Source
HW/SW
● Digital I/O, ADC
● Std. Form factor:
extensions (shields)
● Easy programming
Arduino Hardware - Flavours
Arduino - Common denominator
● Family of MCUs
● Programmable
● ~$2
● DIL, SMD
Arduino - Shields
● Wifi
● Displays
● Prototyping
● Motor drivers
● Build your own...
Arduino Programming
● C/C++
● Many libraries for I/O
● 1 Click compile/upload
● Java based IDE
Arduino.cc - Starting point
Summary Arduino
Con:
● Wireless
Connectivity
● Limited processing
power
Pro:
● Relatively Cheap
● Easy to programm
● Good I/O Interface
● Standard formfactor
● Good for prototyping
● Many extensions available (shields)
Raspberry Pi
● Single Board PC
● ARM based
● Var. Linux Distribs
● HDMI, Composite,
USB, GPIO, Audio
● ~$35
● System on SD Card
Popularity - British exports compared
Source: Google Trends
Raspberry Pi - Applications
Multimedia PC - Kodi Retro Game Console - Aracade Pi Schools - Scratch
Processing Cluster
(Lego frame)ADS-B Flight Tracker - PiAware “Wearable” Computing”
Raspberry Pi - Programming
● Python
● Java 7/8
● C/C++
● Libs for HW
● “In situ”
programming
RPi - I/O Interface
● Many GPIOs
● No ADC
● No onboard
Wifi
Raspberry Pi - Summary
Pros:
● Almost normal PC
● Processing Power
● Price & Size (for a PC)
● Programming
● # of GPIO pins
● Complete OS
● Huge SW repo
Cons:
● Energy consumption
● Price (for IoT)
● No ADC
ESP8266 - NKOTB
ESP8266 - System on a Chip (SoC)
● ~$3
● 10 GPIO, 1 ADC
● Wifi (WEP, WPA(2))
● programmable
(C/C++, Lua)
● 3.3V
● UART
ESP8266 - Popularity
Source: Google Trends
July 2014
ESP8266 - Compared
Source: Google Trends
ESP8266 - Variations
● > 12 HW
versions
● Not all pins
accessible on
all boards
ESP8266 - Firmwares - C++ SDK
● SDK available from Espressif
● Dockerfile tool chain:https://github.com/squix78/esp8266-docker-buildbox
● Alternative: RTOS SDK
ESP8266 - Firmwares - NodeMCU
● Lua API
● ESPlorer IDE
● Serial-To-USB
Transfer
● Open-Sourced
ESP8266 - Firmwares - NodeLua
● Lua
● WebIDE
● Log output to
browser
● FW open-sourced
● WebIDE closed
source
ESP8266 - Summary
Pros:
● Low price
● Connectivity
● Small
Cons:
● Periphery support
(Sensors, displays,..)
● Power supply
Comparison
ESP8266 Arduino Raspberry Pi
Cost ~$3 $3-$30 ~$35
Wifi Built-in Shield ($60) or
ESP8266
USB Dongle
Programming C++/Lua C++ Python/Java/C++
Code distribution Serial/ OTA USB/ SPI/ Serial In-Situ
Storage Built-In Built-In SD-Card
I/O 10 GPIO/ 1 ADC Arduino Uno:
13 GPIO/ 6 ADC
17 GPIO
How to get started? Starter Kits
Many options available.
Just pick one;-)
Where to buy?
http://www.seeedstudio.com/ http://www.aliexpress.com/ http://www.banggood.com/
Q&A
Breadboards
● For Easy
prototyping
● various sizesConnected but not crossing the
the gap
sometimes power rail on top
and bottom