Delen via


Verbind uw Raspberry Pi 3 met de externe bewakingsoplossing en verzend telemetrie vanaf een echte sensor met behulp van C

Deze zelfstudie laat zien hoe u de Microsoft Azure IoT Starter Kit voor Raspberry Pi 3 gebruikt om een temperatuur- en vochtigheidslezer te ontwikkelen die kan communiceren met de cloud. In de zelfstudie wordt het volgende gebruikt:

  • Raspbian OS, de programmeertaal C en de Microsoft Azure IoT SDK voor C 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 externe bewakingsoplossing 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 verzend telemetrie die u kunt bekijken op het oplossingsdashboard.

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 om u in staat te stellen op afstand toegang te krijgen 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
  • Jumperdraden
  • 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. Als u onnodige Azure-verbruikskosten wilt voorkomen, verwijdert u uw exemplaar van de vooraf geconfigureerde oplossing op azureiotsuite.com wanneer u klaar bent. Als u de vooraf geconfigureerde oplossing opnieuw nodig hebt, kunt u deze eenvoudig opnieuw maken. 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.

Het oplossingsdashboard bekijken

Vanaf het dashboard van de oplossing kunt u de geïmplementeerde oplossing beheren. U kunt bijvoorbeeld telemetrie bekijken, 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 in uw oplossing hebt gebruikt 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.

Bereid je Raspberry Pi voor

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.

De opslagplaatsen klonen

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

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

De verbindingsreeks van het apparaat bijwerken

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

nano ~/iot-remote-monitoring-c-raspberrypi-getstartedkit/basic/remote_monitoring/remote_monitoring.c

Zoek de volgende regels:

static const char* deviceId = "[Device Id]";
static const char* connectionString = "HostName=[IoTHub Name].azure-devices.net;DeviceId=[Device Id];SharedAccessKey=[Device Key]";

Vervang de waarden van de tijdelijke aanduidingen door het apparaat en IoT Hub gegevens die u aan het begin van deze zelfstudie hebt gemaakt en opgeslagen. Sla uw wijzigingen op (Ctrl-O, Enter) en sluit de editor af (Ctrl-X).

Bouw het sample

Installeer de vereiste pakketten voor de Microsoft Azure IoT Device SDK voor C door de volgende opdrachten uit te voeren in een terminal op de Raspberry Pi:

sudo apt-get update
sudo apt-get install g++ make cmake git libcurl4-openssl-dev libssl-dev uuid-dev

U kunt nu de bijgewerkte voorbeeldoplossing bouwen op de Raspberry Pi:

chmod +x ~/iot-remote-monitoring-c-raspberrypi-getstartedkit/basic/build.sh
~/iot-remote-monitoring-c-raspberrypi-getstartedkit/basic/build.sh

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

sudo ~/cmake/remote_monitoring/remote_monitoring

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 naar uw Raspberry Pi verzenden 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

Actie ondernemen op het apparaat

Vanuit het oplossingsdashboard kunt u methoden op uw Raspberry Pi aanroepen. Wanneer de Raspberry Pi verbinding maakt met de externe bewakingsoplossing, verzendt deze informatie over de methoden die worden ondersteund.

  • 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

  • Kies op de pagina Methode aanroepende optie LightBlink in de vervolgkeuzelijst Methode .

  • Kies InvokeMethod. De LED aangesloten op de Raspberry Pi knippert meerdere keren. De app op de Raspberry Pi stuurt een bevestiging terug naar het oplossingsdashboard:

    Methodegeschiedenis weergeven

  • U kunt de LED in- en uitschakelen met behulp van de methode ChangeLightStatus met een LightStatusValue ingesteld op 1 voor aan of 0 voor uit.

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.