HACKING WITH THE RASPBERRY PI AND WINDOWS 10 IOT CORE B 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 Landry Senior Technical Evangelist - Microsoft AgeofMobility.com github.com/ActiveNick @ActiveNick
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
DOWNLOAD THE SLIDES AND DEMOS http://slideshare.net/ActiveNick https://github.com/ActiveNick
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
T H I N G S A R E T H E N E W A P P S !
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
H A R D W A R E C H O I C E S
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 years of manufacture, technically the largest 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
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 Tablet Classic Laptop Xbox IoT Surface Hub Holographic
T U N E D T O E A C H F O R M FA C T O R … One Core OS Base OS App and Device platform Runtimes and frameworks Windows for … Form factor–appropriate shell experience Device-specific scenario support Windows for phones Familiar 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 . . . 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
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 DWindows10IoTCore • UWP • Headed or Headless • Single user • Single app Windows10IoTCorePro • Same as IoT Core • For OEMs & ODMs • Defer updates Windows10IoTMobile • UWP • Handheld • Roles and identities • Multiple apps Windows10IoTEnterprise • UWP • Win32 • Headed or Headless • Roles and identities • Multiple Win32 and UWP apps Additional • .Net Micro Framework • Windows Embedded Compact
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
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 Desktop Device Windows Core Desktop SKU Phone SKU IoT SKU
Windows 10 Operating System Bridging technologies Win32 desktop Web hosted Obj.C iOS Universal Windows Platform WinJSC++ & CX .Net languages HTML DirectX XAML C++ .Net languages MFCWFWPF .Net runtime
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
DEMO Setting-up & Configuring Windows 10 IoT Core on Raspberry Pi
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
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
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
L E D S Long Leg Short Leg Small Post Big Post Flat Edge Vcc (+) GND Anode (+) Cathode (-)
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
DEMO Hello World – Maker Edition
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
DEMO Hacking UWP Apps with the Raspberry Pi FEZ HAT https://www.ghielectronics.com/catalog/product/500
HOW DO I MAKE A CONNECTED GADGET? What are the networking protocols and standards that make this work? Where should I save all the data I collect?
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
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 Database Machine Learning App Service IoT Hub Table/Blob Storage Stream Analytics Power BI Service Bus DocumentDB HDInsight Notification Hubs External Data Sources 3rd party Databases Data Factory Mobile Services Data Lake BizTalk Services { }
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
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
RESOURCES How do I get started? What should I buy? Any good tutorials out there?
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
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
M A K E M A G A Z I N E • Makezine.com • Print & Digital
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
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
M A K E R B O O K S ? Maker Media (O’Reilly) http://shop.oreilly.com/category/publishers/make.do Packt Publishing https://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
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
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
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…
P L E A S E H A C K S A F E LY !
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: nick.landry@microsoft.com

Hacking with the Raspberry Pi and Windows 10 IoT Core

  • 1.
    HACKING WITH THE RASPBERRYPI AND WINDOWS 10 IOT CORE B 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 Landry Senior Technical Evangelist - Microsoft AgeofMobility.com github.com/ActiveNick @ActiveNick
  • 2.
    A G EN 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
  • 3.
    DOWNLOAD THE SLIDES ANDDEMOS http://slideshare.net/ActiveNick https://github.com/ActiveNick
  • 4.
    E X PL 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
  • 5.
    T H IN G S A R E T H E N E W A P P S !
  • 6.
    W H ATI S T H E I N T E R N E T O F T H I N G S ? Connectivity Data AnalyticsThings
  • 7.
    H A RD W A R E C H O I C E S
  • 8.
    R A SP 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 years of manufacture, technically the largest computer manufacturer in UK!
  • 9.
    N E WW 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
  • 10.
    T H EJ 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
  • 11.
    O N AF 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 Tablet Classic Laptop Xbox IoT Surface Hub Holographic
  • 12.
    T U NE D T O E A C H F O R M FA C T O R … One Core OS Base OS App and Device platform Runtimes and frameworks Windows for … Form factor–appropriate shell experience Device-specific scenario support Windows for phones Familiar 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
  • 13.
    W I TH 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
  • 14.
    A N DS O M E P R E T T Y C O O L D E V I C E S …
  • 15.
    … A ND O P T I O N S T O G R O W / E X PA N DWindows10IoTCore • UWP • Headed or Headless • Single user • Single app Windows10IoTCorePro • Same as IoT Core • For OEMs & ODMs • Defer updates Windows10IoTMobile • UWP • Handheld • Roles and identities • Multiple apps Windows10IoTEnterprise • UWP • Win32 • Headed or Headless • Roles and identities • Multiple Win32 and UWP apps Additional • .Net Micro Framework • Windows Embedded Compact
  • 16.
    U N IV 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
  • 17.
    W I ND 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 Desktop Device Windows Core Desktop SKU Phone SKU IoT SKU
  • 18.
    Windows 10 Operating System Bridgingtechnologies Win32 desktop Web hosted Obj.C iOS Universal Windows Platform WinJSC++ & CX .Net languages HTML DirectX XAML C++ .Net languages MFCWFWPF .Net runtime
  • 19.
    I N STA 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
  • 20.
    DEMO Setting-up & Configuring Windows10 IoT Core on Raspberry Pi
  • 21.
    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
  • 22.
    R A SP B E R R Y P I 2 ( & 3 ) P I N M A P P I N G
  • 23.
    G P IO • 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
  • 24.
    A N AL 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
  • 25.
    L E DS Long Leg Short Leg Small Post Big Post Flat Edge Vcc (+) GND Anode (+) Cathode (-)
  • 26.
    B R EA 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
  • 27.
    DEMO Hello World– Maker Edition
  • 28.
    A B OU 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
  • 29.
    DEMO Hacking UWP Appswith the Raspberry Pi FEZ HAT https://www.ghielectronics.com/catalog/product/500
  • 30.
    HOW DO IMAKE A CONNECTED GADGET? What are the networking protocols and standards that make this work? Where should I save all the data I collect?
  • 31.
    C O NN E C T I N G T H I N G S T O T H E C L O U D
  • 32.
    M I CR 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 Database Machine Learning App Service IoT Hub Table/Blob Storage Stream Analytics Power BI Service Bus DocumentDB HDInsight Notification Hubs External Data Sources 3rd party Databases Data Factory Mobile Services Data Lake BizTalk Services { }
  • 33.
    C U ST 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
  • 34.
    M I CR 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
  • 35.
    RESOURCES How do Iget started? What should I buy? Any good tutorials out there?
  • 36.
    T H EM 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
  • 37.
    W H ER 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
  • 38.
    M A KE M A G A Z I N E • Makezine.com • Print & Digital
  • 39.
    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
  • 40.
    M A KE 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
  • 41.
    M A KE 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
  • 42.
    M A KE R B O O K S ? Maker Media (O’Reilly) http://shop.oreilly.com/category/publishers/make.do Packt Publishing https://www.packtpub.com/hardware-and-creative
  • 43.
    A R DU I N O P R O J E C T H A N D B O O K • https://arduinohandbook.wordpress.com
  • 44.
    F R IT 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
  • 45.
    M I CR 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
  • 46.
    M I CR 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
  • 47.
    I O TPA 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
  • 48.
    HAVE FUN! Go buildsomething…
  • 49.
    P L EA S E H A C K S A F E LY !
  • 50.
    T H AN 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: nick.landry@microsoft.com