Windows for Makers: Raspberry Pi, Arduino & IoT

25
Visual Studio Live! Redmond 2016 W03 - Windows for Makers: Raspberry Pi, Arduino & IoT - Nick Landry Windows for Makers: Raspberry Pi, Arduino & IoT Nick Landry Senior Technical Evangelist - Microsoft AgeofMobility.com github.com/ActiveNick @ActiveNick AGENDA Quick Recap on the Internet of Things (IoT) Quick Recap on Universal Windows Platform (UWP) Electronics Fundamentals for Software Engineers Live demos: Windows 10 IoT Core on Raspberry Pi Tons of resource links to get you started Questions

Transcript of Windows for Makers: Raspberry Pi, Arduino & IoT

Page 1: Windows for Makers: Raspberry Pi, Arduino & IoT

Visual Studio Live! Redmond 2016

W03 - Windows for Makers: Raspberry Pi, Arduino & IoT - Nick Landry

Windows for Makers:

Raspberry Pi, Arduino & IoT

Nick Landry

Senior Technical Evangelist - Microsoft

AgeofMobility.com

github.com/ActiveNick

@ActiveNick

AGENDA

• Quick Recap on the Internet of Things (IoT)

• Quick Recap on Universal Windows Platform (UWP)

• Electronics Fundamentals for Software Engineers

• Live demos: Windows 10 IoT Core on Raspberry Pi

• Tons of resource links to get you started

• Questions

Page 2: Windows for Makers: Raspberry Pi, Arduino & IoT

Visual Studio Live! Redmond 2016

W03 - Windows for Makers: Raspberry Pi, Arduino & IoT - Nick Landry

IOT MARKET RECAPWhy should you care about all of this?

I O T 2 0 1 0

Page 3: Windows for Makers: Raspberry Pi, Arduino & IoT

Visual Studio Live! Redmond 2016

W03 - Windows for Makers: Raspberry Pi, Arduino & IoT - Nick Landry

I O T 2 0 1 6

I O T M A R K E T G R O W T H

Explosion in Devices and Data

1 ISS Connected Device Market Sizing. Analyst estimates range from 22-75B connected devices by 2020.2 Digital Universe Forecast. IDC, April 2014

Worldwide Connected Devices Worldwide Data Created

Page 4: Windows for Makers: Raspberry Pi, Arduino & IoT

Visual Studio Live! Redmond 2016

W03 - Windows for Makers: Raspberry Pi, Arduino & IoT - Nick Landry

1970 1980 1990 2000 2010

10,000,000,000

1,000,000,000

100,000,000

10,000,000

1,000,000

100,000

10,000

1,000

Transistors

Moore’s LawMoore’s LawMoore’s LawMoore’s Law Metcalf‘s LawMetcalf‘s LawMetcalf‘s LawMetcalf‘s Law

D I S R U P T I V E F O R C E S

And more importantly: What can you do by combining and analyzing signals from all of these IoT devices?

Koomey’sKoomey’sKoomey’sKoomey’s LawLawLawLaw

1.E+14

1.E+12

1.E+10

1.E+08

1.E+06

1.E+04

1.E+02

1.E+00

Computations per KWh

1940 20101975

I O T I S T H E N E X T R E V O L U T I O N

Connectivity is Pervasive

Development is Easy

Hardware is Cheap

New Innovative Scenarios

Page 5: Windows for Makers: Raspberry Pi, Arduino & IoT

Visual Studio Live! Redmond 2016

W03 - Windows for Makers: Raspberry Pi, Arduino & IoT - Nick Landry

M I C R O S O F T I OT

Comprehensive solutions from device to cloud

IoT Editions Power IoT Editions Power IoT Editions Power IoT Editions Power a Broad Range of Devicesa Broad Range of Devicesa Broad Range of Devicesa Broad Range of Devices

25 years of history in embedded devices

One Windows platform for all devices

Enterprise-ready, OEM-ready, Maker-friendly

Designed for today’s IoT environments

Scalable solutions from free Windows IoT Core to

Windows IoT Enterprise on PC-Like Devices

CloudCloudCloudCloud----Based IoT Services & SolutionsBased IoT Services & SolutionsBased IoT Services & SolutionsBased IoT Services & Solutions

Easy to provision, use and manage

Pay as you go, scale as you need

Global reach, hyper scale

End-to-end security & privacy

Windows, Mbed, Linux, iOS, Android, RTOS support

Azure IoT

A Z U R E I O T S U I T E

Business Business Business Business ProcessProcessProcessProcess

ERP/CRMEvent Hub

Storage Blobs DocumentDB

Web App

Stream Analytics Logic Apps

Azure

Active Directory

IoT Hub Web Jobs

DevicesDevicesDevicesDevicesAzure IoT SDK (OSS)

Linux, RTOS, mBed, Windows, Android, iOS

Page 6: Windows for Makers: Raspberry Pi, Arduino & IoT

Visual Studio Live! Redmond 2016

W03 - Windows for Makers: Raspberry Pi, Arduino & IoT - Nick Landry

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 Debian

called 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!

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 7: Windows for Makers: Raspberry Pi, Arduino & IoT

Visual Studio Live! Redmond 2016

W03 - Windows for Makers: Raspberry Pi, Arduino & IoT - Nick Landry

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

IoT

HoloLens

Surface Hub

Windows Desktop

Windows Phone

Xbox

ONE CORE OS

ONE APP PLATFORM

ONE STOREWindows 10

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 Tablet

2-in-1s

(Tablet or Laptop)Desktops

& All-in-OnesPhablet Large TabletClassic

Laptop

Xbox

IoT

Surface Hub

Holographic

Page 8: Windows for Makers: Raspberry Pi, Arduino & IoT

Visual Studio Live! Redmond 2016

W03 - Windows for Makers: Raspberry Pi, Arduino & IoT - Nick Landry

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

One Core OS

Base OS

App and Device platform

Runtimes and frameworks

Windows

for …

Form factor–appropriateshell experience

Device-specific scenario support

Windows

for phonesFamiliar mobile shell

Rich telephony

Windows phone app compatibility

Windows

for PCs

Familiar desktop shell

Broad hardware ecosystem

Windows desktop application compatibility

Windows

on Xbox

10’ shell experience

Shared gaming experiences

Xbox One

game and app compatibility

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

LanguagesLanguagesLanguagesLanguages

• C++ /CX

• C#, VB

• JS

• More

APIsAPIsAPIsAPIs

• WinRT/UWP

• Win32

• .NET

• Wiring

Deployment and Deployment and Deployment and Deployment and ExecutionExecutionExecutionExecution

• APPX

• Xcopy

• App Isolation

UI FrameworksUI FrameworksUI FrameworksUI Frameworks

• HTML

• Xaml

• DirectX

Page 9: Windows for Makers: Raspberry Pi, Arduino & IoT

Visual Studio Live! Redmond 2016

W03 - Windows for Makers: Raspberry Pi, Arduino & IoT - Nick Landry

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

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

Windows 10 IoT Core • UWP

• Headed or

Headless

• Single user

• Single app

Windows 10 IoT Core Pro • Same as

IoT Core

• For OEMs

& ODMs

• Defer

updates

Windows 10 IoT M

obile

• UWP

• Handheld

• Roles and

identities

• Multiple apps

Windows 10 IoT Enterprise • UWP

• Win32

• Headed or

Headless

• Roles and

identities

• Multiple Win32 and

UWP apps

Additional

• .Net Micro

Framework

• Windows

Embedded

Compact

Page 10: Windows for Makers: Raspberry Pi, Arduino & IoT

Visual Studio Live! Redmond 2016

W03 - Windows for Makers: Raspberry Pi, Arduino & IoT - Nick Landry

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

( UWP )

• 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

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

Phone

Device

IoT

Device

DesktopDevice

Windows Core

DesktopSKU

PhoneSKU

IoTSKU

Page 11: Windows for Makers: Raspberry Pi, Arduino & IoT

Visual Studio Live! Redmond 2016

W03 - Windows for Makers: Raspberry Pi, Arduino & IoT - Nick Landry

Windows 10

Operating System / Kernel

Bridging technologies

Win32

Desktop

aka

“Centennial”

Web

Hosted

aka

“Westminster”

Obj.CiOS

aka

“Islandwood”

Universal Windows Platform

WinJSC++

& CX

.Net

languages

HTML

DirectX

XAML

C++

.Net

languages

MFCWFWPF

.Net

runtime

Win32

W I N D O W S 1 0 I O T C O R E

App owns the whole user interface. Optimized for embedded use.

Deployment and debugging in Visual Studio.

Development-time management through web site, PowerShell, SSH, and more.

Page 12: Windows for Makers: Raspberry Pi, Arduino & IoT

Visual Studio Live! Redmond 2016

W03 - Windows for Makers: Raspberry Pi, Arduino & IoT - Nick Landry

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 13: Windows for Makers: Raspberry Pi, Arduino & IoT

Visual Studio Live! Redmond 2016

W03 - Windows for Makers: Raspberry Pi, Arduino & IoT - Nick Landry

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

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

Page 14: Windows for Makers: Raspberry Pi, Arduino & IoT

Visual Studio Live! Redmond 2016

W03 - Windows for Makers: Raspberry Pi, Arduino & IoT - Nick Landry

DEMOHello World Hello World Hello World Hello World –––– Maker Edition withMaker Edition withMaker Edition withMaker Edition with

Windows 10 IoT CoreWindows 10 IoT CoreWindows 10 IoT CoreWindows 10 IoT Core

D E M O S E T U P

Direct wired Ethernet

for Deploy/DebugWiFi for cloud

connectivity to Azure (optional)

Page 15: Windows for Makers: Raspberry Pi, Arduino & IoT

Visual Studio Live! Redmond 2016

W03 - Windows for Makers: Raspberry Pi, Arduino & IoT - Nick Landry

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

DEMOHacking UWP Apps with the Raspberry PiHacking UWP Apps with the Raspberry PiHacking UWP Apps with the Raspberry PiHacking UWP Apps with the Raspberry Piand the FEZ HAT from GHI Electronicsand the FEZ HAT from GHI Electronicsand the FEZ HAT from GHI Electronicsand the FEZ HAT from GHI Electronics

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

Page 16: Windows for Makers: Raspberry Pi, Arduino & IoT

Visual Studio Live! Redmond 2016

W03 - Windows for Makers: Raspberry Pi, Arduino & IoT - Nick Landry

A R D U I N O A N D W I N D O W S 1 0

• Arduino and Windows 10 work together to help you make amazing projects

• Support for Arduino Uno and Mega, as well as the new Arduino 101

• https://developer.microsoft.com/en-us/windows/iot/win10/arduinoandwindows10

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

Page 17: Windows for Makers: Raspberry Pi, Arduino & IoT

Visual Studio Live! Redmond 2016

W03 - Windows for Makers: Raspberry Pi, Arduino & IoT - Nick Landry

B U I L D I O T L A B M O D U L E S

(concurrent with Module 3)

(concurrent with Module 2)

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 18: Windows for Makers: Raspberry Pi, Arduino & IoT

Visual Studio Live! Redmond 2016

W03 - Windows for Makers: Raspberry Pi, Arduino & IoT - Nick Landry

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

A Z U R E I O T S TA R T E R K I T S

http://azure.com/iotstarterkits

Page 19: Windows for Makers: Raspberry Pi, Arduino & IoT

Visual Studio Live! Redmond 2016

W03 - Windows for Makers: Raspberry Pi, Arduino & IoT - Nick Landry

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

• Makezine.com

• Print & Digital

www.windowsondevices.com

Projects powered by hackster.io https://microsoft.hackster.io

Check out the MS IoT GitHub for

more Windows IoT Core samples:https://github.com/ms-iot/samples

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 20: Windows for Makers: Raspberry Pi, Arduino & IoT

Visual Studio Live! Redmond 2016

W03 - Windows for Makers: Raspberry Pi, Arduino & IoT - Nick Landry

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

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 21: Windows for Makers: Raspberry Pi, Arduino & IoT

Visual Studio Live! Redmond 2016

W03 - Windows for Makers: Raspberry Pi, Arduino & IoT - Nick Landry

M A K E R B O O K S ?

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

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

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 22: Windows for Makers: Raspberry Pi, Arduino & IoT

Visual Studio Live! Redmond 2016

W03 - Windows for Makers: Raspberry Pi, Arduino & IoT - Nick Landry

F R I T Z ING : 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

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

• Getting Started with the Internet of Things (IoT)• With Pete Brown, Tony Goodhew, Mat Velleso – Microsoft

• Course Outline

• 01 | Introduction to IoT• 02 | Windows 10 and Universal Windows Platform Apps• 03 | Introduction to Windows 10 IoT Core• 04 | Introduction to Azure Services for IoT • 05 | Azure IoT Hub and Device Communications• 06 | Running Arduino Wiring Code on Windows 10 IoT Core• 07 | Creating Node.js Apps for Windows 10 IoT Core• 08 | Windows Remote Arduino and Virtual Shields

• https://mva.microsoft.com/en-US/training-courses/getting-started-with-the-internet-of-things-iot-16170

Page 23: Windows for Makers: Raspberry Pi, Arduino & IoT

Visual Studio Live! Redmond 2016

W03 - Windows for Makers: Raspberry Pi, Arduino & IoT - Nick Landry

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

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 24: Windows for Makers: Raspberry Pi, Arduino & IoT

Visual Studio Live! Redmond 2016

W03 - Windows for Makers: Raspberry Pi, Arduino & IoT - Nick Landry

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

HAVE FUN!Go build something…

Page 25: Windows for Makers: Raspberry Pi, Arduino & IoT

Visual Studio Live! Redmond 2016

W03 - Windows for Makers: Raspberry Pi, Arduino & IoT - Nick Landry

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

T H A N K Y O U !

Slides are posted in the conference repository. Demos are on GitHub.Please fill out an evaluation. Your feedback is important and appreciated.

Slideshare:Slideshare:Slideshare:Slideshare: www.slideshare.net/ActiveNick

BlogBlogBlogBlog:::: www.AgeofMobility.com

Twitter:Twitter:Twitter:Twitter: @ActiveNick

Mobile Apps: Mobile Apps: Mobile Apps: Mobile Apps: www.bigbaldapps.com

LinkedIn: LinkedIn: LinkedIn: LinkedIn: www.linkedin.com/in/activenick

GitHubGitHubGitHubGitHub: : : : github.com/ActiveNick

Email: Email: Email: Email: [email protected]