Building IoT Devices

请点击以下链接下载WinHEC的演讲材料
Download WinHEC presentations here:
http://channel9.msdn.com/Events/WinHEC/2015
Converged
OS kernel
Converged
app model
Windows 10
Porting Tools
Windows 10
“Athens”
Enterprise-grade
security
One universal app
and driver platform
Advanced
Customization and
lockdown
capabilities
One management
and deployment
approach
Continued
innovation and
support
Local
connectivity
Connected
One Windows core
scalable across
devices
Secure
Windows 10
“Mobile”
One Windows Platform
Windows 10
“Industry”
Cloud
connectivity
Device
services
Windows 10 IoT Editions
Requires desktop or desktop apps–
Win32, .NET, WPF, etc. ?
Windows Industry
Desktop Shell, Win32 apps
1 GB RAM, 16 GB Storage
Requires a Shell experience, multiple
applications, Windows first-party
applications, or mobile voice?
Windows Mobile
Modern Shell
Mobile Chassis requirement
512 MB RAM, 4 GB storage
Windows “Device Services”
• On all Windows IoT clients
• Extends value of Windows Services to
OEMs
• High value scenarios
-Auditing, updating, telemetry, flighting
Otherwise
Windows ”Athens”
Dedicated devices
No Shell/Store/MS Apps
256MB RAM, 2GB storage
Universal Apps
Windows 10
“Athens”
Enterprise-grade
security
One universal app
and driver platform
Advanced
Customization and
lockdown
capabilities
One management
and deployment
approach
Continued
innovation and
support
Local
connectivity
Connected
One Windows core
scalable across
devices
Secure
Windows 10
“Mobile”
One Windows Platform
Windows 10
“Industry”
Cloud
connectivity
Device
services
•
•
Write ONE Universal Driver and target all Windows 10 editions - Converged device areas/APIs
Scale and get higher ROI by selling same components to all Windows 10 editions
WDF
Audio
Bluetooth
Buses (USB, SPB)
HID(Retail), Buttons
Camera
Graphics & Display
Location
Networking - Wired
Networking - WLAN
Security - Biometrics
Security - Crypto
Security - Smartcard
Security - TPM
NFC
Sensors
Thermal
Touch
UEFI
Video
Download
Visual
Studio &
WDK
Build and
Debug
Universal
Driver on PC
Test Driver
using WDK
Test
• Universal Driver samples & templates
Validate on
dev board
Submit for
signing
If you are using
Actions to take
Why
Inbox/Class drivers
• Just works! core device types Storage, At no cost, your device can
mouse, keyboard, touch, video,…
connect to large ecosystem of
peripherals
Kernel Mode drivers
• High backwards compatibility for
converged device areas
• Make minimal changes and test
User Mode drivers and
services
• Be aware that Windows Universal
Your driver runs on more
Platform Win32 API surface is smaller editions
than desktop Windows
• Use replacement APIs where available
• Re-design/re-implementation if APIs
are not available and test
Your driver runs on more
editions
•
•
Converged APIs, write ONE Universal App and target all Windows 10 editions
Scale and get higher ROI by selling same App to all Windows 10 editions
Languages
• C++ /CX
• C#, VB
• JS
• Python
• Node.js
UI Frameworks
• HTML
• Xaml
• DirectX
APIs
• WinRT
• Win32
• .NET
• Wiring
Deployment and
Execution
• APPX
• Xcopy
• App Isolation
Tools
• Visual Studio
• PowerShell
Easily Build Retail Line of Business Solutions
Retail Peripherals Supported Inbox
•
APIs in Windows 10 SDK and DDK
•
Adapted from UnifiedPOS standard
•
3rd provided
libraries
“Embedded” Mode
• Extend UAP to IoT
capabilities on all Windows
10 editions
APIs to access busses
• GPIO, I2C, SPI and easy
access to custom hardware
Access to system
settings
• APIs to change system
settings such as power state,
radio control and Bluetooth.
Background Services
for long running tasks
• Full control for your device,
free of standard Process
Lifecycle Management
Porting Legacy Apps/Drivers to Athens
If you are using
Instead use
(not supported on Athens)
Graphic User Interface
GDI, MFC, WinForms, WPF
XAML, DirectX, HTML
App logic and code
Win32/Native
Win32/Native in OneCore.lib
.NET libraries
.NET libraries supported in UAP
(subset of Desktop API surface)
(subset of Desktop .NET APIs)
Configure OS to create your device experience
Image Configuration Designer (ICD) making it easier for OEM partners to create industry devices
Industry
Mobile
wim / ffu
Image Configuration Designer
Athens
One tool for all your OS configuration needs
No activation Issues with Windows 10
No activation for “Mobile” and “Athens”
Industry activation works both online and offline


3rd Party MDM
OMA
DM
SC Config Man
Many different devices on Windows IoT platforms; One device management surface for all
“Industry”
One Windows
Platform
• Converged MDM Stack
• Converged Servicing Stack
• Common CSPs
Windows 10 Device Management
Windows 10
“Athens”
Enterprise-grade
security
One universal app
and driver platform
Advanced
Customization and
lockdown
capabilities
One management
and deployment
approach
Continued
innovation and
support
Local
connectivity
Connected
One Windows core
scalable across
devices
Secure
Windows 10
“Mobile”
One Windows Platform
Windows 10
“Industry”
Cloud
connectivity
Device
services
Windows 10 Lockdown
Consistent and predictable device lockdown across form factors
Advanced lockdown capabilities provide
IoT devices with an extra layer of security
as well as a predictable device experience.
Customize Device Experience Based on Roles
Identity
Malware
Data
Protection
IoT devices with hardware and firmware Trusted Platform Modules (TPMs )
Secure Boot
Measured Boot
device encryption
authenticity
secure key storage
Windows 10
“Athens”
Enterprise-grade
security
One universal app
and driver platform
Advanced
Customization and
lockdown
capabilities
One management
and deployment
approach
Continued
innovation and
support
Local
connectivity
Connected
One Windows core
scalable across
devices
Secure
Windows 10
“Mobile”
One Windows Platform
Windows 10
“Industry”
Cloud
connectivity
Device
services
Mobile Broadband
Wi-Fi
• USB class driver supported
• Cell core stack supported
• No voice support
• Core Wi-Fi capabilities
Bluetooth/BLE
Connection
Management
• Connection prioritization
MBB, Wi-Fi, & LAN
Discovery
I can send notifications
I can send notifications.
I have a clock interface
I display notifications.
I have the clock
interface!
Security
Management
Your Devices Work Together
Interoperability
Across Protocol and Ecosystem Barriers
Open Source
Cross Platform
I display notifications.
I have the clock interface!
I can send and display
notifications
72°
I display notifications.
I have the clock
interface!
120
80
I can send notifications
I have lighting interface
Join the AllSeen Alliance / Get Involved
Integrate AllJoyn into your devices and roadmaps
Build Windows 10-based AllJoyn products in UAP
• Build user-facing applications as AllJoyn Consumers
• Build Windows IoT products with AllJoyn Consumers and AllJoyn Producers
Certify your devices ‘Designed for AllSeen’
Attend a hands on IoT lab
Give us direct feedback
扫一扫,通过微信关注WinHEC
(c) 2015 Microsoft Corporation. All rights reserved. This document is provided "as-is." Information and views
expressed in this document, including URL and other Internet Web site references, may change without notice. You
bear the risk of using it. This document does not provide you with any legal rights to any intellectual property in any
Microsoft product. You may copy and use this document for your internal, reference purposes.
Some information relates to pre-released product which may be substantially modified before it’s commercially
released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
<settings>
<int name="UpdatePolicy_AllowAutoUpdate"
cspPath="./Vendor/MSFT/Policy/Update/UpdatePolicy_AllowAutoUpdate">
<apply atRuntime="true" />
<value>true</value>
</int>
<string name="UpdatePolicy_ScheduledInstallDay"
cspPath="./Vendor/MSFT/Policy/Update/UpdatePolicy_ScheduledInstallDay">
<apply atRuntime="true" />
<value>Tuesday</value>
</string>
<string name="UpdatePolicy_ScheduledInstallTime"
cspPath="./Vendor/MSFT/Policy/Update/UpdatePolicy_ScheduledInstallTime">
<apply atRuntime="true" />
<value>22:00:00</value>
</string>
<string name="UpdatePolicy_UpdateServiceURL"
cspPath="./Vendor/MSFT/Policy/Update/UpdatePolicy_UpdateServiceURL ">
<apply atRuntime="true" />
<value>http://www.contoso.com/WSUSServer</value>
</string>
</settings>
How and when to
Download, install
and reboot
Maintenance
Window
How and when to Download,
install and reboot
Maintenance
Window
How and when to Download, install and reboot
Set to 0 = notify before download
Set to 1 = auto install and notify for restart
Set to 2 = auto install and restart
Set to 3 = auto install and restart at IT-specified time
Set to 4 = auto install and restart but suppress end-user notification.
(c) 2015 Microsoft Corporation. All rights reserved. This document is provided "as-is." Information and views
expressed in this document, including URL and other Internet Web site references, may change without notice. You
bear the risk of using it. This document does not provide you with any legal rights to any intellectual property in any
Microsoft product. You may copy and use this document for your internal, reference purposes.
Some information relates to pre-released product which may be substantially modified before it’s commercially
released. Microsoft makes no warranties, express or implied, with respect to the information provided here.