Delen via


Verbind uw Raspberry Pi 3 met de externe bewakingsoplossing en schakel externe firmware-updates in met behulp van Node.js

In deze zelfstudie leert u hoe u de Microsoft Azure IoT Starter Kit voor Raspberry Pi 3 gebruikt voor het volgende:

  • Ontwikkel een temperatuur- en vochtigheidslezer die kan communiceren met de cloud.
  • Schakel een externe firmware-update in en voer deze uit om de clienttoepassing op de Raspberry Pi bij te werken.

In de zelfstudie wordt gebruikgemaakt van:

  • Raspbian OS, de Node.js programmeertaal en de Microsoft Azure IoT SDK voor Node.js om een voorbeeldapparaat te implementeren.
  • De vooraf geconfigureerde oplossing voor externe bewaking van IoT Suite als de cloudgebaseerde back-end.

Overzicht

In deze zelfstudie voert u de volgende stappen uit:

  • Implementeer een exemplaar van de vooraf geconfigureerde oplossing voor externe bewaking in uw Azure-abonnement. Met deze stap worden automatisch meerdere Azure-services geïmplementeerd en geconfigureerd.
  • Stel uw apparaat en sensoren in om te communiceren met uw computer en de externe bewakingsoplossing.
  • Werk de voorbeeldcode van het apparaat bij om verbinding te maken met de externe bewakingsoplossing en telemetrie te verzenden die u op het oplossingsdashboard kunt bekijken.
  • Gebruik de voorbeeldcode van het apparaat om de clienttoepassing bij te werken.

Vereisten

U hebt een actief Azure-abonnement nodig om deze zelfstudie te voltooien.

Notitie

Als u geen account hebt, kunt u binnen een paar minuten een account voor de gratis proefversie maken. Zie Gratis proefversie van Azure voor meer informatie.

Vereiste software

U hebt de SSH-client op uw desktopcomputer nodig, zodat u op afstand toegang hebt tot de opdrachtregel op de Raspberry Pi.

Vereiste hardware

Een desktopcomputer waarmee u op afstand verbinding kunt maken met de opdrachtregel op de Raspberry Pi.

Microsoft IoT Starter Kit voor Raspberry Pi 3 of gelijkwaardige onderdelen. In deze zelfstudie worden de volgende items uit de kit gebruikt:

  • Raspberry Pi 3
  • MicroSD-kaart (met NOOBS)
  • Een USB Mini-kabel
  • Een Ethernet-kabel
  • BME280-sensor
  • Breadboard
  • Jumper-draden
  • Weerstanden
  • Leds

De oplossing inrichten

Als u de vooraf geconfigureerde oplossing voor externe controle in uw account nog niet hebt ingericht:

  1. Meld u aan bij azureiotsuite.com met de referenties van uw Azure-account en klik + om een oplossing te maken.
  2. Klik op de tegel Externe controle op Selecteren.
  3. Voer een oplossingsnaam in voor uw vooraf geconfigureerde oplossing voor externe controle.
  4. Selecteer de regio die en het abonnement dat u wilt gebruiken voor het inrichten van de oplossing.
  5. Klik op Oplossing maken om het inrichtingsproces te starten. Doorgaans duurt het enkele minuten om dit proces uit te voeren.

Wacht tot het inrichtingsproces is voltooid.

  1. Klik op de tegel voor uw oplossing met de status Inrichten.
  2. Tijdens de implementatie van Azure-services in uw Azure-abonnement verschijnen verschillende inrichtingstatuswaarden.
  3. Nadat het inrichten is voltooid, verandert de status in Gereed.
  4. Klik op de tegel om de details van uw oplossing in het rechterdeelvenster weer te geven.

Notitie

Als er problemen zijn met de implementatie van de vooraf geconfigureerde oplossing, leest u Permissions on the azureiotsuite.com site (Machtigingen op de site azureiotsuite.com) en de veelgestelde vragen. Als de problemen zich blijven voordoen, maakt u een serviceticket aan in de portal.

Zijn er voor uw oplossing bepaalde details niet vermeld, die u wel verwacht had te zien? Geef ons suggesties voor functies op User Voice.

Waarschuwing

De externe bewakingsoplossing richt een set Azure-services in uw Azure-abonnement in. De implementatie weerspiegelt een echte bedrijfsarchitectuur. Om onnodige azure-verbruikskosten te voorkomen, verwijdert u uw exemplaar van de vooraf geconfigureerde oplossing op azureiotsuite.com wanneer u er klaar mee bent. Als u de vooraf geconfigureerde oplossing opnieuw nodig hebt, kunt u deze eenvoudig opnieuw maken. Zie Vooraf geconfigureerde oplossingen van Azure IoT Suite configureren voor demodoeleinden voor meer informatie over het verminderen van het verbruik tijdens het uitvoeren van de externe bewakingsoplossing.

Het oplossingsdashboard bekijken

Vanaf het dashboard van de oplossing kunt u de geïmplementeerde oplossing beheren. U kunt bijvoorbeeld telemetrie weergeven, apparaten toevoegen en methoden aanroepen.

  1. Wanneer het inrichten is voltooid en voor de tegel voor uw vooraf geconfigureerde oplossing de status Gereed wordt weergegeven, kiest u Starten om uw portal voor de externe bewakingsoplossing te openen in een nieuw tabblad.

    De vooraf geconfigureerde oplossing starten

  2. Standaard ziet u in de oplossingsportal het dashboard. U kunt navigeren naar andere gebieden van de portal van de oplossing met het menu aan de linkerkant van de pagina.

    Vooraf geconfigureerd oplossingsdashboard voor externe controle

Een apparaat toevoegen

Een apparaat kan alleen verbinding maken met de vooraf geconfigureerde oplossing als het zichzelf met geldige referenties kan identificeren bij IoT Hub. U kunt de apparaatreferenties ophalen via het dashboard van de oplossing. Verderop in deze zelfstudie neemt u de referenties van het apparaat op in de clienttoepassing.

Als u dit nog niet hebt gedaan, voegt u een aangepast apparaat toe aan uw externe bewakingsoplossing. Voer de volgende stappen uit in het oplossingsdashboard:

  1. Klik in de linkerbenedenhoek van het dashboard op Een apparaat toevoegen.

    Een apparaat toevoegen

  2. Klik in het deelvenster Aangepast apparaat op Nieuw toevoegen.

    Een aangepast apparaat toevoegen

  3. Kies Laat mij mijn eigen apparaat-id definiëren. Voer een apparaat-id in, zoals rasppi, klik op Id controleren om te controleren of u de naam nog niet hebt gebruikt in uw oplossing en klik vervolgens op Maken om het apparaat in te richten.

    Apparaat-id toevoegen

  4. Noteer de apparaatreferenties (Apparaat-id, IoT Hub Hostnaam en Apparaatsleutel). Uw clienttoepassing op de Raspberry Pi heeft deze waarden nodig om verbinding te maken met de externe bewakingsoplossing. Klik vervolgens op Gereed.

    Apparaatreferenties weergeven

  5. Selecteer uw apparaat in de lijst met apparaten in het oplossingsdashboard. Klik vervolgens in het deelvenster Apparaatdetails op Apparaat inschakelen. De status van het apparaat is nu Wordt uitgevoerd. De externe bewakingsoplossing kan nu telemetrie ontvangen van uw apparaat en methoden op het apparaat aanroepen.

Uw Raspberry Pi voorbereiden

Raspbian installeren

Als dit de eerste keer is dat u uw Raspberry Pi gebruikt, moet u het Raspbian-besturingssysteem installeren met behulp van NOOBS op de SD-kaart die in de kit is opgenomen. In de Raspberry Pi-softwarehandleiding wordt beschreven hoe u een besturingssysteem installeert op uw Raspberry Pi. In deze zelfstudie wordt ervan uitgegaan dat u het Raspbian-besturingssysteem op uw Raspberry Pi hebt geïnstalleerd.

Notitie

Op de SD-kaart in de Microsoft Azure IoT Starter Kit voor Raspberry Pi 3 is NOOBS al geïnstalleerd. U kunt de Raspberry Pi opstarten vanaf deze kaart en ervoor kiezen om het Raspbian OS te installeren.

De hardware instellen

In deze zelfstudie wordt de BME280-sensor gebruikt die is opgenomen in de Microsoft Azure IoT Starter Kit voor Raspberry Pi 3 om telemetriegegevens te genereren. Er wordt een LED gebruikt om aan te geven wanneer de Raspberry Pi een methodeaanroep vanuit het oplossingsdashboard verwerkt.

De componenten op de breadboard zijn:

  • Rode LED
  • 220-Ohm weerstand (rood, rood, bruin)
  • BME280-sensor

In het volgende diagram ziet u hoe u verbinding maakt met uw hardware:

Hardware-installatie voor Raspberry Pi

De volgende tabel bevat een overzicht van de verbindingen van de Raspberry Pi naar de onderdelen op het breadboard:

Raspberry Pi Breadboard Kleur
GND (Speld 14) LED -ve pin (18A) Paars
GPCLK0 (Speld 7) Weerstand (25A) Oranje
SPI_CE0 (Speld 24) CS (39A) Blue
SPI_SCLK (Speld 23) SCK (36A) Geel
SPI_MISO (Speld 21) SDO (37A) Wit
SPI_MOSI (Speld 19) SDI (38A) Green
GND (Speld 6) GND (35A) Zwart
3.3 V (Pin 1) 3Vo (34A) Red

Als u de hardwareconfiguratie wilt voltooien, moet u het volgende doen:

  • Sluit je Raspberry Pi aan op de voeding die in de kit is meegeleverd.
  • Sluit uw Raspberry Pi aan op uw netwerk met behulp van de Ethernet-kabel die in uw kit is meegeleverd. U kunt ook draadloze connectiviteit instellen voor uw Raspberry Pi.

U hebt nu de hardware-installatie van uw Raspberry Pi voltooid.

Aanmelden en toegang krijgen tot de terminal

U hebt twee opties voor toegang tot een terminalomgeving op uw Raspberry Pi:

  • Als u een toetsenbord en monitor hebt aangesloten op uw Raspberry Pi, kunt u de Raspbian GUI gebruiken om toegang te krijgen tot een terminalvenster.

  • Open de opdrachtregel op uw Raspberry Pi met behulp van SSH vanaf uw desktopcomputer.

Een terminalvenster gebruiken in de GUI

De standaardreferenties voor Raspbian zijn gebruikersnaam pi en wachtwoord raspberry. In de taakbalk in de GUI kunt u het hulpprogramma Terminal starten met behulp van het pictogram dat eruitziet als een monitor.

Aanmelden met SSH

U kunt SSH gebruiken voor opdrachtregeltoegang tot uw Raspberry Pi. In het artikel SSH (Secure Shell) wordt beschreven hoe u SSH configureert op uw Raspberry Pi en hoe u verbinding maakt vanuit Windows of Linux & Mac OS.

Meld u aan met gebruikersnaam pi en wachtwoord raspberry.

Optioneel: Een map delen op uw Raspberry Pi

U kunt desgewenst een map op uw Raspberry Pi delen met uw bureaubladomgeving. Als u een map deelt, kunt u uw favoriete bureaubladteksteditor (zoals Visual Studio Code of Sublieme tekst) gebruiken om bestanden op uw Raspberry Pi te bewerken in plaats van of vite gebruikennano.

Als u een map wilt delen met Windows, configureert u een Samba-server op de Raspberry Pi. U kunt ook de ingebouwde SFTP-server gebruiken met een SFTP-client op uw bureaublad.

SPI inschakelen

Voordat u de voorbeeldtoepassing kunt uitvoeren, moet u de SPI-bus (Serial Peripheral Interface) op de Raspberry Pi inschakelen. De Raspberry Pi communiceert met het BME280-sensorapparaat via de SPI-bus. Gebruik de volgende opdracht om het configuratiebestand te bewerken:

sudo nano /boot/config.txt

Zoek de regel:

#dtparam=spi=on

  • Als u opmerkingen bij de regel wilt verwijderen, verwijdert u de # aan het begin.

  • Sla uw wijzigingen op (Ctrl-O, Enter) en sluit de editor af (Ctrl-X).

  • Als u SPI wilt inschakelen, start u de Raspberry Pi opnieuw op. Als u opnieuw opstart, wordt de terminal verbroken. U moet zich opnieuw aanmelden wanneer de Raspberry Pi opnieuw wordt opgestart:

    sudo reboot
    

Het voorbeeld downloaden en configureren

U kunt nu de clienttoepassing voor externe bewaking downloaden en configureren op uw Raspberry Pi.

Node.js installeren

Als u dit nog niet hebt gedaan, installeert u Node.js op uw Raspberry Pi. Voor de IoT SDK voor Node.js is versie 0.11.5 van Node.js of hoger vereist. In de volgende stappen ziet u hoe u Node.js v6.10.2 installeert op uw Raspberry Pi:

  1. Gebruik de volgende opdracht om uw Raspberry Pi bij te werken:

    sudo apt-get update
    
  2. Gebruik de volgende opdracht om de binaire bestanden van Node.js te downloaden naar uw Raspberry Pi:

    wget https://nodejs.org/dist/v6.10.2/node-v6.10.2-linux-armv7l.tar.gz
    
  3. Gebruik de volgende opdracht om de binaire bestanden te installeren:

    sudo tar -C /usr/local --strip-components 1 -xzf node-v6.10.2-linux-armv7l.tar.gz
    
  4. Gebruik de volgende opdracht om te controleren of u Node.js v6.10.2 hebt geïnstalleerd:

    node --version
    

De opslagplaatsen klonen

Als u dit nog niet hebt gedaan, kloont u de vereiste opslagplaatsen door de volgende opdrachten uit te voeren op uw Pi:

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

De verbindingsreeks van het apparaat bijwerken

Open het voorbeeldconfiguratiebestand in de nano-editor met behulp van de volgende opdracht:

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

Vervang de waarden van de tijdelijke aanduidingen door de apparaat-id en IoT Hub gegevens die u aan het begin van deze zelfstudie hebt gemaakt en opgeslagen.

Wanneer u klaar bent, moet de inhoud van het bestand deviceinfo eruitzien zoals in het volgende voorbeeld:

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

Sla uw wijzigingen op (Ctrl-O, Enter) en sluit de editor af (Ctrl-X).

De voorbeeldtoepassing uitvoeren

Voer de volgende opdrachten uit om de vereiste pakketten voor het voorbeeld te installeren:

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

U kunt nu het voorbeeldprogramma uitvoeren op de Raspberry Pi. Voer de opdracht in:

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

De volgende voorbeelduitvoer is een voorbeeld van de uitvoer die u ziet bij de opdrachtprompt op de Raspberry Pi:

Uitvoer van Raspberry Pi-app

Druk op Ctrl+C om het programma op elk gewenst moment af te sluiten.

De telemetrie weergeven

De Raspberry Pi verzendt nu telemetrie naar de externe bewakingsoplossing. U kunt de telemetrie bekijken op het oplossingsdashboard. U kunt ook berichten verzenden naar uw Raspberry Pi vanaf het oplossingsdashboard.

  • Navigeer naar het oplossingsdashboard.
  • Selecteer uw apparaat in de vervolgkeuzelijst Apparaat om weer te geven .
  • De telemetrie van de Raspberry Pi wordt weergegeven op het dashboard.

Telemetrie van de Raspberry Pi weergeven

De firmware-update initiëren

Het firmware-updateproces downloadt en installeert een bijgewerkte versie van de apparaatclienttoepassing op de Raspberry Pi. Zie de beschrijving van het firmware-updatepatroon in Overzicht van apparaatbeheer met IoT Hub voor meer informatie over het firmware-updateproces.

U initieert het firmware-updateproces door een methode op het apparaat aan te roepen. Deze methode is asynchroon en retourneert zodra het updateproces begint. Het apparaat gebruikt gerapporteerde eigenschappen om de oplossing op de hoogte te stellen van de voortgang van de update.

U roept methoden aan op uw Raspberry Pi vanuit het oplossingsdashboard. Wanneer de Raspberry Pi voor het eerst verbinding maakt met de externe bewakingsoplossing, verzendt deze informatie over de methoden die worden ondersteund.

  1. Klik in het oplossingsdashboard op Apparaten om naar de pagina Apparaten te gaan. Selecteer uw Raspberry Pi in de apparatenlijst. Kies vervolgens Methoden:

    Apparaten weergeven in dashboard

  2. Kies op de pagina Methode aanroepende optie InitiateFirmwareUpdate in de vervolgkeuzelijst Methode .

  3. Voer in het veld FWPackageURI in https://raw.githubusercontent.com/Azure-Samples/iot-remote-monitoring-node-raspberrypi-getstartedkit/master/advanced/2.0/raspberry.js. Dit bestand bevat de implementatie van versie 2.0 van de firmware.

  4. Kies InvokeMethod. De app op de Raspberry Pi stuurt een bevestiging terug naar het oplossingsdashboard. Vervolgens wordt het firmware-updateproces gestart door de nieuwe versie van de firmware te downloaden:

    Methodegeschiedenis weergeven

Bekijk het firmware-updateproces

U kunt het firmware-updateproces bekijken terwijl het wordt uitgevoerd op het apparaat en door de gerapporteerde eigenschappen in het oplossingsdashboard te bekijken:

  1. U kunt de voortgang van het updateproces bekijken op de Raspberry Pi:

    Voortgang van updates weergeven

    Notitie

    De app voor externe bewaking wordt op de achtergrond opnieuw opgestart wanneer de update is voltooid. Gebruik de opdracht ps -ef om te controleren of deze wordt uitgevoerd. Als u het proces wilt beëindigen, gebruikt u de kill opdracht met de proces-id.

  2. U kunt de status van de firmware-update bekijken, zoals gerapporteerd door het apparaat, in de oplossingsportal. In de volgende schermopname ziet u de status en duur van elke fase van het updateproces en de nieuwe firmwareversie:

    Taakstatus weergeven

    Als u terug navigeert naar het dashboard, kunt u controleren of het apparaat nog steeds telemetrie verzendt na de firmware-update.

Waarschuwing

Als u de externe bewakingsoplossing in uw Azure-account laat uitvoeren, wordt u gefactureerd voor de tijd dat deze wordt uitgevoerd. Zie Configuring Azure IoT Suite preconfigured solutions for demo purposes (Vooraf geconfigureerde oplossingen van Azure IoT Suite configureren voor demodoeleinden) voor meer informatie over het verminderen van het verbruik tijdens het uitvoeren van de externe bewakingsoplossing. Verwijder de vooraf geconfigureerde oplossing uit uw Azure-account wanneer u klaar bent met het gebruik ervan.

Volgende stappen

Ga naar het Azure IoT-ontwikkelaarscentrum voor meer voorbeelden en documentatie over Azure IoT.