Hacking with the #RaspberryPi and #Windows 10 #IoT Core
Posted on March 24th, 2016
03/23/2016 @Microsoft, 101 Wood Ave South, Iselin, NJ
Nick Landry showed how to use the Windows 10 operating system to control devices in the Internet of Things.
He first talked about IoT = things + connectivity + data + analytics. He demonstrated software running on the Raspberry Pi, but emphasized that Windows 10 IoT allows developers to create code that runs on platforms from ARM devices (IoT) to phones to tablets to laptops to desktops to large displays. Within the IoT space, Windows 10 runs on
- Raspberry Pi 2 & 3 – ARM processor – Wi-Fi, Bluetooth,…
- Intel Atom E3800 processor x86 – (Tablet) – Ethernet,…
- Qualcomm Snapdragon 410 – (cell phone) – GPS, WiFi,…
W10 also has many levels of functionality to accommodate differences in interfaces (headed = screen interface, headless = no screen interface) and differences in hardware by using a single C# development core with difference SDKs to access the different capabilities of devices.
The Windows 10 stack has the W10 operating system on which Win32 sits as does UWP. The majority of UWP APIs are shared across devices including desktop, phones, ioT, etc.
Nick then walked through the steps to replace the Linux OS with Windows 10 on a Raspberry Pi from the http://dev.windows.com/iot web site. He noted that the latest Raspberry Pi, the Pi 3, requires you to download the ‘Insider preview version’ to successfully flash the hardware.
The Raspberry Pi 3 includes wi-fi and Bluetooth, but the current version of Windows 10 does not currently handle those functionalities natively, but will eventually do so.
He next showed the Raspberry Pi and talked about how sensors and controls are connected through the GPIO pins and how the Windows 10 IoT extension SDK gives you access to those pins.
Programming the device using C# in Visual Studio uses different conventions than using Sketch in the Arduino IDE
- Instead of a ‘startup’ and ‘loop’, one needs to set up a timer with the timer interrupt route serves the same function as the ‘loop’ routine in Arduino
- Downloading the code requires one to select ‘ARM’ device and ‘Remote Machine’. The Arduino IDE only needs a COM port number.
- Event handling is done using the C# programming syntax
- Visual Studio has full access to services offered across a wide range of devices. Nick demonstrated how the text-to-speech routine can be called in the same way one would call text-to-speech when developing a smartphone app.
- Simple programs require more code, but that code can be used across devices.
- You can execute Arduino Sketches in Visual Studio and you can even combine Sketch and C# code in the same application.
Nick concluded by talking about The #FezHat (from ghielectronics). The Fez Hat is a development board which fits on the Raspberry Pi and includes: controls for DC and servo motors. Terminal blocks, light sensor, LEDs, temperature sensor, user buttons, etc. all for $35. It is analogous to Shield boards for the Arduino.
For further information, Nick suggested
If you’re having problems installing Windows 10 on a Raspbery Pi see.