Connecter votre Raspberry Pi 3 à la solution de supervision à distance et envoyer la télémétrie depuis un capteur réel à l’aide de Node.js
Ce tutoriel 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. 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.
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 :
- Connectez-vous à azureiotsuite.com à l’aide des informations d’identification de votre compte Azure, puis cliquez sur + pour créer une solution.
- Cliquez sur Sélectionner sur la vignette Surveillance à distance.
- Entrez un Nom de solution pour votre solution préconfigurée de surveillance à distance.
- Sélectionnez la région et l’abonnement à utiliser pour configurer la solution.
- 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
- Cliquez sur la vignette de votre solution présentant l’état Approvisionnement .
- Notez les états d’approvisionnement à mesure que les services Azure sont déployés dans votre abonnement Azure.
- Une fois l’approvisionnement terminé, l’état prend la valeur Prêt.
- 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.
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.
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.
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 :
Dans le coin inférieur gauche du tableau de bord, cliquez sur Ajouter un périphérique.
Dans le panneau Appareil personnalisé, cliquez sur Ajouter nouveau.
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.
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é.
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 :
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
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 :
Pour mettre à jour votre Raspberry Pi, utilisez la commande suivante :
sudo apt-get update
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
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
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 n’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 source dans l’éditeur nano à l’aide de la commande suivante :
nano ~/iot-remote-monitoring-node-raspberrypi-getstartedkit/basic/remote_monitoring.js
Recherchez la ligne :
var connectionString = 'HostName=[Your IoT hub name].azure-devices.net;DeviceId=[Your device id];SharedAccessKey=[Your device key]';
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 tutoriel. 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/basic
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/basic/remote_monitoring.js
La sortie suivante est un exemple de sortie qui peut s’afficher à l’invite de commandes sur le 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.
Action sur l’appareil
À partir du tableau de bord de la solution, vous pouvez appeler des méthodes sur votre Raspberry Pi. Lorsque le Raspberry Pi se connecte à la solution de supervision à distance, il envoie des informations sur les méthodes qu’il prend en charge.
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 :
Dans la page Appeler une méthode, choisissez LightBlink dans la liste déroulante Méthode.
Choisissez InvokeMethod. La LED connectée au Raspberry Pi clignote plusieurs fois. L’application sur le Raspberry Pi renvoie un accusé de réception sur le tableau de bord de la solution :
Vous pouvez allumer et éteindre le voyant en utilisant la méthode ChangeLightStatus et en définissant le paramètre LightStatusValue sur la valeur 1 pour l’allumer, ou sur la valeur 0 pour l’éteindre.
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.