Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Windows 10 IoT Core

374 views

Published on

Slides for a talk on Windows 10 IoT Core presented at dotnet Cologne 2017, Cologne, Germany

Published in: Software
  • Be the first to comment

  • Be the first to like this

Windows 10 IoT Core

  1. 1. Windows 10 IoT Core Jens Siebert (@jens_siebert) dotnet Cologne 2017, 05. Mai 2017 https://www.slideshare.net/JensSiebert1/windows-10-iot-core-75703373
  2. 2. „One Windows“ Bild: Microsoft (https://winblogs.azureedge.net/win/2015/01/Windows-10_Product-Family.jpg)
  3. 3. Windows für eingebettete Systeme Windows CE 1.0 (1996) Windows CE 1.01 (1997) Windows CE 2.0 (1997) Windows CE 2.10 (1998) Windows CE 2.11 (1998) Windows CE 3.0 (2000) Windows CE 4.0 (2001) Windows CE 4.1 (2002) Windows CE 4.2 (2003) Windows CE 5.0 (2004) Windows CE 6.0 (2006) Windows CE 6R2 (2007) Windows CE 6R3 (2009) Windows Embedded 7 (2011) Windows Embedded 8 (2013) Windows 10 IoT Core (2015) Windows 10 IoT Pro (2015)
  4. 4. Windows 10 IoT Core • Windows 10 für eingebettete Systeme • Kein Desktop, vorinstallierten Apps, kein .... • Kein Echtzeitbetriebssystem • Nur eine „Default“-App • Mehrere Background-Apps Bild: Microsoft (https://az835927.vo.msecnd.net/sites/iot/Resources/images/iotcoredefaultapp/DefaultAppRpi2.png)
  5. 5. Raspberry Pi • 1.2GHz Quad-Core ARMv8 (Broadcom BCM2837) • 1 GB RAM • Broadcom Video Core IV GPU • 4x USB 2.0 • 802.11 b/g/n WiFi • 10/100/1000 Mbit Ethernet • Bluetooth 4.1/LE • HDMI • Camera Interface (CSI) • Display Interface (DSI) • 40 GPIO Pins Bild: Microsoft (https://az835927.vo.msecnd.net/sites/iot/Resources/images/devices/RPi3_0.png)
  6. 6. Raspberry Pi • 24x GPIO • 2x 5V • 2x 3,3V • 8x Ground (Masse) • 1x I2C (Inter-Integrated Circuit Bus) • 2x SPI (Serial Peripheral Interface) • 1x UART (Universal Asynchronous Receiver Transmitter) Bild: Microsoft (https://az835927.vo.msecnd.net/sites/iot/Resources/images/PinMappings/RP2_Pinout.png)
  7. 7. Windows 10 IoT Core Setup • Raspberry Pi (2 oder 3, kein RPi Zero/W) • microSD-Card (16GB) • PC mit • Windows 10 • SD-Card Reader • Windows 10 IoT Dashboard Bild: Microsoft (https://az835927.vo.msecnd.net/sites/iot/Resources/images/IoTDashboard/IoTDashboard_SetupPage.PNG)
  8. 8. Windows Device Portal • Zugriff auf Windows 10 IoT Gerät über Web-Oberfläche • URL: http://<devicename>:8080 • User: Administrator • Passwort: aus IoT Dashboard Bild: Microsoft (https://az835927.vo.msecnd.net/sites/iot/Resources/images/deviceportal/deviceportal.png)
  9. 9. Universal Windows Platform Bild: Microsoft (https://i-msdn.sec.s-msft.com/de-de/windows/uwp/get-started/images/universalapps-overview.png)
  10. 10. Was wird benötigt? • Raspberry Pi 2 oder 3 mit Windows 10 IoT Core • PC mit Windows 10 • Visual Studio 2015/2017 (Community reicht aus) • Windows 10 SDK und Tools (passend zum installierten IoT Core) • Für Elektronik-Basteleien: • Breadboard • Elektronik-Komponenten (Widerstände, LEDs, etc.) • Sensoren (Temperatur, Luftdruck, Luftfeuchtigkeit, GPS, etc.) • Ein gewisses Elektronik-Grundwissen ist von Vorteil!
  11. 11. Projekt-Setup (UWP-App)
  12. 12. LED ansteuern
  13. 13. GPIO-Pins nutzen using Windows.Devices.Gpio; […] // Hole Referenz auf GPIO Controller Objekt var gpio = GpioController.GetDefault(); // Prüfe ob GPIO Controller vorhanden ist if (gpio != null) { // Verbindung zum GPIO-Pin Nr. 5 öffnen var pin = gpio.OpenPin(5); // GPIO-Pin als Ausgabe-Pin konfigurieren pin.SetDriveMode(GpioPinDriveMode.Output); // GPIO Pin auf Wert «High» setzen pin.Write(GpioPinValue.High); }
  14. 14. Temperatur-/Luftdruck-Sensor • Adafruit BMP180 Barometric Pressure/Temperature/Altitude Sensor • Vin: 3 to 5V (DC) • Logic: 3 to 5V compliant • Pressure sensing range: 300-1100 hPa • Up to 0.03hPa / 0.25m resolution • -40 to +85°C operational range • +-2°C temperature accuracy • Uses I2C 7-bit address 0x77 Bild: Adafruit (https://cdn-shop.adafruit.com/970x728/1603-03.jpg)
  15. 15. I2C-Bus nutzen using Windows.Devices.I2c; […] // Hole Referenz auf I2C Controller Objekt var controller = await I2cController.GetDefaultAsync(); // Prüfe ob I2C Controller vorhanden ist if (controller != null) { // Verbindung zum Sensor mit der Adresse 0x77 herstellen var connectionSettings = new I2cConnectionSettings(0x77); device = controller.GetDevice(connectionSettings); // Wert aus Sensor-Register mit Adresse 0xAA auslesen var registerData = new byte[2]; device.WriteRead(new byte[] { 0xAA }, registerData); }
  16. 16. „Internet of Things“ Bild: siliconANGLE (http://siliconangle.com/files/2016/02/network-782707_1280-1080x675.png)
  17. 17. Azure IoT Hub Bild: Microsoft (https://acom.azurecomcdn.net/80C57D/cdn/mediahandler/docarticles/dpsmedia-prod/azure.microsoft.com/en-us/documentation/articles/iot-hub-what-is-iot-hub/20161003010117/hubarchitecture.png)
  18. 18. Azure IoT - Datenverarbeitung Bilder (nachbearbeitet): Microsoft (https://msdnshared.blob.core.windows.net/media/2016/10/image633.png) Microsoft (https://az835927.vo.msecnd.net/sites/iot/Resources/images/devices/RPi3_0.png)
  19. 19. Informationen & Links • Source-Code: bitbucket.org/jenssiebert/dnugpbwindows10iotcore • Windows 10 IoT Core: developer.microsoft.com/en-us/windows/iot • Docs: developer.microsoft.com/en-us/windows/iot/Docs • Samples: developer.microsoft.com/en-us/windows/iot/samples • IoT Core Dashboard: developer.microsoft.com/en-us/windows/iot/docs/iotdashboard • VS2017 Projektvorlagen (Background Apps): https://marketplace.visualstudio.com/items?itemName=MicrosoftIoT.WindowsIoTCoreProject TemplatesforVS15 • Raspberry Pi: raspberrypi.org • Docs: raspberrypi.org/documentation • Azure IoT Hub: azure.microsoft.com/de-de/services/iot-hub • Docs: azure.microsoft.com/de-de/documentation/services/iot-hub
  20. 20. Literatur Bilder: Apress (https://images.springer.com/sgw/books/raw/9781484221075.tif) Apress (https://images.springer.com/sgw/books/raw/9781484221426.tif) Microsoft Press (https://www.microsoftpressstore.com/ShowCover.aspx?isbn=9781509302161)
  21. 21. Vielen Dank! @jens_siebert

×