iot with windows 10
TRANSCRIPT
Tamir DresherSenior Software ArchitectJune 2015
Windows 10 IoT Core
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.
3
IoT
• Internet of Things, or• Internet of Toys
MinnowBoard Max Raspberry Pi 2Galileo
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
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
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
7
Look mum no hands
8
Windows IoT Core Watcher
• Known issue with 64bit OS• Fix:
sn -Vr WindowsIoTCoreWatcher.execoreflags WindowsIoTCoreWatcher.exe /32BIT+ /FORCE
9
10
Windows IoT Extensions SDK
Windows.Devices.DevicesLowLevelContract Windows.System.SystemManagementContract
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
12
Other APIs
13
HW Schematics
Rotation ServoRotation Servo
14
Controlling the Servo
https://www.khanacademy.org/computer-programming/pulse-width-demo/4961611581489152
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
16
Checking API Availability
17
HID – Human Interface Devices http://ms-iot.github.io/content/en-US/win10/Peripherals.htm
18
Links
• https://github.com/ms-iot/build2015-robot-kit• http://ms-iot.github.io/content/en-US/win10/StartCoding.htm• http://channel9.msdn.com/events/build/2015?sort=sequential
&direction=desc&term=&tag=iot#theSessions
Presenter contact detailst: @tamir_dreshere: [email protected]: TamirDresher.comw: www.codevalue.net