Share via


Connexion de votre Raspberry Pi 3 à la solution de supervision à distance et activation des mises à jour de microprogramme à distance à l’aide de Node.js

Ce didacticiel vous montre comment utiliser le Kit de démarrage Microsoft Azure IoT pour Raspberry Pi 3 pour :

  • développer un lecteur de température et d’humidité capable de communiquer avec le cloud ;
  • activer et effectuer une mise à jour à distance du microprogramme pour mettre à jour l’application cliente sur le Raspberry Pi.

Le didacticiel utilise :

  • Le système d’exploitation Raspbian, le langage de programmation Node.js et le Kit SDK Microsoft Azure IoT pour Node.js en vue d’implémenter un exemple d’appareil.
  • La solution préconfigurée de surveillance à distance Azure IoT Suite comme backend basé sur le cloud.

Vue d’ensemble

Dans ce tutoriel, vous allez effectuer les étapes suivantes :

  • Déployer une instance de la solution préconfigurée de surveillance à distance dans votre abonnement Azure. Cette étape déploie et configure automatiquement plusieurs services Azure.
  • Configurer votre appareil pour qu’il communique avec votre ordinateur et avec la solution de supervision à distance.
  • Mettre à jour l’exemple de code d’appareil pour se connecter à la solution de supervision à distance et envoyer les données de télémétrie que vous pouvez afficher sur le tableau de bord de la solution.
  • Utiliser l’exemple de code d’appareil pour mettre à jour l’application cliente.

Prérequis

Pour suivre ce didacticiel, vous avez besoin d’un compte Azure actif.

Notes

Si vous ne possédez pas de compte, vous pouvez créer un compte d’évaluation gratuit en quelques minutes. Pour plus d’informations, consultez Essai gratuit Azure.

Logiciels requis

Vous devez installer le client SSH sur votre ordinateur de bureau afin de pouvoir accéder à distance à la ligne de commande sur le Raspberry Pi.

  • Windows n’inclut pas de client SSH. Nous vous recommandons d’utiliser PuTTY.
  • La plupart des distributions Linux et Mac OS incluent l’utilitaire de ligne de commande SSH. Pour plus d’informations, consultez SSH Using Linux or Mac OS (Utilisation de SSH avec Linux ou Mac OS).

Matériel requis

Un ordinateur de bureau permettant de vous connecter à distance à la ligne de commande sur le Raspberry Pi.

Starter Kit Microsoft IoT pour Raspberry Pi 3 ou composants équivalents. Ce didacticiel utilise les éléments suivants du kit :

  • Raspberry Pi 3
  • Carte MicroSD (avec NOOBS)
  • Un câble mini USB
  • Un câble Ethernet
  • Capteur BME280
  • Platine d’expérimentation
  • Câbles de liaison
  • Résistances
  • LED

Déployer la solution

Si vous n’avez pas déjà approvisionné la solution préconfigurée de surveillance à distance dans votre compte :

  1. Connectez-vous à azureiotsuite.com à l’aide des informations d’identification de votre compte Azure, puis cliquez sur + pour créer une solution.
  2. Cliquez sur Sélectionner sur la vignette Surveillance à distance.
  3. Entrez un Nom de solution pour votre solution préconfigurée de surveillance à distance.
  4. Sélectionnez la région et l’abonnement à utiliser pour configurer la solution.
  5. Cliquez sur Créer une solution pour commencer le processus de déploiement. L’exécution de ce processus prend généralement plusieurs minutes.

Attendre la fin du processus d’approvisionnement

  1. Cliquez sur la vignette de votre solution présentant l’état Approvisionnement .
  2. Notez les états d’approvisionnement à mesure que les services Azure sont déployés dans votre abonnement Azure.
  3. Une fois l’approvisionnement terminé, l’état prend la valeur Prêt.
  4. Cliquez sur la vignette pour visualiser les détails de votre solution dans le volet droit.

Notes

Si vous rencontrez des problèmes lors du déploiement de la solution préconfigurée, consultez les articles Autorisations sur le site azureiotsuite.com et Forum Aux Questions. Si les problèmes persistent, créez un ticket de service sur le Portail.

Certains détails de votre solution semblent-ils faire défaut ? Faites-nous part de vos suggestions concernant les fonctionnalités sur UserVoice.

Avertissement

La solution de supervision à distance configure un ensemble de services Azure dans votre abonnement Azure. Le déploiement reflète une architecture d’entreprise réelle. Pour éviter des frais de consommation Azure inutiles, supprimez votre instance de la solution préconfigurée dans azureiotsuite.com quand vous ne l’utilisez plus. Si vous avez à nouveau besoin de la solution préconfigurée, vous pouvez la recréer facilement. Pour plus d’informations sur la manière de réduire votre consommation pendant l’exécution de la solution de supervision à distance, consultez Configuring Azure IoT Suite preconfigured solutions for demo purposes (Configuration des solutions préconfigurées Azure IoT Suite à des fins de démonstration).

Afficher le tableau de bord de solution

Grâce au tableau de bord de solution, vous pouvez gérer la solution déployée. Par exemple, vous pouvez afficher les données de télémétrie, ajouter des appareils et appeler des méthodes.

  1. Une fois que l’approvisionnement est terminé et que la vignette de votre solution préconfigurée indique Prêt, choisissez Lancer pour ouvrir le portail de votre solution de supervision à distance dans un nouvel onglet.

    Lancer la solution préconfigurée

  2. Par défaut, le portail de solution affiche le tableau de bord. Vous pouvez accéder à d’autres zones du portail de solution à l’aide du menu sur le côté gauche de la page.

    Tableau de bord de solution préconfigurée de surveillance à distance

Ajout d’un appareil

Pour qu’un appareil puisse se connecter à la solution préconfigurée, il doit s’identifier auprès d’IoT Hub à l’aide d’informations d’identification valides. Vous pouvez récupérer les informations d’identification de l’appareil à partir du tableau de bord de la solution. Les informations d’identification de l’appareil seront ajoutées dans votre application cliente dans la suite de ce didacticiel.

Si vous ne l’avez pas déjà fait, ajoutez un appareil personnalisé à votre solution de supervision à distance. Effectuez les étapes suivantes dans le tableau de bord de la solution :

  1. Dans le coin inférieur gauche du tableau de bord, cliquez sur Ajouter un périphérique.

    Ajout d’un appareil

  2. Dans le panneau Appareil personnalisé, cliquez sur Ajouter nouveau.

    Ajout d’un appareil personnalisé

  3. Choisissez Me laisser définir mon propre ID d'appareil. Entrez un ID d’appareil comme rasppi, cliquez sur Vérifier l’ID pour vous assurer que ce nom n’est pas déjà utilisé dans votre solution, puis cliquez sur Créer pour approvisionner l’appareil.

    Ajouter ID d’appareil

  4. Prenez note des informations d’identification de l’appareil (ID d’appareil, nom d’hôte IoT Hub et clé d’appareil). Votre application cliente sur Raspberry Pi a besoin de ces valeurs pour se connecter à la solution de supervision à distance. Cliquez ensuite sur Terminé.

    Afficher les informations d’identification d’un appareil

  5. Sélectionnez votre appareil dans la liste d’appareils du tableau de bord de la solution. Ensuite, dans le panneau Détails de l’appareil, cliquez sur Activer l’appareil. L’état de votre appareil est maintenant En cours d’exécution. La solution de supervision à distance peut désormais recevoir des données de télémétrie à partir de votre appareil et appeler des méthodes sur l’appareil.

Préparer votre Raspberry Pi

Installer Raspbian

Si c’est la première fois que vous utilisez votre Raspberry Pi, vous devez installer le système d’exploitation Raspbian à l’aide de NOOBS sur la carte SD incluse dans le kit. Le Raspberry Pi Software Guide (Guide logiciel du Raspberry Pi) indique comment installer un système d’exploitation sur votre Raspberry Pi. Pour effectuer ce didacticiel, vous devez avoir installé le système d’exploitation Raspbian sur votre Raspberry Pi.

Notes

NOOBS est déjà installé sur la carte SD incluse dans le Microsoft Azure IoT Starter Kit pour Raspberry Pi 3. Vous pouvez démarrer le Raspberry Pi à partir de cette carte et choisir d’installer le système d’exploitation Raspbian.

Configurer le matériel

Ce didacticiel utilise le capteur BME280 inclus dans le Microsoft Azure IoT Starter Kit pour Raspberry Pi 3 pour générer des données de télémétrie. Il utilise une LED pour indiquer le moment auquel le Raspberry Pi traite un appel de méthode à partir du tableau de bord de la solution.

Les composants de la platine d’expérimentation sont les suivants :

  • LED rouge
  • Résistance de 220 ohms (rouge, marron)
  • Capteur BME280

Le diagramme suivant montre comment connecter votre matériel :

Configuration matérielle de Raspberry Pi

Le tableau suivant récapitule les connexions entre le Raspberry Pi et les composants de la platine d’expérimentation :

Raspberry Pi Platine d’expérimentation Couleur
GND (broche 14) Broche à LED (18 A) Purple
GPCLK0 (broche 7) Résistance (25 A) Orange
SPI_CE0 (broche 24) CS (39 A) Bleu
SPI_SCLK (broche 23) SCK (36 A) Jaune
SPI_MISO (broche 21) SDO (37 A) White
SPI_MOSI (broche 19) SDI (38 A) Vert
GND (broche 6) GND (35 A) Noir
3,3 V (broche 1) 3Vo (34 A) Rouge

Pour terminer la configuration matérielle, vous devez :

  • connecter votre Raspberry Pi à l’alimentation incluse dans le kit.
  • connecter votre Raspberry Pi à votre réseau à l’aide du câble Ethernet inclus dans votre kit. Vous pouvez également configurer Connectivité sans fil pour votre Raspberry Pi.

Vous avez maintenant terminé la configuration matérielle de votre Raspberry Pi.

Se connecter et accéder au terminal

Deux méthodes vous permettent d’accéder à un environnement de type terminal sur votre Raspberry Pi :

  • Si vous disposez d’un clavier et d’un moniteur connectés à votre Raspberry Pi, vous pouvez utiliser l’interface utilisateur graphique Raspbian pour accéder à une fenêtre de terminal.

  • Accédez à la ligne de commande sur votre Raspberry Pi à l’aide de SSH à partir de votre ordinateur de bureau.

Utiliser une fenêtre de terminal dans l’interface utilisateur graphique

Les informations d’identification par défaut pour Raspbian sont le nom d’utilisateur pi et le mot de passe raspberry. Dans la barre des tâches dans l’interface utilisateur graphique, vous pouvez lancer l’utilitaire Terminal à l’aide de l’icône qui ressemble à un moniteur.

Se connecter avec SSH

Vous pouvez utiliser SSH pour accéder à l’aide de la ligne de commande à votre Raspberry Pi. L’article SSH (Secure Shell) décrit la configuration de SSH sur votre Raspberry Pi et la connexion à partir des systèmes d’exploitation Windows ou Linux et Mac.

Connectez-vous avec le nom d’utilisateur pi et le mot de passe raspberry.

Facultatif : partager un dossier sur votre Raspberry Pi

Si vous le souhaitez, vous pouvez partager un dossier sur votre Raspberry Pi avec votre environnement de bureau. Partager un dossier vous permet d’utiliser votre éditeur de texte de bureau favori (tel que Visual Studio Code ou Sublime Text) pour modifier des fichiers sur votre Raspberry Pi au lieu d’utiliser nano ou vi.

Pour partager un dossier avec Windows, configurez un serveur Samba sur le Raspberry Pi. Vous pouvez également utiliser le serveur SFTP intégré avec un client SFTP sur votre Bureau.

Activer SPI

Avant de pouvoir exécuter l’exemple d’application, vous devez activer le bus SPI (Serial Peripheral Interface) sur le Raspberry Pi. Le Raspberry Pi communique avec le capteur BME280 via le bus SPI. Modifiez le fichier de configuration en exécutant la commande suivante :

sudo nano /boot/config.txt

Recherchez la ligne :

#dtparam=spi=on

  • Pour annuler le commentaire sur la ligne, supprimez le # au début.

  • Enregistrez vos modifications (Ctrl-O, Entrée) et quittez l’éditeur (Ctrl-X).

  • Pour activer SPI, redémarrez le Raspberry Pi. Comme le redémarrage déconnecte le terminal, vous devez vous reconnecter au redémarrage du Raspberry Pi :

    sudo reboot
    

Télécharger et configurer l’exemple

Vous pouvez à présent télécharger et configurer l’application cliente de surveillance à distance sur votre Raspberry Pi.

Installer Node.js

Si vous ne l’avez pas déjà fait, installez Node.js sur votre Raspberry Pi. Le kit de développement logiciel (SDK) IoT pour Node.js requiert la version 0.11.5 de Node.js ou une version ultérieure. Les étapes suivantes vous montrent comment installer Node.js v6.10.2 sur votre Raspberry Pi :

  1. Pour mettre à jour votre Raspberry Pi, utilisez la commande suivante :

    sudo apt-get update
    
  2. Pour télécharger les fichiers binaires Node.js sur votre Raspberry Pi, utilisez la commande suivante :

    wget https://nodejs.org/dist/v6.10.2/node-v6.10.2-linux-armv7l.tar.gz
    
  3. Pour installer les binaires, utilisez la commande suivante :

    sudo tar -C /usr/local --strip-components 1 -xzf node-v6.10.2-linux-armv7l.tar.gz
    
  4. Pour vérifier que Node.js v6.10.2 a été installé avec succès, utilisez la commande suivante :

    node --version
    

Cloner les dépôts

Si vous ne l’avez pas déjà fait, clonez les dépôts requis en exécutant les commandes suivantes sur votre Pi :

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

Mettre à jour la chaîne de connexion d’appareil

Ouvrez l’exemple de fichier de configuration dans l’éditeur nano à l’aide de la commande suivante :

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

Remplacez les valeurs dans l’espace réservé par les informations sur l’appareil et l’IoT Hub que vous avez créées et enregistrées au début de ce didacticiel.

Lorsque vous avez terminé, le contenu du fichier deviceinfo doit ressembler à l’exemple suivant :

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

Enregistrez vos modifications (Ctrl-O, Entrée) et quittez l’éditeur (Ctrl-X).

Exécution de l'exemple

Exécutez les commandes suivantes pour installer les packages requis pour l’exemple :

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

Vous pouvez maintenant exécuter l’exemple de programme sur le Raspberry Pi. Entrez la commande :

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

La sortie suivante est un exemple de sortie qui peut s’afficher à l’invite de commandes sur le Raspberry Pi :

Sortie de l’application de Raspberry Pi

Appuyez sur Ctrl-C pour quitter le programme à tout moment.

Afficher les données de télémétrie

Le Raspberry Pi prend désormais en charge l’envoi de données de télémétrie à la solution de supervision à distance. Vous pouvez afficher les données de télémétrie sur le tableau de bord de la solution. Vous pouvez également envoyer des messages à votre Raspberry Pi à partir du tableau de bord de la solution.

  • Accédez au tableau de bord de la solution.
  • Sélectionnez votre appareil dans la liste déroulante Appareil à afficher.
  • Les données de télémétrie du Raspberry Pi s’affichent sur le tableau de bord.

Afficher les données de télémétrie depuis le Raspberry Pi

Initier la mise à jour du microprogramme

Le processus de mise à jour du microprogramme télécharge et installe une version mise à jour de l’application cliente pour appareil sur le Raspberry Pi. Pour plus d’informations sur le processus de mise à jour du microprogramme, consultez la description du modèle de mise à jour du microprogramme dans Vue d’ensemble de la gestion des appareils avec IoT Hub.

Initiez le processus de mise à jour du microprogramme en appelant une méthode sur l’appareil. Cette méthode est asynchrone et revient dès que le processus de mise à jour commence. L’appareil utilise des propriétés signalées pour informer la solution de la progression de la mise à jour.

Vous appelez des méthodes sur votre Raspberry Pi à partir du tableau de bord de la solution. Lorsque le Raspberry Pi se connecte en premier à la solution de supervision à distance, il envoie des informations sur les méthodes qu’il prend en charge.

  1. Dans le tableau de bord de la solution, cliquez sur Appareils pour accéder à la page Appareils. Sélectionnez votre Raspberry Pi dans la Liste des appareils. Ensuite, choisissez Méthodes :

    Liste des appareils dans le tableau de bord

  2. Sur la page Appeler une méthode, choisissez InitiateFirmwareUpdate dans la liste déroulante Méthode.

  3. Dans le champ FWPackageURI, entrez https://raw.githubusercontent.com/Azure-Samples/iot-remote-monitoring-node-raspberrypi-getstartedkit/master/advanced/2.0/raspberry.js. Ce fichier contient l’implémentation de la version 2.0 du microprogramme.

  4. Choisissez InvokeMethod. L’application sur le Raspberry Pi envoie un accusé de réception au tableau de bord de la solution. Elle démarre ensuite le processus de mise à jour du microprogramme en téléchargeant la nouvelle version de ce dernier :

    Afficher l’historique de la méthode

Observer le microprogramme des mises à jour

Vous pouvez observer le processus de mise à jour du microprogramme en cours d’exécution sur l’appareil et en affichant les propriétés déclarées dans le tableau de bord de solution :

  1. Vous pouvez afficher la progression du processus de mise à jour sur le Raspberry Pi :

    Afficher la progression de la mise à jour

    Notes

    L’application de surveillance à distance redémarre en mode silencieux à l’issue de la mise à jour. Utilisez la commande ps -ef pour vérifier qu’elle est en cours d’exécution. Si vous souhaitez mettre fin au processus, utilisez la commande kill avec l’ID de processus.

  2. Vous pouvez afficher l’état de la mise à jour du microprogramme, comme indiqué par l’appareil, dans le portail de la solution. La capture d’écran suivante montre l’état et la durée de chaque étape du processus de mise à jour, ainsi que la nouvelle version du microprogramme :

    Afficher l’état du travail

    Si vous accédez de nouveau au tableau de bord, vous pouvez vérifier que l’appareil continue d’envoyer la télémétrie après la mise à jour du microprogramme.

Avertissement

Si vous quittez la solution de supervision à distance en cours d’exécution dans votre compte Azure, vous êtes facturé en fonction du temps d’exécution. Pour plus d’informations sur la manière de réduire votre consommation pendant l’exécution de la solution de supervision à distance, consultez Configuring Azure IoT Suite preconfigured solutions for demo purposes (Configuration des solutions préconfigurées Azure IoT Suite à des fins de démonstration). Supprimez la solution préconfigurée de votre compte Azure lorsque vous avez fini de l’utiliser.

Étapes suivantes

Visitez le Centre de développement Azure IoT pour d’autres exemples et de la documentation complémentaire sur Azure IoT.