Mit Azure IoT Hub und dem Raspberry Pi 2 in das Internet der Dinge eintauchen.
Artikel in der dotnetpro 5.2016 über die Konfiguration des Azure IoT Hub und die Anbindung eines Raspberry Pi 2 auf Basis von Windows IoT Core.
.net and more
Mit Azure IoT Hub und dem Raspberry Pi 2 in das Internet der Dinge eintauchen.
Artikel in der dotnetpro 5.2016 über die Konfiguration des Azure IoT Hub und die Anbindung eines Raspberry Pi 2 auf Basis von Windows IoT Core.
Mit Windows IoT hat die .NET-Welt auch offiziell den Weg auf den Raspberry Pi 2 gefunden. Allerdings ist die Auswahl an Sensoren mit passenden Windows-IoT-Treibern noch etwas mau. Und hier kommt GHI Electronics mit seinem Erweiterungs-Board FEZ HAT ins Spiel.
Das Board wird einfach auf die GPIO-Leiste des PIs gesteckt und bietet eine gute Basis für den Einstieg in Windows IoT und das Internet der Dinge.
Hier ein kleiner Auszug der Features:
Das “Hello World” der IoT-Welt ist gefühlt der Temperatur-Sensor. In diesem Beitrag werden wir uns daher mit der Initialisierung des FEZ HAT sowie der Ansteuerung des Temperatur-Sensors widmen.
Zu aller Anfang benötigen wir einen PI2 sowie ein FEZHAT-Board, welches wir auf den GPIO des PI stecken.
Danach starten wir Visual Studio 2015 und legen eine frische (Windows 10) Universal App an.
Damit wir direkt auf dem Gerät testen und deployen können, müssen wir in den Debug-Einstellungen für die ARM-Plattform das Target-Device auf “Remote-Machine” und die entsprechende IP-Adresse einstellen. Den Haken bei “Use authentication” rausnehmen!
Danach benötigen wir noch zwei Referenzen, einmal auf die IoT-Extensions und einmal die FEZHAT-Treiber.
Nachdem nun alle vorbereitenden Maßnahmen erledigt sind, geht es an den Code.
Wir öffnen die MainPage.xaml.cs und fügen folgendes using hinzu:
using GHIElectronics.UWP.Shields;
Daneben werden noch zwei Klassen-Variablen benötigt:
private FEZHAT hat; private DispatcherTimer timer;
Die Initialisierung erfolgt über eine private Methode. Hier wird das zuvor angelegte FEZHAT-Objekt mit einem Einzeiler initialisiert.
private async void Setup() { this.hat = await FEZHAT.CreateAsync(); this.timer = new DispatcherTimer(); this.timer.Interval = TimeSpan.FromSeconds(10); this.timer.Tick += OnTick; this.timer.Start(); }
Für das Tick-Event legen wir noch einen Eventhandler an. Dieser holt über die GetTemperature()-Methode die aktuelle Temperatur und schreibt sie in die TextBox “tbTemperature”.
private void OnTick(object sender, object e) { var temperature = hat.GetTemperature().ToString("N2"); this.tbTemperature.Text = temperature; }
Abschließend rufen wir in der Main() die Methode Setup() auf und starten den Timer, welcher nun alle zehn Sekunden die Temperatur ausliest.
public MainPage() { this.InitializeComponent(); this.Setup(); }
Weitere Informationen findet ihr auf den Seiten des Herstellers:
FEZ HAT von GHI Electronis
Mit den Mobile Services und dem Micro Framework das Internet der Dinge erforschen.
Artikel in der dotnetpro 2.15 über Gadgeteer und die Anbindung des .NET Microframeworks an die Azure Cloud.