hacking with the raspberry pi and windows 10 iot core

50
HACKING WITH THE RASPBERRY PI AND WINDOWS 10 IOT CORE Building Universal Windows Apps & Gadgets for the Internet of Things Nick Landry Senior Technical Evangelist - Microsoft AgeofMobility.com github.com/ActiveNick @ActiveNick

Upload: nick-landry

Post on 24-Jan-2017

1.293 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: Hacking with the Raspberry Pi and Windows 10 IoT Core

H ACKIN G WIT H T H E RA SPBE RRY P I A N D WINDOWS 10 IOT COREB u i l d i n g U n i v e r s a l W i n d o w s A p p s & G a d g e t s f o r t h e I n t e r n e t o f T h i n g s

Nick LandrySenior Technical Evangelist - MicrosoftAgeofMobility.comgithub.com/ActiveNick@ActiveNick

Page 2: Hacking with the Raspberry Pi and Windows 10 IoT Core

A G E N D A

• Quick Recap: What is the Internet of Things?

• Hardware: Raspberry Pi Overview

• Windows 10 IoT Core

• Universal Windows Platform (UWP)

• Live demos!

• Cloud connectivity & Azure IoT Hubs

• Tons of resource links to get you started

• Open discussion

Page 3: Hacking with the Raspberry Pi and Windows 10 IoT Core

DOWNLOAD THE SLIDES AND DEMOShttp://slideshare.net/ActiveNick

https://github.com/ActiveNick

Page 4: Hacking with the Raspberry Pi and Windows 10 IoT Core

E X P L O S I O N I N A P P L I C AT I O N D E V E L O P M E N T

Page 5: Hacking with the Raspberry Pi and Windows 10 IoT Core

T H I N G S A R E T H E N E W A P P S !

Page 6: Hacking with the Raspberry Pi and Windows 10 IoT Core

W H AT I S T H E I N T E R N E T O F T H I N G S ?

Connectivity Data AnalyticsThings

Page 7: Hacking with the Raspberry Pi and Windows 10 IoT Core

H A R D W A R E C H O I C E S

Page 8: Hacking with the Raspberry Pi and Windows 10 IoT Core

R A S P B E R R Y P I

• Full single-board computer with SoC• Average cost: $30 to $45• Model A, A+, B, B+ and Raspberry Pi 2 & 3

• Runs Linux – flavor of Debiancalled Raspbian• http://www.raspbian.org

• Huge accessory selection

• Programmable• Python• C# (Mono), etc.

• 5+ million units sold in first 3 yearsof manufacture, technically thelargest computer manufacturer in UK!

Page 9: Hacking with the Raspberry Pi and Windows 10 IoT Core

N E W W I N D O W S , N E W D E V I C E S

• Windows 10 IoT Core on the Raspberry Pi 2 & 3 (and other devices)

• http://dev.windows.com/iot

Page 10: Hacking with the Raspberry Pi and Windows 10 IoT Core

T H E J O U R N E Y T O O N E W I N D O W S …

IoTHoloLens

Surface Hub

Windows Desktop

Windows Phone

Xbox

ONE CORE OS

ONE APP PLATFORM

ONE STOREWindows 10

Page 11: Hacking with the Raspberry Pi and Windows 10 IoT Core

O N A F U L L R A N G E O F D E V I C E S …

Windows 10

Phone Small Tablet2-in-1s

(Tablet or Laptop)Desktops

& All-in-OnesPhablet Large TabletClassic Laptop

XboxIoT

Surface Hub

Holographic

Page 12: Hacking with the Raspberry Pi and Windows 10 IoT Core

T U N E D T O E A C H F O R M FA C T O R …

One Core OSBase OS

App and Device platform

Runtimes and frameworks

Windows for …

Form factor–appropriateshell experience

Device-specific scenario support

Windows for phones

Familiar mobile shell

Rich telephony

Windows phone app compatibility

Windowsfor PCs

Familiar desktop shell

Broad hardware ecosystem

Windows desktop application compatibility

Windowson Xbox

10’ shell experience

Shared gaming experiences

Xbox Onegame and app compatibility

Page 13: Hacking with the Raspberry Pi and Windows 10 IoT Core

W I T H A U N I V E R S A L A P P P L AT F O R M . . .

Languages• C++ /CX• C#, VB• JS• More

APIs• WinRT/UWP• Win32• .NET• Wiring

Deployment and Execution• APPX• Xcopy• App Isolation

UI Frameworks• HTML• Xaml• DirectX

Page 14: Hacking with the Raspberry Pi and Windows 10 IoT Core

A N D S O M E P R E T T Y C O O L D E V I C E S …

Page 15: Hacking with the Raspberry Pi and Windows 10 IoT Core

… A N D O P T I O N S T O G R O W / E X PA N DW

ind

ow

s 10 Io

T C

ore • UWP

• Headed or Headless

• Single user

• Single app

Win

do

ws

10 Io

T C

ore

Pro • Same as

IoT Core

• For OEMs & ODMs

• Defer updates

Win

do

ws

10 Io

T M

ob

ile • UWP

• Handheld

• Roles and identities

• Multiple apps

Win

do

ws

10 Io

T E

nte

rprise • UWP

• Win32

• Headed or Headless

• Roles and identities

• Multiple Win32 and UWP apps

Ad

ditio

nal

• .Net Micro Framework

• Windows Embedded Compact

Page 16: Hacking with the Raspberry Pi and Windows 10 IoT Core

U N I V E R S A L W I N D O W S P L AT F O R M ( U W P )

• One Operating System• One Windows core for all devices

• One App Platform• Apps run across every family

• One Dev Center• Single submission flow and dashboard

• http://dev.windows.com

• One Store • Global reach, local monetization

Consumers, Business & Education

Page 17: Hacking with the Raspberry Pi and Windows 10 IoT Core

W I N D O W S C O R E

• The refactored common core• One hardware platform

• Universal hardware driver

• Standard network and I/O

• 86% of all UWP APIs shared across all Windows 10 SKUs

PhoneDevice

IoTDevice

DesktopDevice

Windows Core

DesktopSKU

PhoneSKU

IoTSKU

Page 18: Hacking with the Raspberry Pi and Windows 10 IoT Core

Windows 10Operating System

Bridging technologies

Win32desktop

Webhosted

Obj.CiOS

Universal Windows Platform

WinJSC++& CX

.Netlanguages

HTMLDirectX

XAML

C++

.Netlanguages

MFCWFWPF

.Netruntime

Page 19: Hacking with the Raspberry Pi and Windows 10 IoT Core

I N S TA L L I N G W I N D O W S 1 0 O N A R A S P B E R R Y P I

• Watch Episode 5 of The Maker Show

• https://channel9.msdn.com/Shows/themakershow/5

• Full video walkthrough with Kenny Spade

Page 20: Hacking with the Raspberry Pi and Windows 10 IoT Core

DEMOSetting-up & ConfiguringWindows 10 IoT Core on Raspberry Pi

Page 21: Hacking with the Raspberry Pi and Windows 10 IoT Core

SPI: Higher speed, fewer available

I2C: Lower speed, more available

GPIO: DIY communication

E L E C T R I C A L E N G I N E E R I N G F O R S O F T W A R E E N G I N E E R S

Page 22: Hacking with the Raspberry Pi and Windows 10 IoT Core

R A S P B E R R Y P I 2 ( & 3 ) P I N M A P P I N G

Page 23: Hacking with the Raspberry Pi and Windows 10 IoT Core

G P I O

• 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

Page 24: Hacking with the Raspberry Pi and Windows 10 IoT Core

A N A L O G V S . D I G I TA L

• Computers understand digital signals

• Analog needs to be converted (ADC)

• Analog input covers voltage levels into a digital value within a defined range

• Digital is counted in fixed units, not measured.

• PWM – Pulse Width Modulation – to “fake”analog

• Serial Communication with Rx/Tx

Page 25: Hacking with the Raspberry Pi and Windows 10 IoT Core

L E D S

Long Leg Short Leg

Small Post Big Post

Flat Edge

Vcc (+) GND

Anode (+) Cathode (-)

Page 26: Hacking with the Raspberry Pi and Windows 10 IoT Core

B R E A D B O A R D S

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 give you easy ways to connect pins together

Page 27: Hacking with the Raspberry Pi and Windows 10 IoT Core

DEMO Hello World – Maker Edition

Page 28: Hacking with the Raspberry Pi and Windows 10 IoT Core

A B O U T T H E F E Z H AT

• On-Board Analog Input and PWM chips

• Two DC Motor Drivers, suitable for building small robots

• Terminal Blocks for wiring in DC motors without the need for soldering

• Two Servo Motor Connections

• Single Red LED

• Two Multi Color LEDs, connected to PWM for thousands of colors

• Light Sensor

• Accelerometer

• Temperature Sensor

• Two user buttons

• Terminal block with 2x Analog, 2x Digital I/O, 2x PWM and power

• Female headers with SPI, I2C, 3x Analog, 3x PWM

• Dedicated power input for driving the servo motors and DC motors

https://www.ghielectronics.com/catalog/product/500

Page 29: Hacking with the Raspberry Pi and Windows 10 IoT Core

DEMOHacking UWP Apps with the Raspberry PiFEZ HAT

https://www.ghielectronics.com/catalog/product/500

Page 30: Hacking with the Raspberry Pi and Windows 10 IoT Core

HOW DO I MAKE A CONNECTED GADGET?

What are the networking protocols andstandards that make this work?

Where should I save all the data I collect?

Page 31: Hacking with the Raspberry Pi and Windows 10 IoT Core

C O N N E C T I N G T H I N G S T O T H E C L O U D

Page 32: Hacking with the Raspberry Pi and Windows 10 IoT Core

M I C R O S O F T A Z U R E I O T S E R V I C E S

Devices Device Connectivity Storage Analytics Presentation & Action

Event Hub SQL DatabaseMachine Learning

App Service

IoT HubTable/Blob Storage

Stream Analytics Power BI

Service Bus DocumentDB HDInsightNotification Hubs

External Data Sources

3rd party Databases

Data Factory Mobile Services

Data Lake BizTalk Services

{ }

Page 33: Hacking with the Raspberry Pi and Windows 10 IoT Core

C U S T O M I Z E P R E - C O N F I G U R E D A Z U R E I O T S U I T E S O L U T I O N S

Finish with your Internet of Your Things solutionStart quickly with pre-configured solutions

Modify existing rules and alerts

Fine-tuned to specific assets and processes

Integrate with back-end systems

Highly visual for your real-time operational data

Get started in minutes

Add your devices and begin trailering to your needs

Page 34: Hacking with the Raspberry Pi and Windows 10 IoT Core

M I C R O S O F T A Z U R E I O T S U I T E C O M P O N E N T S

Azure IoT Suite

IoT Hub

Devices &

Gateways

Add-On Services

Event Hubs Worker role Storage blob

DocumentDB

Notification

Hubs

Web/Mobile App

Stream Analytics

Logic App

Azure

Active Directory

Azure Key Vault

BizTalk Services

Power BI

ASA Anomaly

Detection

Machine Learning

HDInsight

Advanced Analytics Services

Page 35: Hacking with the Raspberry Pi and Windows 10 IoT Core

RESOURCESHow do I get started? What should I buy? Any good tutorials out there?

Page 36: Hacking with the Raspberry Pi and Windows 10 IoT Core

T H E M A K E R S H O W

Weekly Channel 9 show makers, hackers, builders and disassemblers

Hands-on demos and know-how,by makers for makers

http://themakershow.io

Follow @TheMakerShow

Page 37: Hacking with the Raspberry Pi and Windows 10 IoT Core

W H E R E T O B U Y M A K E R S T U F F ?

• Sparkfun (www.sparkfun.com)

• Adafruit (www.adafruit.com)

• Maker Shed (www.makershed.com)

• Mouser Electronics (www.mouser.com)

• Netgate (www.netgate.com)

• Amazon (www.amazon.com)

• Radio Shack (www.radioshack.com) • The retail stores are perfect when you need parts urgently

Page 38: Hacking with the Raspberry Pi and Windows 10 IoT Core

M A K E M A G A Z I N E

• Makezine.com

• Print & Digital

Page 39: Hacking with the Raspberry Pi and Windows 10 IoT Core

www.windowsondevices.com

2 5 0 + M A K E R P R O J E C T S T O T R Y O U T

Page 40: Hacking with the Raspberry Pi and Windows 10 IoT Core

M A K E R R E S O U R C E S

• MS IoT GitHub (https://github.com/ms-iot/samples)

• Hackster (https://microsoft.hackster.io)

• HackADay (www.hackaday.com)

• Instructables (www.instructables.com)

• CreativeApplications (www.creativeapplications.net)

• Watch Episode 0 of The Maker Show:”Meet Your Makers”

• http://themakershow.io

Page 41: Hacking with the Raspberry Pi and Windows 10 IoT Core

M A K E R C O M M U N I T I E S

• Reddit• https://www.reddit.com/r/maker

• https://www.reddit.com/r/DIY

• Stack Exchange – Electronics• http://electronics.stackexchange.com

Page 42: Hacking with the Raspberry Pi and Windows 10 IoT Core

M A K E R B O O K S ?

Maker Media (O’Reilly)http://shop.oreilly.com/category/publishers/make.do

Packt Publishinghttps://www.packtpub.com/hardware-and-creative

Page 43: Hacking with the Raspberry Pi and Windows 10 IoT Core

A R D U I N O P R O J E C T H A N D B O O K

• https://arduinohandbook.wordpress.com

Page 44: Hacking with the Raspberry Pi and Windows 10 IoT Core

F R I T Z I N G : E L E C T R O N I C D I A G R A M M I N G

• http://fritzing.org

• Open-source hardware initiative that makes electronics accessible as a creative material for anyone• Software tool

• Community website

• Services

• Foster a creative ecosystem

• Allow user to document their prototypes & share with others

• Teach electronics in classrooms

• Layout and manufacture professional pcbs

Page 45: Hacking with the Raspberry Pi and Windows 10 IoT Core

M I C R O S O F T V I R T U A L A C A D E M Y

• Programming Robotic Systems with Visual Studio• With Chris Howd & Paul Pardi, Microsoft

• Course Outline• 01 | Embedded Systems, Robotics, and this MVA Training Series• 02 | Getting Started with Arduino• 03 | Creating Your First Arduino Robot• 04 | Controlling a Robotic Arm • 05 | Integrating Advanced Sensors and Shields• 06 | Mapping Areas and Detecting Objects• 07 | Integrating Wireless Control and Communication• 08 | Looking Ahead

• http://www.microsoftvirtualacademy.com/training-courses/programming-robotic-systems-with-visual-studio

Page 46: Hacking with the Raspberry Pi and Windows 10 IoT Core

M I C R O S O F T D X I O T R E S O U R C E L I N K S

• Bret Stateham• https://github.com/bretstateham/iot

• Jeremy Foster: Intel Edison• http://codefoster.com/edison

• Stacey Mulcahy• http://thebitchwhocodes.com/blog

• Paul de Carlo• http://pjdecarlo.com

• Nick Landry• http://AgeofMobility.com

Page 47: Hacking with the Raspberry Pi and Windows 10 IoT Core

I O T PA N E L AT T H I N G S E X P O 2 0 1 4

• Microsoft, IBM, Kaazing, Xively/LogMeIn & Aria

• http://aka.ms/iotpanel2014

Page 48: Hacking with the Raspberry Pi and Windows 10 IoT Core

HAVE FUN!Go build something…

Page 49: Hacking with the Raspberry Pi and Windows 10 IoT Core

P L E A S E H A C K S A F E L Y !

Page 50: Hacking with the Raspberry Pi and Windows 10 IoT Core

T H A N K Y O U !

Slides are posted on Slideshare. Demos are on GitHub.Please fill out an evaluation. Your feedback is important and appreciated.

Slideshare: www.slideshare.net/ActiveNick

Blog: www.AgeofMobility.com

Twitter: @ActiveNick

Mobile Apps: www.bigbaldapps.com

LinkedIn: www.linkedin.com/in/activenick

GitHub: github.com/ActiveNick

Email: [email protected]