Připojte Raspberry Pi 3 k řešení pro vzdálené monitorování a povolte vzdálené aktualizace firmwaru pomocí Node.js
V tomto kurzu se dozvíte, jak pomocí úvodní sady Microsoft Azure IoT pro Raspberry Pi 3:
- Vytvořte si čtečku teploty a vlhkosti, která dokáže komunikovat s cloudem.
- Povolte a proveďte vzdálenou aktualizaci firmwaru, aby se aktualizovala klientská aplikace v Raspberry Pi.
Kurz používá:
- Operační systém Raspbian, programovací jazyk Node.js, a sada Microsoft Azure IoT SDK pro Node.js implementovat ukázkové zařízení.
- Předkonfigurované řešení pro vzdálené monitorování sady IoT Suite jako cloudový back-end.
Přehled
V tomto kurzu dokončíte následující kroky:
- Nasaďte instanci předkonfigurovaného řešení vzdáleného monitorování do svého předplatného Azure. Tento krok automaticky nasadí a nakonfiguruje více služeb Azure.
- Nastavte zařízení a senzory tak, aby komunikují s počítačem a řešením pro vzdálené monitorování.
- Aktualizujte vzorový kód zařízení pro připojení k řešení pro vzdálené monitorování a odešlete telemetrii, kterou můžete zobrazit na řídicím panelu řešení.
- Pomocí ukázkového kódu zařízení aktualizujte klientskou aplikaci.
Požadavky
K dokončení tohoto kurzu potřebujete mít aktivní předplatné služby Azure.
Poznámka
Pokud nemáte účet, můžete si během několika minut vytvořit bezplatný účet zkušební. Podrobnosti najdete v článku Bezplatná zkušební verze Azure.
Požadovaný software
Na stolním počítači potřebujete klienta SSH, který vám umožní vzdálený přístup k příkazovému řádku v Raspberry Pi.
- Systém Windows neobsahuje klienta SSH. Doporučujeme použít PuTTY.
- Většina distribucí Linuxu a Mac OS zahrnuje nástroj SSH příkazového řádku. Další informace najdete v tématu SSH s využitím Linuxu nebo Mac OS.
Požadovaný hardware
Stolní počítač, který vám umožní vzdálené připojení k příkazovému řádku v Raspberry Pi.
Úvodní sada Microsoft IoT pro Raspberry Pi 3 nebo ekvivalentní komponenty. V tomto kurzu se používají následující položky ze sady :
- Raspberry Pi 3
- Karta MicroSD (s NOOBS)
- Usb Mini kabel
- Ethernetový kabel
- Senzor BME280
- Prkénko
- Dráty propojek
- Rezistory
- Led
Zřízení řešení
Pokud jste ve svém účtu ještě nezřídili předkonfigurované řešení vzdáleného monitorování:
- Přihlaste se k azureiotsuite.com pomocí přihlašovacích údajů účtu Azure a kliknutím vytvořte + řešení.
- Klikněte na tlačítko Vybrat, které se nachází na dlaždici Vzdálené monitorování.
- Zadejte Název řešení pro předkonfigurované řešení vzdáleného monitorování.
- Vyberte Oblast a Předplatné, které chcete při zřizování řešení použít.
- Kliknutím na tlačítko Vytvořit řešení zahájíte proces zřizování. Tento proces obvykle trvá několik minut.
Počkejte, dokud proces zřizování neskončí.
- Klikněte na dlaždici s řešením, u kterého je uveden stav Zřizování.
- Stavy zřizování umožňují sledovat, jak se služby Azure nasazují na váš účet Azure.
- Jakmile bude zřizování dokončeno, stav se změní na Připraveno.
- Kliknutím na dlaždici zobrazíte v pravém podokně informace o řešení.
Poznámka
Pokud při nasazování předkonfigurovaného řešení narazíte na problémy, zkontrolujte Oprávnění na webu azureiotsuite.com a přečtěte si Nejčastější dotazy. Pokud problémy přetrvávají, vytvořte na portálu lístek služby.
Hledali jste informace, které se týkají vašeho řešení a nejsou zde uvedeny? Sdělte nám návrhy na funkce na webu User Voice.
Upozornění
Řešení pro vzdálené monitorování zřídí ve vašem předplatném Azure sadu služeb Azure. Nasazení odráží skutečnou podnikovou architekturu. Abyste se vyhnuli zbytečným poplatkům za využití Azure, odstraňte instanci předkonfigurovaného řešení na azureiotsuite.com, jakmile s ním skončíte. Pokud předkonfigurované řešení znovu potřebujete, můžete ho snadno znovu vytvořit. Další informace o snížení spotřeby při spuštění řešení pro vzdálené monitorování najdete v tématu Konfigurace předkonfigurovaných řešení Azure IoT Suite pro ukázkové účely.
Zobrazení řídicího panelu řešení
Přes řídicí panel řešení můžete spravovat nasazené řešení. Můžete například zobrazit telemetrii, přidat zařízení a vyvolat metody.
Až bude zřizování dokončeno a dlaždice předkonfigurovaného řešení bude hlásit Připraveno, zvolte Spustit. Na nové kartě se otevře portál předkonfigurovaného řešení pro vzdálené monitorování.
Ve výchozím nastavení se na portálu řešení zobrazuje řídicí panel. Do jiných oblastní portálu řešení můžete přecházet pomocí nabídky na levé straně stránky.
Přidání zařízení
Aby se zařízení mohlo připojit k předkonfigurovanému řešení, musí se identifikovat ve službě IoT Hub pomocí platných přihlašovacích údajů. Přihlašovací údaje zařízení můžete zjistit z řídicího panelu řešení. Přihlašovací údaje zařízení vložíte do klientské aplikace později v tomto kurzu.
Pokud jste to ještě neudělali, přidejte do řešení vzdáleného monitorování vlastní zařízení. Na řídicím panelu řešení proveďte následující kroky:
V levém dolním rohu řídicího panelu klikněte na Přidat zařízení.
Na panelu Vlastní zařízení klikněte na Přidat nové.
Vyberte možnost Definovat vlastní ID zařízení. Zadejte ID zařízení, například rasppi, klikněte na Zkontrolovat ID a ověřte, že jste název ještě nepoužili ve svém řešení, a pak kliknutím na Vytvořit zřiďte zařízení.
Poznamenejte si přihlašovací údaje zařízení (ID zařízení, IoT Hub název hostitele a klíč zařízení). Vaše klientská aplikace v Raspberry Pi potřebuje tyto hodnoty pro připojení k řešení pro vzdálené monitorování. Pak klikněte na Hotovo.
V seznamu zařízení na řídicím panelu řešení vyberte své zařízení. Pak na panelu Podrobnosti o zařízení klikněte na Povolit zařízení. Stav vašeho zařízení je teď Spuštěno. Řešení pro vzdálené monitorování teď může z vašeho zařízení přijímat telemetrii a vyvolávat v něm metody.
Příprava Raspberry Pi
Instalace Raspbian
Pokud raspberry Pi používáte poprvé, musíte nainstalovat operační systém Raspbian pomocí NOOBS na SD kartu, která je součástí sady. Průvodce softwarem Raspberry Pi popisuje, jak nainstalovat operační systém na Raspberry Pi. V tomto kurzu se předpokládá, že jste na Raspberry Pi nainstalovali operační systém Raspbian.
Poznámka
Karta SD, která je součástí úvodní sady Microsoft Azure IoT Pro Raspberry Pi 3 , už má nainstalovaný NOOBS. Z této karty můžete spustit Raspberry Pi a zvolit instalaci operačního systému Raspbian.
Nastavení hardwaru
V tomto kurzu se ke generování telemetrických dat používá senzor BME280, který je součástí úvodní sady Microsoft Azure IoT Pro Raspberry Pi 3 . Pomocí indikátoru LED označuje, kdy Raspberry Pi zpracuje metodu vyvolání z řídicího panelu řešení.
Součásti na chlebové tabuli jsou:
- Červená LED
- 220-Ohmový odpor (červený, červený, hnědý)
- Senzor BME280
Následující diagram znázorňuje, jak připojit hardware:
Následující tabulka shrnuje připojení z Raspberry Pi ke komponentám na panelu cesty:
Raspberry Pi | Prkénko | Barva |
---|---|---|
GND (kolík 14) | LED -ve pin (18A) | Fialový |
GPCLK0 (pin 7) | Odpor (25A) | Oranžový |
SPI_CE0 (pin 24) | CS (39A) | Blue |
SPI_SCLK (pin 23) | SCK (36A) | Žlutý |
SPI_MISO (pin 21) | SDO (37A) | White |
SPI_MOSI (pin 19) | SDI (38A) | Green |
GND (kolík 6) | GND (35A) | Black |
3,3 V (pin 1) | 3Vo (34A) | Red |
K dokončení instalace hardwaru potřebujete:
- Připojte Raspberry Pi ke zdroji napájení, který je součástí sady.
- Připojte Raspberry Pi k síti pomocí ethernetového kabelu, který je součástí sady. Případně můžete pro Raspberry Pi nastavit bezdrátové připojení .
Dokončili jste hardwarové nastavení raspberry Pi.
Přihlášení a přístup k terminálu
K prostředí terminálu v Raspberry Pi máte dvě možnosti:
Pokud máte k Raspberry Pi připojenou klávesnici a monitor, můžete pro přístup k okně terminálu použít grafické uživatelské rozhraní Raspbian.
Přístup k příkazovému řádku v Raspberry Pi pomocí SSH z vašeho stolního počítače.
Použití okna terminálu v grafickém uživatelském rozhraní
Výchozí přihlašovací údaje pro Raspbian jsou uživatelské jméno pi a raspberry hesla. Na hlavním panelu v grafickém uživatelském rozhraní můžete spustit nástroj Terminál pomocí ikony, která vypadá jako monitor.
Přihlášení pomocí SSH
SSH můžete použít pro přístup k Raspberry Pi z příkazového řádku. Článek SSH (Secure Shell) popisuje, jak nakonfigurovat SSH na Raspberry Pi a jak se připojit z Windows nebo Linuxu & Mac OS.
Přihlaste se pomocí uživatelského jména pí a hesla raspberry.
Volitelné: Sdílení složky v Raspberry Pi
Volitelně můžete chtít sdílet složku v Raspberry Pi s vaším desktopovým prostředím. Sdílení složky vám umožní používat preferovaný desktopový textový editor (například Visual Studio Code nebo Sublime Text) k úpravě souborů v Raspberry Pi místo použití nano
nebo vi
.
Pokud chcete sdílet složku s Windows, nakonfigurujte server Samba na Raspberry Pi. Případně můžete použít integrovaný server SFTP s klientem SFTP na počítači.
Povolit SPI
Před spuštěním ukázkové aplikace musíte na Raspberry Pi povolit sběrnici SPI (Serial Peripheral Interface). Raspberry Pi komunikuje se senzorem BME280 přes sběrnici SPI. Konfigurační soubor upravte pomocí následujícího příkazu:
sudo nano /boot/config.txt
Najděte řádek:
#dtparam=spi=on
Pokud chcete zrušit komentář řádku, odstraňte
#
řádek na začátku.Uložte změny (Ctrl-O, Enter) a ukončete editor (Ctrl-X).
Pokud chcete povolit SPI, restartujte Raspberry Pi. Restartováním se odpojí terminál. Při restartování Raspberry Pi se budete muset znovu přihlásit:
sudo reboot
Stažení a konfigurace ukázky
Teď si můžete stáhnout a nakonfigurovat klientskou aplikaci vzdáleného monitorování na raspberry Pi.
Instalace Node.js
Pokud jste to ještě neudělali, nainstalujte Node.js na Raspberry Pi. Sada IoT SDK pro Node.js vyžaduje verzi 0.11.5 Node.js nebo novější. Následující kroky ukazují, jak na Raspberry Pi nainstalovat Node.js v6.10.2:
Pomocí následujícího příkazu aktualizujte Raspberry Pi:
sudo apt-get update
Pomocí následujícího příkazu stáhněte binární soubory Node.js do raspberry Pi:
wget https://nodejs.org/dist/v6.10.2/node-v6.10.2-linux-armv7l.tar.gz
K instalaci binárních souborů použijte následující příkaz:
sudo tar -C /usr/local --strip-components 1 -xzf node-v6.10.2-linux-armv7l.tar.gz
Pomocí následujícího příkazu ověřte, že jste úspěšně nainstalovali Node.js verze 6.10.2:
node --version
Klonování úložišť
Pokud jste to ještě neudělali, naklonujte požadovaná úložiště spuštěním následujících příkazů na pi:
cd ~
git clone --recursive https://github.com/Azure-Samples/iot-remote-monitoring-node-raspberrypi-getstartedkit.git
Aktualizace připojovací řetězec zařízení
Pomocí následujícího příkazu otevřete ukázkový konfigurační soubor v editoru nano :
nano ~/iot-remote-monitoring-node-raspberrypi-getstartedkit/advanced/config/deviceinfo
Zástupné hodnoty nahraďte ID zařízení a IoT Hub informacemi, které jste vytvořili a uložili na začátku tohoto kurzu.
Po dokončení by měl obsah souboru deviceinfo vypadat jako v následujícím příkladu:
yourdeviceid
HostName=youriothubname.azure-devices.net;DeviceId=yourdeviceid;SharedAccessKey=yourdevicekey
Uložte změny (Ctrl-O, Enter) a ukončete editor (Ctrl-X).
Spuštění ukázky
Spuštěním následujících příkazů nainstalujte požadované balíčky pro ukázku:
cd ~/iot-remote-monitoring-node-raspberrypi-getstartedkit/advance/1.0
npm install
Ukázkový program teď můžete spustit na Raspberry Pi. Zadejte příkaz:
sudo node ~/iot-remote-monitoring-node-raspberrypi-getstartedkit/advanced/1.0/remote_monitoring.js
Následující ukázkový výstup je příkladem výstupu, který vidíte na příkazovém řádku Raspberry Pi:
Stisknutím kombinace kláves Ctrl+C můžete program kdykoli ukončit.
Zobrazení telemetrie
Raspberry Pi teď odesílá telemetrii do řešení vzdáleného monitorování. Telemetrii můžete zobrazit na řídicím panelu řešení. Z řídicího panelu řešení můžete také posílat zprávy do Raspberry Pi.
- Přejděte na řídicí panel řešení.
- V rozevíracím seznamu Zařízení k zobrazení vyberte své zařízení.
- Telemetrie z Raspberry Pi se zobrazí na řídicím panelu.
Zahájení aktualizace firmwaru
Proces aktualizace firmwaru stáhne a nainstaluje aktualizovanou verzi klientské aplikace zařízení na Raspberry Pi. Další informace o procesu aktualizace firmwaru najdete v popisu vzoru aktualizace firmwaru v tématu Přehled správy zařízení pomocí IoT Hub.
Proces aktualizace firmwaru zahájíte vyvoláním metody v zařízení. Tato metoda je asynchronní a vrátí se hned po zahájení procesu aktualizace. Zařízení používá ohlášené vlastnosti k oznámení řešení o průběhu aktualizace.
Metody v Raspberry Pi vyvoláte z řídicího panelu řešení. Když se Raspberry Pi poprvé připojí k řešení vzdáleného monitorování, odešle informace o metodách, které podporuje.
Na řídicím panelu řešení klikněte na Zařízení a přejděte na stránku Zařízení . V seznamu zařízení vyberte Raspberry Pi. Pak zvolte Metody:
Na stránce Invoke Method zvolte v rozevíracím seznamu Metodamožnost InitiateFirmwareUpdate.
Do pole FWPackageURI zadejte https://raw.githubusercontent.com/Azure-Samples/iot-remote-monitoring-node-raspberrypi-getstartedkit/master/advanced/2.0/raspberry.js. Tento soubor obsahuje implementaci firmwaru verze 2.0.
Zvolte InvokeMethod. Aplikace na Raspberry Pi odešle potvrzení zpět na řídicí panel řešení. Potom spustí proces aktualizace firmwaru stažením nové verze firmwaru:
Sledování procesu aktualizace firmwaru
Proces aktualizace firmwaru můžete sledovat, jak běží na zařízení, a zobrazením ohlášených vlastností na řídicím panelu řešení:
Průběh procesu aktualizace můžete zobrazit na Raspberry Pi:
Poznámka
Aplikace pro vzdálené monitorování se po dokončení aktualizace bezobslužně restartuje. Pomocí příkazu
ps -ef
ověřte, že je spuštěný. Pokud chcete proces ukončit, použijtekill
příkaz s ID procesu.Stav aktualizace firmwaru, jak oznámilo zařízení, můžete zobrazit na portálu řešení. Následující snímek obrazovky ukazuje stav a dobu trvání jednotlivých fází procesu aktualizace a novou verzi firmwaru:
Pokud přejdete zpět na řídicí panel, můžete po aktualizaci firmwaru ověřit, že zařízení stále odesílá telemetrii.
Upozornění
Pokud necháte řešení vzdáleného monitorování spuštěné ve svém účtu Azure, bude se vám účtovat čas jeho spuštění. Další informace o snížení spotřeby při spuštění řešení pro vzdálené monitorování najdete v tématu Konfigurace předkonfigurovaných řešení Azure IoT Suite pro ukázkové účely. Po dokončení používání odstraňte předkonfigurované řešení ze svého účtu Azure.
Další kroky
Další ukázky a dokumentaci k Azure IoT najdete na webu Azure IoT Dev Center .