19
Tamir Dresher Senior Software Architect June 2015 Windows 10 IoT Core

IoT with Windows 10

Embed Size (px)

Citation preview

Page 1: IoT with Windows 10

Tamir DresherSenior Software ArchitectJune 2015

Windows 10 IoT Core

Page 2: IoT with Windows 10

About Me

• Software architect, consultant and instructor• Software Engineering Lecturer @ Ruppin Academic Center• Technology addict• .NET and Native Windows Programming

@[email protected]://www.TamirDresher.com.

Page 4: IoT with Windows 10

4

Windows 10

Multiple device families

Commonstore and dev center

Common APIsand SDK

Commontoolset

Adaptive user interface

Naturaluser inputs

HoloLensXbox

Surface Hub

Mobile

Devices +IoT

PC

One Device Platform

Page 5: IoT with Windows 10

5

Windows IoT CoreFor Industry DevicesDesktop Shell, Win32 apps

1 GB RAM, 16 GB Storage

For Mobile DevicesModern Shell

Mobile Chassis requirement

512 MB RAM, 4 GB storage

For Small DevicesDedicated devices

Optional DisplayNo Shell/Store/MS Apps

256MB RAM, 2GB storage

Universal Apps

Requires desktop or desktop apps– Win32, .NET, WPF, etc. ?

Requires a Shell experience, multiple applications, Windows first-party

applications, or mobile voice?

Otherwise

Page 6: IoT with Windows 10

6

Setting your environment

• https://www.windowsondevices.com/• https://connect.microsoft.com/windowsembeddedIoT/Downlo

ads/

1. Download the zip2. Flash to SD Card (only in Windows 10)3. Plug it in

Page 7: IoT with Windows 10

7

Look mum no hands

Page 8: IoT with Windows 10

8

Windows IoT Core Watcher

• Known issue with 64bit OS• Fix:

sn -Vr WindowsIoTCoreWatcher.execoreflags WindowsIoTCoreWatcher.exe /32BIT+ /FORCE

Page 9: IoT with Windows 10

9

Page 10: IoT with Windows 10

10

Windows IoT Extensions SDK

Windows.Devices.DevicesLowLevelContract Windows.System.SystemManagementContract

Page 11: IoT with Windows 10

11

Windows.Devices.Gpio

var gpio = GpioController.GetDefault();

pin = gpio.OpenPin(LED_PIN, GpioSharingMode.SharedReadOnly);

pin.Write(GpioPinValue.High);pin.SetDriveMode(GpioPinDriveMode.Output);

GpioPinValue pinValue = pin.Read();//Low or High

Page 12: IoT with Windows 10

12

Other APIs

Page 13: IoT with Windows 10

13

HW Schematics

Rotation ServoRotation Servo

Page 14: IoT with Windows 10

14

Controlling the Servo

https://www.khanacademy.org/computer-programming/pulse-width-demo/4961611581489152

Page 15: IoT with Windows 10

15

SW Architecture

UIController

XBoxController

NetworkController

RobotDriver MotorController

public enum CtrlCmds { Stop, Forward, Backward, Left, Right, ForwardLeft ... }; public enum CtrlSpeeds { Min = 0, Mid = 5000, Max = 10000 }

cmd & speed

cmd & sp

eed

cmd & speed pulse

XBoxHid

SetPin

SignalRController

cmd & speed

Page 16: IoT with Windows 10

16

Checking API Availability

Page 17: IoT with Windows 10

17

HID – Human Interface Devices http://ms-iot.github.io/content/en-US/win10/Peripherals.htm

Page 19: IoT with Windows 10

Presenter contact detailst: @tamir_dreshere: [email protected]: TamirDresher.comw: www.codevalue.net