Verbind uw Raspberry Pi 3 met de externe bewakingsoplossing en verzend telemetrie vanaf een echte sensor met behulp van Node.js
In deze zelfstudie leert u 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 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.
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.
- Windows bevat geen SSH-client. We raden u aan PuTTY te gebruiken.
- De meeste Linux-distributies en Mac OS bevatten het opdrachtregel-SSH-hulpprogramma. Zie SSH using Linux or Mac OS (SSH met Linux of Mac OS) voor meer informatie.
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:
- Meld u aan bij azureiotsuite.com met de referenties van uw Azure-account en klik + om een oplossing te maken.
- Klik op de tegel Externe controle op Selecteren.
- Voer een oplossingsnaam in voor uw vooraf geconfigureerde oplossing voor externe controle.
- Selecteer de regio die en het abonnement dat u wilt gebruiken voor het inrichten van de oplossing.
- 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.
- Klik op de tegel voor uw oplossing met de status Inrichten.
- Tijdens de implementatie van Azure-services in uw Azure-abonnement verschijnen verschillende inrichtingstatuswaarden.
- Nadat het inrichten is voltooid, verandert de status in Gereed.
- 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.
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.
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.
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:
Klik in de linkerbenedenhoek van het dashboard op Een apparaat toevoegen.
Klik in het deelvenster Aangepast apparaat op Nieuw toevoegen.
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.
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.
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 Software Guide 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 die is opgenomen 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 gebruikgemaakt van de BME280-sensor 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 van het oplossingsdashboard verwerkt.
De onderdelen op de breadboard zijn:
- Rode LED
- 220-Hmige weerstand (rood, rood, bruin)
- BME280-sensor
In het volgende diagram ziet u hoe u verbinding maakt met uw hardware:
De volgende tabel bevat een overzicht van de verbindingen van de Raspberry Pi met 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 |
Om de hardware-installatie te voltooien, moet u het volgende doen:
- Sluit de 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 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. Op 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 eventueel een map op uw Raspberry Pi delen met uw bureaubladomgeving. Als u een map deelt, kunt u uw favoriete teksteditor voor het bureaublad (zoals Visual Studio Code of Sublime Text) gebruiken om bestanden op uw Raspberry Pi te bewerken in plaats van of vi
te 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) inschakelen op de Raspberry Pi. 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 de opmerking van 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
Installeer Node.js op uw Raspberry Pi. Voor de IoT SDK voor Node.js is versie 0.11.5 van Node.js of hoger vereist. De volgende stappen laten zien hoe u Node.js v6.10.2 installeert op uw Raspberry Pi:
Gebruik de volgende opdracht om uw Raspberry Pi bij te werken:
sudo apt-get update
Gebruik de volgende opdracht om de binaire Node.js bestanden te downloaden naar uw Raspberry Pi:
wget https://nodejs.org/dist/v6.10.2/node-v6.10.2-linux-armv7l.tar.gz
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
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 voorbeeldbronbestand in de nano-editor met behulp van de volgende opdracht:
nano ~/iot-remote-monitoring-node-raspberrypi-getstartedkit/basic/remote_monitoring.js
Zoek de regel:
var connectionString = 'HostName=[Your IoT hub name].azure-devices.net;DeviceId=[Your device id];SharedAccessKey=[Your device key]';
Vervang de waarden van de tijdelijke aanduidingen door het apparaat en IoT Hub informatie 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).
De voorbeeldtoepassing uitvoeren
Voer de volgende opdrachten uit om de vereiste pakketten voor het voorbeeld te installeren:
cd ~/iot-remote-monitoring-node-raspberrypi-getstartedkit/basic
npm install
U kunt nu het voorbeeldprogramma uitvoeren op de Raspberry Pi. Voer de opdracht in:
sudo node ~/iot-remote-monitoring-node-raspberrypi-getstartedkit/basic/remote_monitoring.js
De volgende voorbeelduitvoer is een voorbeeld van de uitvoer die u ziet bij de opdrachtprompt op de Raspberry Pi:
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.
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:
Kies op de pagina Methode aanroepende optie LightBlink in de vervolgkeuzelijst Methode .
Kies InvokeMethod. De LED die is aangesloten op de Raspberry Pi knippert meerdere keren. De app op de Raspberry Pi stuurt een bevestiging terug naar het oplossingsdashboard:
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 actief laat in uw Azure-account, wordt u gefactureerd voor de tijd die wordt uitgevoerd. 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. 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.