How to Troubleshoot Apps for the Modern Connected Worker
Windows 10 IoT Core
1. Windows 10 IoT Core
Blair Leduc
Speaking at
Canada's Technology Triangle .NET User Group
December 9, 2015
2. About me
•My name is Blair Leduc
•I work with the fine folks at ObjectSharp
•I do everything that is furthest away from IoT
•I was trained as a Computer Engineer
•Fiddling around with electronics is my hobby
3. What is the Internet of Things?
The Internet of Things (IoT) is
the network of physical
objects or "things" embedded
with electronics, software,
sensors, and network
connectivity, which enables
these objects to collect and
exchange data.
-Wikipedia
4. What is Windows 10 IoT Core?
• A version of Windows 10 that is optimized for smaller
devices with or without a display
• Utilizes the rich, extensible Universal Windows
Platform (UWP) API for building solutions
• Available for ARM and x86 (400Mhz or faster)
• 2GB Storage
• Headless: 256MB RAM (128MB to OS)
• Headed: 512MB RAM (256MB to OS)
5. Raspberry Pi 2
Price $35 USD
Processor 0.9 GHz Broadcom BCM2836
Quad-Core ARMv7
Cortex-A7 (32-bit)
GPU VideoCore IV (250 MHz)
RAM 1 GB
Video HDMI
Audio Analog (3.5 mm), HDMI
Storage MicroSD
USB 4 USB 2.0
Connectivity 10/100 Ethernet
I/O Interfaces UART, SPI, I2C, GPIOx13 (PWMx1)
I/O Power 3.3V
Power Requirements 5V@1.8A
6. DragonBoard 410c
Price $75 USD
Processor 1.2 GHz Snapdragon 410
Quad-Core ARMv8
Cortex-A53 (64-bit)
GPU Ardreno 306 (450 Mhz)
RAM 1 GB
Video HDMI
Audio HDMI, Bluetooth
Storage MicroSD, 8 GB eMMC
USB 2 USB 2.0
Connectivity WLAN 802.11a/b/g/n 2.4 GHz,
Bluetooth 4.1, GPS
I/O Interfaces UARTx2, SPI, I2Cx2, GPIOx12
I/O Power 1.8V
Power Requirements 6.5V-18V (7W)
7. MinnowBoard MAX
Price $140 USD
Processor 1.33 GHz Intel Atom E3825
Dual Core x86
64-bit
GPU 7th Gen Intel HD Graphics (533 Mhz)
RAM 2 GB
Video Mini-HDMI
Audio HDMI
Storage MicroSD, SATA2 (3 Gb/s)
USB 1 USB 2.0, 1 USB 3.0
Connectivity 10/100/1000 Ethernet
I/O Interfaces UARTx2, SPI, I2C, GPIOx8 (PWMx2)
I/O Power 3.3V
Power Requirements 5V@2.5A
8. Comparison of Boards
Raspberry Pi 2 DragonBoard410c MinnowBoard MAX
Price $35 USD $75 USD $140 USD
Processor 0.9 GHz Broadcom BCM2836
Quad-Core ARMv7
Cortex-A7 (32-bit)
1.2 GHz Snapdragon 410
Quad-Core ARMv8
Cortex-A53 (64-bit)
1.33 GHz Intel Atom E3825
Dual Core x86
64-bit
GPU VideoCore IV (250 MHz) Ardreno 306 (450 Mhz) 7th Gen Intel HD Graphics (533 Mhz)
RAM 1 GB 1 GB 2 GB
Video HDMI HDMI Mini-HDMI
Audio Analog (3.5 mm), HDMI HDMI, Bluetooth HDMI
Storage MicroSD MicroSD, 8 GB eMMC MicroSD, SATA2 (3 Gb/s)
USB 4 USB 2.0 2 USB 2.0 1 USB 2.0, 1 USB 3.0
Connectivity 10/100 Ethernet WLAN 802.11a/b/g/n 2.4 GHz,
Bluetooth 4.1, GPS
10/100/1000 Ethernet
I/O Interfaces UART, SPI, I2C, GPIOx13 (PWMx1) UARTx2, SPI, I2Cx2, GPIOx12 UARTx2, SPI, I2C, GPIOx8 (PWMx2)
I/O Power 3.3V 1.8V 3.3V
Power Requirements 5V@1.8A 6.5V-18V (7W) 5V@2.5A
9. Set up your PC
• Windows 10 is required
• Check your version by running winver.exe
• 10.0.10240 or later is required
• Also, you will need to enable developer mode
• Visual Studio 2015 Update 1 is needed for development
• Can be Community, Professional or Enterprise
• You must do a custom install of Professional and Enterprise
• Check Universal Windows Development Tools > Tools and Windows SDK
• Check your version, Help > About Microsoft Visual Studio
• Visual Studio: 14.0.24720.00 Update 1
• UWP Tools: 14.0.24720.00
• Install Windows 10 IoT Core Project Templates
10. Windows 10 IoT Core Dashboard
• You can use the Dashboard if you are setting up:
• Raspberry Pi 2
• MinnowBoard MAX
• For a DragonBoard 410c
• Need to use the method on
the next slide
• Nice one step process
11. Windows IoT Image Helper
• You can use the Image Helper if you are setting up:
• Raspberry Pi 2
• DragonBoard 410c
• MinnowBoard MAX
• You must download the Windows 10 IoT Core
images manually
• Only way to setup the DragonBoard 410c
12. Configuration with the Device Portal
• Windows 10 IoT Core’s default app exposes a device portal
• You can:
• Change admin password, device name
• Time zone
• Load, start and stop apps
• Monitor process, performance
• View devices and networking
• And more…
13. Configuration with PowerShell
• Common commands for setup:
• net start WinRM
• Set-Item WSMan:localhostClientTrustedHosts
–value “minwinpc”
• Enter-PSSession -ComputerName winminpc
-Credentials winminpcAdministrator
• net user Administrator <new_password>
• tzutil /s “Eastern Standard Time”
• setcomputername <new_name>
• shutdown /r /t 0
20. Connecting the Things
• Azure IoT Hub
• A communications hub where you can connect a large number of data
producers to consumers (message hub, no storage)
• Free tier limited to 8K messages/unit/day
• data.sparkfun.com
• Free service that will store your data
• Each stream can store 50MB, limited to 100 pushes every 15 minutes
• Build your own website
• You can write your own data collection API and host it locally or in the cloud
21. Thank-you and Q&A
Blog: http://www.blairleduc.com
Info: http://about.me/blairleduc
…or just google or bing me.
Editor's Notes
IEEE has an 80+ page document trying to define it.