Upload
mike-branstein
View
82
Download
1
Embed Size (px)
Citation preview
+ Cincinnati + Louisville + Nashville + Columbus+ Detroit + Indianapolis
David Buckingham – Practice Lead, Custom App Development
Slava Trofimov – Practice Lead, SQL Data Platform & Analytics
Mike Branstein – Director, Application Development
Internet of Things (IoT)
Workshop
4
• You rarely get the chance to practice for practice’s sake
• IoT and cloud architecture/development patterns can be
confusing and are frankly “new” to many of us
• It’s not what’s going to change, it’s when – and the answer is likely yesterday
• Today
• The Internet of Things (IoT)
• Cloud architecture
• See an end-to-end solution
• Hands-on practice
• Get excited or inspired
Practice Makes Perfect
Source: Oxford Ditionary 7
Internet of things
noun
A proposed development of the
Internet in which everyday objects
have network connectivity, allowing
them to send and receive data.
What is the Internet of Things?
Source: Cisco & Internet World Stats, sourced and created by Nick Landry 12
How Big?
Source: Cisco, sourced and stats created by Nick Landry 13
You Want What? More?
Source: Nick Landry 14
The Enablers
Source: Nick Landry 21
• Full single-board computer with SoC
• Average cost: $30 to $45
• Model A, A+, B, B+ and Raspberry Pi 2 B, 3, Zero
• Runs Linux – flavor of Debian called Raspbian
• http://www.raspbian.org
• Huge accessory selection
• Programmable
• Python
• (Mono), etc.
• 5+ million units sold in 3 years of
manufacture, technically the largest
computer manufacturer in UK!
Raspberry Pi
• Prototype-to-production platform
• Wifi or Cellular enabled, low-voltage
• Remote management capabilities
• Cloud-based development environment
• $19
• Scale by starting with 1, move to
a PCB integrated platform, and
custom hardware when you get to
the 10,000’s
• http://particle.io
Particle Photon
Source: Nick Landry 23
• Windows 10 is on Raspberry Pi 2 and 3!
• http://windowsondevices.com
New Windows == More Fun!
34
The RPi can be powered either by the USB cable from the host PC or by an external DC power source (5V).
The RPi also has 5V, 3.3V and GND pins to supply voltages to your project components.
Raspberry Pi 2 Introduction
Source: Nick Landry
35
• General Purpose Input/Output
• Pin that can be controlled by the user
• Can be set to input or output
• Input can be things like temperature sensors, buttons, IR etc
• Output can be LEDs, Motors, LCDs etc
GPIO
Source: Nick Landry
36
• 40 pins total
• Pi Wedge organizes pins
• 17 GPIO
• 6x power
• 5x SPI (Serial Peripheral Interface) serial comm.
• 2x UART, Tx (out) / Rx (in) serial comm.
• 4x I2C (comm. Protocol, master/slave)
Pi Wedge Pin Out
40
Breadboards offer a great way to prototype circuits. The provide a number of “buses” for connecting both power and components
Power buses run the entire horizontal length
Component buses (vertical) give you easy ways to connect pins together
Breadboards
Source: Nick Landry
46
• Analog Temp. Sensor
• Analog to Digital
Convertor (RPi 2 only
reads digital signals, so
we need a convertor from
Analog to Digital)
• Capacitor (to reduce line
noise)
Temperature Sensor Components
47
• Red are Power and GRD
• Analog/Digital
Convertor (1 set for
the analog
component, another
for the digital
component)
• Temperature Sensor
Powering the Circuit
Customer & KiZAN confidential 48
• Serial Communications
happen over 4 lines
• Yellow
• White
• Blue
• Green
• Yellow connects Temp
sensor to the Convertor
Communicating with the RPi
Source: Nick Landry 50
The Enablers
52
Cloud Overview: IaaS, PaaS, SaaS
Source: Nick Landry, Microsoft
53
• PaaS is where you “should” want to be
• Use the service, don’t do the plumbing
• We’ve been doing the plumbing for a long time
• Challenges
• Mapping exercise
• Architect the
PaaS way or the
highway
Moving to PaaS
54
Reference Cloud IoT Architecture
Source: Nick Landry, Microsoft
Standard Data Analysis
57
• Your data already exists – it’s
all from the past or
projections of the future
• You can aggregate everything
• Not real-time
• Batch processing
• Reactionary in nature
Data Analysis
Streaming Data Analysis
58
• Data arrives temporally
• You can’t aggregate data all at once
• Real-time
• Data is grouped into different windows
Data Analysis
• What is a data window?
• What’s your data window?
• Concept: arriving data as an “event”
Tumbling Window Hopping Window
Source: MSDN and MSDN 59
• Tumbling Windows that overlap• Timeunit (minutes, seconds, etc.)
• Windowsize (duration)
• Hopsize (skip duration)
• Series of fixed-size, non-overlapping and contiguous time windows
Temporal Windowing
Source: Microsoft 60
• Real-time stream processing in
the cloud
• Real-time cloud-based ETL
• Millions of events per second
• Scale dynamically
What is Azure Stream Analytics?
61
• Create Stream Analytics Job
• Configure 1 or more Inputs and Outputs
• Create Queries to ETL from Inputs to Outputs
• Use SQL-like language
Making Cloud ETL Easy