Freigeben über


Verbinden Sie Ihre Raspberry Pi 3 mit der Remoteüberwachungslösung, und aktivieren Sie Remote-Firmwareupdates mit Node.js

In diesem Lernprogramm erfahren Sie, wie Sie das Microsoft Azure IoT Starter Kit für Raspberry Pi 3 verwenden können:

  • Entwickeln Sie einen Temperatur- und Feuchtigkeitsleser, der mit der Cloud kommunizieren kann.
  • Aktivieren und durchführen Sie ein Remotefirmwareupdate, um die Clientanwendung auf dem Raspberry Pi zu aktualisieren.

Das Tutorial verwendet:

  • Raspbian OS, die Node.js Programmiersprache und das Microsoft Azure IoT SDK für Node.js zum Implementieren eines Beispielgeräts.
  • Die Remoteüberwachungs-Vorkonfigurationslösung der IoT Suite als cloudbasiertes Back-End.

Überblick

In diesem Tutorial führen Sie folgende Schritte aus:

  • Stellen Sie eine Instanz der vorkonfigurierten Remoteüberwachungslösung für Ihr Azure-Abonnement bereit. In diesem Schritt werden automatisch mehrere Azure-Dienste bereitgestellt und konfiguriert.
  • Richten Sie Ihr Gerät und Ihre Sensoren für die Kommunikation mit Ihrem Computer und der Remoteüberwachungslösung ein.
  • Aktualisieren Sie den Beispielgerätecode, um eine Verbindung mit der Remoteüberwachungslösung herzustellen, und senden Sie Telemetrie, die Sie im Lösungsdashboard anzeigen können.
  • Verwenden Sie den Beispielgerätecode, um die Clientanwendung zu aktualisieren.

Voraussetzungen

Um dieses Lernprogramm abzuschließen, benötigen Sie ein aktives Azure-Abonnement.

Hinweis

Wenn Sie nicht über ein Konto verfügen, können Sie in nur wenigen Minuten ein kostenloses Testkonto erstellen. Ausführliche Informationen finden Sie unter Einen Monat kostenlos testen.

Erforderliche Software

Sie benötigen ssh-Client auf Ihrem Desktopcomputer, damit Sie remote auf die Befehlszeile auf dem Raspberry Pi zugreifen können.

  • Windows enthält keinen SSH-Client. Es wird empfohlen, PuTTYzu verwenden.
  • Die meisten Linux-Distributionen und Mac OS enthalten das Befehlszeilen-SSH-Hilfsprogramm. Weitere Informationen finden Sie unter SSH Using Linux or Mac OS.

Erforderliche Hardware

Ein Desktopcomputer, mit dem Sie remote eine Verbindung mit der Befehlszeile auf dem Raspberry Pi herstellen können.

Microsoft IoT Starter Kit für Raspberry Pi 3 oder gleichwertige Komponenten. In diesem Lernprogramm werden die folgenden Elemente aus dem Kit verwendet:

  • Raspberry Pi 3
  • MicroSD-Karte (mit NOOBS)
  • Usb-Minikabel
  • Ethernet-Kabel
  • BME280-Sensor
  • Steckbrett
  • Jumper-Kabel
  • Widerstände
  • Leds

Bereitstellen der Lösung

Wenn Sie die vorkonfigurierte Remoteüberwachungslösung noch nicht in Ihrem Konto bereitgestellt haben:

  1. Melden Sie sich mit Ihren Azure-Kontoanmeldeinformationen bei azureiotsuite.com an, und klicken Sie auf +, um eine Lösung zu erstellen.
  2. Klicken Sie auf Auswählen auf der Kachel Remoteüberwachung.
  3. Geben Sie einen Lösungsnamen für Ihre vorkonfigurierte Remoteüberwachungslösung ein.
  4. Wählen Sie die Region und das Abonnement aus, mit dem Sie die Lösung bereitstellen möchten.
  5. Klicken Sie auf Lösungs- erstellen, um den Bereitstellungsprozess zu starten. Dieser Vorgang dauert in der Regel mehrere Minuten.

Warten Sie, bis der Bereitstellungsprozess abgeschlossen ist.

  1. Klicken Sie auf die Kachel für Ihre Lösung mit dem Status Bereitstellung.
  2. Beachten Sie die Bereitstellungsstatus, während die Azure-Dienste in Ihrem Azure-Abonnement bereitgestellt werden.
  3. Nach Abschluss der Bereitstellung ändert sich der Status in Ready.
  4. Klicken Sie auf die Kachel, um die Details Ihrer Lösung im rechten Bereich anzuzeigen.

Hinweis

Wenn Probleme beim Bereitstellen der vorkonfigurierten Lösung auftreten, lesen Sie Berechtigungen auf der Website azureiotsuite.com und die Häufig Gestellten Fragen. Wenn die Probleme weiterhin bestehen, erstellen Sie ein Serviceticket im Portal.

Gibt es Details, die Sie erwarten zu sehen, die jedoch nicht für Ihre Lösung aufgeführt sind? Geben Sie uns Funktionsvorschläge auf User Voice.

Warnung

Die Remoteüberwachungslösung stellt eine Reihe von Azure-Diensten in Ihrem Azure-Abonnement zur Verfügung. Die Bereitstellung spiegelt eine echte Unternehmensarchitektur wider. Um unnötige Azure-Verbrauchsgebühren zu vermeiden, löschen Sie Ihre Instanz der vorkonfigurierten Lösung bei azureiotsuite.com, wenn Sie damit fertig sind. Wenn Sie die vorkonfigurierte Lösung erneut benötigen, können Sie sie ganz einfach neu erstellen. Weitere Informationen zum Reduzieren des Verbrauchs während der Ausführung der Remoteüberwachungslösung finden Sie unter Konfigurieren von vorkonfigurierten Azure IoT Suite-Lösungen zu Demozwecken.

Anzeigen des Lösungsdashboards

Mit dem Lösungsdashboard können Sie die bereitgestellte Lösung verwalten. Sie können beispielsweise Telemetrie anzeigen, Geräte hinzufügen und Methoden aufrufen.

  1. Wenn die Bereitstellung abgeschlossen ist und die Kachel für Ihre vorkonfigurierte Lösung Readyangibt, wählen Sie Starten aus, um Ihr Remoteüberwachungslösungsportal auf einer neuen Registerkarte zu öffnen.

    Starten der vorkonfigurierten Lösung

  2. Standardmäßig wird im Lösungsportal das -Dashboardangezeigt. Sie können über das Menü auf der linken Seite der Seite zu anderen Bereichen des Lösungsportals navigieren.

    Vorkonfiguriertes Dashboard für Remote-Überwachungslösungen

Hinzufügen eines Geräts

Damit ein Gerät eine Verbindung mit der vorkonfigurierten Lösung herstellen kann, muss es sich mit gültigen Anmeldeinformationen für IoT Hub identifizieren. Sie können die Geräteanmeldeinformationen aus dem Lösungsdashboard abrufen. Sie fügen die Geräteanmeldeinformationen später in diesem Tutorial in Ihre Clientanwendung ein.

Falls noch nicht geschehen, fügen Sie Ihrer Remoteüberwachungslösung ein benutzerdefiniertes Gerät hinzu. Führen Sie die folgenden Schritte im Lösungsdashboard aus:

  1. Klicken Sie in der unteren linken Ecke des Dashboards auf Gerät hinzufügen.

    Hinzufügen eines Geräts

  2. Klicken Sie im Bereich Benutzerdefiniertes Gerät auf Neuenhinzufügen.

    Hinzufügen eines benutzerdefinierten Geräts

  3. Wählen Sie Lassen Sie mich meine eigene Geräte-IDdefinieren. Geben Sie eine Geräte-ID wie rasppiein, klicken Sie auf ID überprüfen, um zu prüfen, ob Sie den Namen in Ihrer Lösung noch nicht verwendet haben, und klicken Sie dann auf Erstellen, um das Gerät zu konfigurieren.

    Hinzufügen von Geräte-ID-

  4. Notieren Sie sich die Geräteanmeldeinformationen (Geräte-ID, IoT Hub Hostnameund Device Key). Ihre Clientanwendung auf dem Raspberry Pi benötigt diese Werte, um eine Verbindung mit der Remoteüberwachungslösung herzustellen. Klicken Sie anschließend auf Fertig.

    Anzeigen von Geräteanmeldeinformationen

  5. Wählen Sie Ihr Gerät in der Geräteliste im Lösungsdashboard aus. Klicken Sie dann im Bereich Gerätedetails auf Gerätaktivieren. Der Status Ihres Geräts ist jetzt Running. Die Remoteüberwachungslösung kann jetzt Telemetrie von Ihrem Gerät empfangen und Methoden auf dem Gerät aufrufen.

Bereiten Sie Ihren Raspberry Pi vor

Installieren von Raspbian

Wenn Sie Ihr Raspberry Pi zum ersten Mal verwenden, müssen Sie das Raspbian-Betriebssystem mit NOOBS auf der SD-Karte installieren, die im Kit enthalten ist. Der Raspberry Pi Software Guide beschreibt, wie Sie ein Betriebssystem auf Ihrem Raspberry Pi installieren. In diesem Lernprogramm wird davon ausgegangen, dass Sie das Raspbian-Betriebssystem auf Ihrem Raspberry Pi installiert haben.

Hinweis

Die im Microsoft Azure IoT Starter Kit für Raspberry Pi 3 enthaltene SD-Karte hat bereits NOOBS installiert. Sie können den Raspberry Pi von dieser Karte aus starten und das Raspbian-Betriebssystem installieren.

Einrichten der Hardware

In diesem Lernprogramm wird der BME280-Sensor im Microsoft Azure IoT Starter Kit für Raspberry Pi 3 verwendet, um Telemetriedaten zu generieren. Es verwendet eine LED, um anzugeben, wann der Raspberry Pi einen Methodenaufruf aus dem Lösungsdashboard verarbeitet.

Die Komponenten auf dem Brotbrett sind:

  • Rote LED
  • 220-Ω-Widerstand (rot, rot, braun)
  • BME280-Sensor

Das folgende Diagramm zeigt, wie Sie Ihre Hardware verbinden:

Hardwareeinrichtung für Raspberry Pi

In der folgenden Tabelle sind die Verbindungen vom Raspberry Pi zu den Komponenten auf dem Breadboard zusammengefasst:

Raspberry Pi Steckbrett Farbe
GND (Pin 14) LED -ve Stift (18A) Lila
GPCLK0 (Pin 7) Widerstand (25A) Orange
SPI_CE0 (Pin 24) CS (39A) Blau
SPI_SCLK (Pin 23) SCK (36A) Gelb
SPI_MISO (Pin 21) SDO (37A) Weiß
SPI_MOSI (Pin 19) SDI (38A) Grün
GND (Pin 6) GND (35A) Schwarz
3.3 V (Pin 1) 3Vo (34A) Rot

Um die Hardwareeinrichtung abzuschließen, müssen Sie Folgendes tun:

  • Verbinden Sie Ihren Raspberry Pi mit dem Netzteil, das im Kit enthalten ist.
  • Schließen Sie Ihren Raspberry Pi mit Ihrem Netzwerk an, indem Sie das ethernet-Kabel verwenden, das in Ihrem Kit enthalten ist. Alternativ können Sie Wireless Connectivity für Ihren Raspberry Pi einrichten.

Sie haben nun die Hardwareeinrichtung Ihres Raspberry Pi abgeschlossen.

Anmelden und Zugreifen auf das Terminal

Sie haben zwei Optionen für den Zugriff auf eine Terminalumgebung auf Ihrem Raspberry Pi:

  • Wenn Sie über eine Tastatur und einen Monitor verfügen, der mit Ihrem Raspberry Pi verbunden ist, können Sie die Raspbian-GUI verwenden, um auf ein Terminalfenster zuzugreifen.

  • Greifen Sie auf die Befehlszeile auf Ihrem Raspberry Pi über SSH von Ihrem Desktopcomputer aus zu.

Verwenden eines Terminalfensters in der GUI

Die Standardanmeldeinformationen für Raspbian sind Benutzername pi und Kennwort raspberry. In der Taskleiste in der GUI können Sie das hilfsprogramm Terminal mit dem Symbol starten, das wie ein Monitor aussieht.

Anmelden mit SSH

Sie können SSH für den Befehlszeilenzugriff auf Ihr Raspberry Pi verwenden. Der Artikel SSH (Secure Shell) beschreibt, wie SSH auf Ihrem Raspberry Pi konfiguriert wird und wie Sie eine Verbindung von Windows oder Linux & Mac OSherstellen.

Melden Sie sich mit dem Benutzernamen pi und dem Passwort raspberryan.

Optional: Freigeben eines Ordners auf Ihrem Raspberry Pi

Optional können Sie einen Ordner auf Ihrem Raspberry Pi für Ihre Desktopumgebung freigeben. Wenn Sie einen Ordner freigeben, können Sie Ihren bevorzugten Desktoptext-Editor (z. B. Visual Studio Code oder Sublime Text) verwenden, um Dateien auf Ihrem Raspberry Pi zu bearbeiten, anstatt nano oder vizu verwenden.

Um einen Ordner für Windows zu teilen, konfigurieren Sie einen Samba-Server auf dem Raspberry Pi. Alternativ können Sie den integrierten SFTP--Server mit einem SFTP-Client auf dem Desktop verwenden.

SPI aktivieren

Bevor Sie die Beispielanwendung ausführen können, müssen Sie den SPI-Bus (Serial Peripheral Interface) auf dem Raspberry Pi aktivieren. Der Raspberry Pi kommuniziert mit dem BME280-Sensorgerät über den SPI-Bus. Verwenden Sie den folgenden Befehl, um die Konfigurationsdatei zu bearbeiten:

sudo nano /boot/config.txt

Finde die Zeile

#dtparam=spi=on

  • Um die Kommentare der Zeile aufzuheben, löschen Sie die # am Anfang.

  • Speichern Sie Ihre Änderungen (STRG-O-, Eingabetaste) und beenden Sie den Editor (STRG-X).

  • Um SPI zu aktivieren, starten Sie den Raspberry Pi neu. Durch den Neustart wird das Terminal getrennt und Sie müssen sich erneut anmelden, wenn der Raspberry Pi neu gestartet wird.

    sudo reboot
    

Herunterladen und Konfigurieren des Beispiels

Sie können jetzt die Remoteüberwachungsclientanwendung auf Ihrem Raspberry Pi herunterladen und konfigurieren.

Installieren von Node.js

Falls noch nicht geschehen, installieren Sie Node.js auf Ihrem Raspberry Pi. Das IoT SDK für Node.js erfordert Version 0.11.5 von Node.js oder höher. Die folgenden Schritte zeigen, wie Sie Node.js v6.10.2 auf Ihrem Raspberry Pi installieren:

  1. Verwenden Sie den folgenden Befehl, um Ihren Raspberry Pi zu aktualisieren:

    sudo apt-get update
    
  2. Verwenden Sie den folgenden Befehl, um die Node.js Binärdateien auf Ihren Raspberry Pi herunterzuladen:

    wget https://nodejs.org/dist/v6.10.2/node-v6.10.2-linux-armv7l.tar.gz
    
  3. Verwenden Sie den folgenden Befehl, um die Binärdateien zu installieren:

    sudo tar -C /usr/local --strip-components 1 -xzf node-v6.10.2-linux-armv7l.tar.gz
    
  4. Verwenden Sie den folgenden Befehl, um zu überprüfen, ob Sie Node.js v6.10.2 erfolgreich installiert haben:

    node --version
    

Klonen der Repositorys

Wenn Sie dies noch nicht getan haben, klonen Sie die erforderlichen Repositorys, indem Sie die folgenden Befehle auf Ihrem Pi ausführen:

cd ~
git clone --recursive https://github.com/Azure-Samples/iot-remote-monitoring-node-raspberrypi-getstartedkit.git

Aktualisieren Sie die Geräteverbindungszeichenfolge

Öffnen Sie die Beispielkonfigurationsdatei im Nano-Editor mit dem folgenden Befehl:

nano ~/iot-remote-monitoring-node-raspberrypi-getstartedkit/advanced/config/deviceinfo

Ersetzen Sie die Platzhalterwerte durch die Geräte-ID und die IoT Hub-Informationen, die Sie erstellt und am Anfang dieses Lernprogramms gespeichert haben.

Wenn Sie fertig sind, sollte der Inhalt der deviceinfo-Datei wie im folgenden Beispiel aussehen:

yourdeviceid
HostName=youriothubname.azure-devices.net;DeviceId=yourdeviceid;SharedAccessKey=yourdevicekey

Speichern Sie Ihre Änderungen (STRG-O-, Eingabetaste) und beenden Sie den Editor (STRG-X).

Beispiel ausführen

Führen Sie die folgenden Befehle aus, um die erforderlichen Pakete für das Beispiel zu installieren:

cd ~/iot-remote-monitoring-node-raspberrypi-getstartedkit/advance/1.0
npm install

Sie können jetzt das Beispielprogramm auf dem Raspberry Pi ausführen. Geben Sie den Befehl ein:

sudo node ~/iot-remote-monitoring-node-raspberrypi-getstartedkit/advanced/1.0/remote_monitoring.js

Die folgende Beispielausgabe zeigt, was bei der Eingabeaufforderung auf dem Raspberry Pi angezeigt wird:

Ausgabe der Raspberry Pi-App

Drücken Sie STRG-C-, um das Programm jederzeit zu beenden.

Telemetrie anzeigen

Der Raspberry Pi sendet nun Telemetrie an die Remoteüberwachungslösung. Sie können die Telemetrie im Lösungsdashboard anzeigen. Sie können auch Nachrichten über das Lösungsdashboard an Ihren Raspberry Pi senden.

  • Navigieren Sie zum Lösungsdashboard.
  • Wählen Sie Ihr Gerät im Dropdownmenü Gerät aus, um anzuzeigen.
  • Die Telemetrie des Raspberry Pi wird auf dem Dashboard angezeigt.

Telemetrie aus dem Raspberry Pi anzeigen

Starten des Firmwareupdates

Der Firmwareupdateprozess lädt eine aktualisierte Version der Geräteclientanwendung auf dem Raspberry Pi herunter und installiert sie. Weitere Informationen zum Firmwareupdateprozess finden Sie in der Beschreibung des Firmwareupdatemusters in Übersicht über die Geräteverwaltung mit IoT Hub.

Sie initiieren den Firmwareupdateprozess, indem Sie eine Methode auf dem Gerät aufrufen. Diese Methode ist asynchron und wird zurückgegeben, sobald der Updatevorgang beginnt. Das Gerät verwendet gemeldete Eigenschaften, um die Lösung über den Fortschritt des Updates zu benachrichtigen.

Sie rufen Methoden auf Ihrem Raspberry Pi über das Lösungsdashboard auf. Wenn der Raspberry Pi zum ersten Mal eine Verbindung mit der Remoteüberwachungslösung herstellt, sendet es Informationen über die unterstützten Methoden.

  1. Klicken Sie im Lösungsdashboard auf Geräte, um die Seite Geräte zu besuchen. Wählen Sie Ihren Raspberry Pi in der Gerätelisteaus. Wählen Sie dann Methoden:

    Geräte im Dashboard auflisten

  2. Wählen Sie auf der Seite "Methode aufrufen" im Dropdown-Menü "Methode" die Option "InitiateFirmwareUpdate" aus.

  3. Geben Sie im Feld https://raw.githubusercontent.com/Azure-Samples/iot-remote-monitoring-node-raspberrypi-getstartedkit/master/advanced/2.0/raspberry.js ein. Diese Datei enthält die Implementierung von Version 2.0 der Firmware.

  4. Wählen Sie InvokeMethod aus. Die App auf dem Raspberry Pi sendet eine Bestätigung zurück an das Lösungsdashboard. Anschließend wird der Firmwareupdateprozess gestartet, indem die neue Version der Firmware heruntergeladen wird:

    Anzeigen des Methodenverlaufs

Beobachten des Firmwareupdateprozesses

Sie können den Firmwareupdateprozess während der Ausführung auf dem Gerät beobachten und die gemeldeten Eigenschaften im Lösungsdashboard anzeigen:

  1. Sie können den Fortschritt des Updateprozesses auf dem Raspberry Pi anzeigen:

    Aktualisierungsstatus anzeigen

    Hinweis

    Die Remoteüberwachungs-App wird automatisch neu gestartet, wenn das Update abgeschlossen ist. Verwenden Sie den Befehl ps -ef, um die Ausführung zu überprüfen. Wenn Sie den Prozess beenden möchten, verwenden Sie den Befehl kill mit der Prozess-ID.

  2. Sie können den Status des Firmwareupdates, wie vom Gerät gemeldet, im Lösungsportal anzeigen. Der folgende Screenshot zeigt den Status und die Dauer jeder Phase des Updateprozesses und die neue Firmwareversion:

    Anzeigen des Auftragsstatus

    Wenn Sie zurück zum Dashboard navigieren, können Sie überprüfen, ob das Gerät nach dem Firmwareupdate weiterhin Telemetrie sendet.

Warnung

Wenn Sie die Remoteüberwachungslösung verlassen, die in Ihrem Azure-Konto ausgeführt wird, werden Sie für die Ausführungszeit in Rechnung gestellt. Weitere Informationen zum Reduzieren des Verbrauchs während der Ausführung der Remoteüberwachungslösung finden Sie unter Konfigurieren von vorkonfigurierten Azure IoT Suite-Lösungen zu Demozwecken. Löschen Sie die vorkonfigurierte Lösung aus Ihrem Azure-Konto, wenn Sie die Verwendung abgeschlossen haben.

Nächste Schritte

Weitere Beispiele und Dokumentationen zu Azure IoT finden Sie im Azure IoT Dev Center.