Upload
nick-landry
View
1.283
Download
1
Embed Size (px)
Citation preview
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
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 DEMOShttp://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 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!
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 …
IoTHoloLens
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 Tablet2-in-1s
(Tablet or Laptop)Desktops
& All-in-OnesPhablet Large TabletClassic Laptop
XboxIoT
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 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
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 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
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
PhoneDevice
IoTDevice
DesktopDevice
Windows Core
DesktopSKU
PhoneSKU
IoTSKU
Windows 10Operating System
Bridging technologies
Win32desktop
Webhosted
Obj.CiOS
Universal Windows Platform
WinJSC++& CX
.Netlanguages
HTMLDirectX
XAML
C++
.Netlanguages
MFCWFWPF
.Netruntime
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
DEMOSetting-up & ConfiguringWindows 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
DEMOHacking UWP Apps with the Raspberry PiFEZ HAT
https://www.ghielectronics.com/catalog/product/500
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?
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 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
{ }
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
RESOURCESHow 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 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
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 L Y !
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]