In jeder Programmiersprache und in jeder Technologie ist das erste Projekt etwas ganz Besonderes – genau um dieses Thema dreht sich der vierte Teil der Blogserie zum Buch „Raspberry Pi für Windows 10 IoT Core“.

In den meisten Programmiersprachen heißt das erste Projekt „Hello World“ – in unserem Fall machen wir ein hardwarebezogenes „Hello Pi“ daraus. Dieser Artikel zeigt Ihnen die Erstellung des ersten eigenen Projekts im Schnelldurchlauf – die ausführlichere Version davon finden Sie im Kapitel 5 in meinem Buch „Raspberry Pi für Windows 10 IoT Core„.

Ziel ist es, ein kleines Projekt zu erstellen, mit dem wir eine LED an- und ausschalten können bzw. zum Blinken bringen. Für die einfache Hardware-Ansteuerung bedarf es dieser kleinen Zutatenliste:

  • Eine Entwicklungsumgebung mit Visual Studio (auch Community) und dem IoT-SDK.
  • Ein Raspberry mit Windows 10 IoT Core
  • Breadboard
  • Steckbrücken
  • LED mit passendem Widerstand (zur Not tut es ein 220-Ohm-Widerstand)

Der Hardware-Aufbau wird wie folgt umgesetzt:

  1. Das kürzere Beinchen der LED verbinden Sie mit GPIO 5 am Raspberry. Das ist Pin 29.
  2. Das längere Beinchen verbinden Sie mit dem Widerstand.
  3. Verbinden Sie das andere Ende des Widerstands mit einem 3,3V Pin auf dem Raspberry.

Ein kleines Foto zeigt unseren Versuchsaufbau – damit ist der Hardware-Teil bereits erledigt.

hellopi

Für das Programm benötigt man zunächst ein neues Visual-Studio-Projekt mit dem Projekt-Typ „Blank App (Universal Windows)“. Damit der Raspberry korrekt angesprochen werden kann, wird im Projekt eine Referenz auf „Universal Windows->Extensions->Windows IoT Extensions for the UWP“ benötigt.

Im Projekt finden Sie zwei Elemente:

  • App.xaml (bzw. App.xaml.cs)
  • MainPage.xaml (bzw. MainPage.xaml.cs)

Wir bewegen uns ausschließlich in der MainPage. Wie es sich gehört, wollen wir mit der Begrüßung starten. Editieren Sie hierzu zunächst die MainPage.xaml und ergänzen den Bereich „Grid“ wie folgt.

<Grid Background=„{ThemeResource ApplicationPageBackgroundThemeBrush}“>    <StackPanel HorizontalAlignment=„Center“ VerticalAlignment=„Center“>        <TextBox x:Name=„HelloPi“ Text=„Mein erstes Raspberry-Projekt!“ Margin=„10“ IsReadOnly=„True“/>        <Button x:Name=„Start“ Content=„Start“  Margin=„10“ HorizontalAlignment=„Center“ Click=„Start_Click“/>    </StackPanel> </Grid>

Damit haben wir ein Textfeld und einen Button in unserer Anwendung.

Im Code-Behind benötigen wir einen Timer, der die LED im Interval (hier 500 ms) an- und ausschaltet.

timer = new DispatcherTimer();
timer.Interval = TimeSpan.FromMilliseconds(500);
timer.Tick += Timer_Tick;
timer.Start();

Die Ansteuerung des GPIO-Pins erfolgt über Windows.Devices.Gpio.GpioController. Hierzu das using:
using Windows.Devices.Gpio;
nicht vergessen.

Das entsprechende Code-Fragment sieht wie folgt aus und sollte hinter dem Button liegen:

GpioController gpio = Windows.Devices.Gpio.GpioController.GetDefault();
GpioPin pin = gpio.OpenPin(5);
GpioPinValue pinValue = GpioPinValue.High;
pin.Write(_pinValue);
pin.SetDriveMode(GpioPinDriveMode.Output);

Das fertige Projekt finden Sie auch auch im GitHub Repository zum Buch: https://github.com/stephanhuewe/PiBuch/tree/master/Blinklicht

Wenn das Projekt kompiliert, wählen Sie im Visual Studio als Zielarchitektur „ARM“ aus und als Zielmaschine wählen Sie „Remote Machine“.

pivsremotepivsdebug

Starten Sie das Projekt nun wie gewohnt im Debug-Modus mit F5. Visual Studio sollte beim ersten Start nach einem Raspberry im Netzwerk suchen und Sie können diesen als Zielplattform auswählen. Auch das „Deploy“ Kommando funktioniert auf diese Art und Weise.

Lesen Sie mehr in dem Buch Raspberry Pi für Windows 10 IoT Core:

Hüwe, Rasberry Pi für Windows IoT Core

Hüwe, Rasberry Pi für Windows IoT Core