Connectez votre Raspberry Pi 3 à la solution de supervision à distance et activez les mises à jour de microprogramme à distance à 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éveloppez un lecteur de température et d’humidité qui peut communiquer avec le cloud.
- Activez et effectuez une mise à jour à distance du microprogramme pour mettre à jour l’application cliente sur Raspberry Pi.
Le tutoriel utilise :
- Système d’exploitation Raspbian, langage de programmation Node.js et Kit de développement logiciel (SDK) Microsoft Azure IoT pour implémenter un exemple d’appareil avec Node.js.
- Solution préconfigurée de supervision à distance de IoT Suite, fonctionnant comme un back-end basé sur le cloud.
Aperçu
Dans ce tutoriel, vous allez effectuer les étapes suivantes :
- Déployez une instance de la solution préconfigurée de supervision à distance sur votre abonnement Azure. Cette étape déploie et configure automatiquement plusieurs services Azure.
- Configurez votre appareil et vos capteurs pour communiquer avec votre ordinateur et la solution de supervision à distance.
- Mettez à jour l’exemple de code d’appareil pour vous connecter à la solution de supervision à distance et envoyez des données de télémétrie que vous pouvez afficher sur le tableau de bord de la solution.
- Utilisez l’exemple de code d’appareil pour mettre à jour l’application cliente.
Conditions préalables
Pour suivre ce tutoriel, vous avez besoin d’un abonnement Azure actif.
Remarque
Si vous n’avez pas de compte, vous pouvez créer un compte d’essai gratuit en quelques minutes. Pour plus d’informations, consultez Essai gratuit Azure.
Logiciels requis
Vous avez besoin d’un client SSH sur votre ordinateur de bureau pour vous permettre d’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 SSH de ligne de commande. Pour plus d’informations, consultez SSH avec Linux ou Mac OS.
Matériel requis
Un ordinateur de bureau pour vous permettre de vous connecter à distance à la ligne de commande sur le Raspberry Pi.
Kit de démarrage Microsoft IoT pour Raspberry Pi 3 ou composants équivalents. Ce tutoriel utilise les éléments suivants du kit :
- Raspberry Pi 3
- Carte MicroSD (avec NOOBS)
- Un câble USB Mini
- Un câble Ethernet
- Capteur BME280
- Plaque d'essai
- Câbles de pontage
- Résistances
- LEDs
Configurer la solution
Si vous n’avez pas déjà approvisionné la solution préconfigurée de supervision à 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 de supervision à distance .
- Entrez un nom de solution pour votre solution préconfigurée de supervision à distance.
- Sélectionnez la région et l’abonnement que vous souhaitez utiliser pour approvisionner la solution.
- Cliquez sur Créer une solution pour commencer le processus d’approvisionnement. Ce processus prend généralement plusieurs minutes à s’exécuter.
Attendez que le processus d’approvisionnement se termine
- Cliquez sur la vignette de votre solution avec 'état d’approvisionnement.
- Notez les états de provisionnement lorsque les services Azure sont déployés dans votre abonnement Azure.
- Une fois l’approvisionnement terminé, l’état passe à Ready.
- Cliquez sur la vignette pour afficher les détails de votre solution dans le volet droit.
Remarque
Si vous rencontrez des problèmes lors du déploiement de la solution préconfigurée, passez en revue les autorisations sur le site azureiotsuite.com et la FAQ . Si les problèmes persistent, créez un ticket de service sur le portail .
Y a-t-il des détails que vous vous attendez à voir qui ne sont pas répertoriés pour votre solution ? Donnez-nous des suggestions de fonctionnalités sur user Voice.
Avertissement
La solution de supervision à distance provisionne un ensemble de services Azure dans votre abonnement Azure. Le déploiement reflète une architecture d’entreprise réelle. Pour éviter les frais de consommation Azure inutiles, supprimez votre instance de la solution préconfigurée à azureiotsuite.com lorsque vous avez terminé de l’utiliser. Si vous avez besoin de la solution préconfigurée, vous pouvez facilement la recréer. Pour plus d’informations sur la réduction de la consommation pendant l’exécution de la solution de supervision à distance, consultez Configuration des solutions préconfigurées Azure IoT Suite à des fins de démonstration.
Afficher le tableau de bord de la solution
Le tableau de bord de la solution vous permet de 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 l’approvisionnement terminé et la vignette de votre solution préconfigurée indique Prêt, choisissez Lancer pour ouvrir votre portail de 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 situé à gauche de la page.
Ajout d’un appareil
Pour qu’un appareil se connecte à la solution préconfigurée, il doit s’identifier à 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. Vous incluez les informations d’identification de l’appareil dans votre application cliente plus loin dans ce tutoriel.
Si ce n’est 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 appareil.
Dans le panneau Appareil personnalisé, cliquez sur Ajouter un nouvel.
Choisissez Laissez-moi définir mon propre ID d’appareil. Entrez un ID d’appareil tel que rasppi, cliquez sur Vérifier l’ID pour vérifier que vous n’avez pas déjà utilisé le nom dans votre solution, puis cliquez sur Créer pour approvisionner l’appareil.
Notez les informations d’identification de l’appareil (ID d’appareil, nom d’hôte IoT Hubet de 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 des appareils dans le 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. La solution de supervision à distance peut désormais recevoir des données de télémétrie 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 guide logiciel Raspberry Pi explique comment installer un système d’exploitation sur votre Raspberry Pi. Ce tutoriel suppose que vous avez installé le système d’exploitation Raspbian sur votre Raspberry Pi.
Remarque
La carte SD incluse dans la Kit de démarrage Microsoft Azure IoT pour Raspberry Pi 3 a déjà installé NOOBS. 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 tutoriel utilise le capteur BME280 inclus dans la Kit de démarrage Microsoft Azure IoT pour Raspberry Pi 3 pour générer des données de télémétrie. Il utilise une LED pour indiquer quand le Raspberry Pi traite un appel de méthode à partir du tableau de bord de la solution.
Les composants de la plaque d'expérimentation sont les suivants :
- LED rouge
- Résistance 220-Ohm (rouge, rouge, brun)
- Capteur BME280
Le diagramme suivant montre comment connecter votre matériel :
configuration matérielle
Le tableau suivant récapitule les connexions du Raspberry Pi aux composants du tableau de navigation :
Raspberry Pi | Planche à pain | Couleur |
---|---|---|
GND (broche 14) | LED -ve broche (18A) | Purple |
GPCLK0 (broche 7) | Résistance (25A) | Orange |
SPI_CE0 (épingle 24) | CS (39A) | Bleu |
SPI_SCLK (épingle 23) | SCK (36A) | Jaune |
SPI_MISO (épingle 21) | SDO (37A) | Blanc |
SPI_MOSI (épingle 19) | SDI (38A) | Vert |
GND (broche 6) | GND (35A) | Noir |
3.3 V (Épingle 1) | 3Vo (34A) | Rouge |
Pour terminer la configuration matérielle, vous devez :
- Connectez votre Raspberry Pi à l’alimentation incluse dans le kit.
- Connectez 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.
Connectez-vous et accédez au terminal
Vous avez deux options pour accéder à un environnement 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 graphique 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 graphique utilisateur
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 de l’interface graphique utilisateur, 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 l’accès en ligne de commande à votre Raspberry Pi. L’article SSH (Secure Shell) décrit comment configurer SSH sur votre Raspberry Pi et comment se connecter à partir de Windows ou Linux & Mac OS.
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. Le partage d’un dossier vous permet d’utiliser votre éditeur de texte de bureau préféré (par exemple, 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 Raspberry Pi. Vous pouvez également utiliser le serveur de 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 Raspberry Pi. Le Raspberry Pi communique avec l’appareil de capteur BME280 sur le bus SPI. Utilisez la commande suivante pour modifier le fichier de configuration :
sudo nano /boot/config.txt
Recherchez la ligne :
#dtparam=spi=on
Pour décommenter la ligne, supprimez le
#
au début.Enregistrez vos modifications (Ctrl-O, Entrez) et quittez l’éditeur (Ctrl-X).
Pour activer SPI, redémarrez le Raspberry Pi. Le redémarrage déconnecte le terminal, vous devez vous reconnecter lorsque Raspberry Pi redémarre :
sudo reboot
Télécharger et configurer l’exemple
Vous pouvez maintenant télécharger et configurer l’application cliente de supervision à 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 nécessite la version 0.11.5 de Node.js ou ultérieure. Les étapes suivantes vous montrent comment installer Node.js v6.10.2 sur votre Raspberry Pi :
Utilisez la commande suivante pour mettre à jour votre Raspberry Pi :
sudo apt-get update
Utilisez la commande suivante pour télécharger les fichiers binaires Node.js sur votre Raspberry Pi :
wget https://nodejs.org/dist/v6.10.2/node-v6.10.2-linux-armv7l.tar.gz
Utilisez la commande suivante pour installer les fichiers binaires :
sudo tar -C /usr/local --strip-components 1 -xzf node-v6.10.2-linux-armv7l.tar.gz
Utilisez la commande suivante pour vérifier que vous avez installé Node.js v6.10.2 avec succès :
node --version
Cloner les référentiels
Si vous ne l’avez pas déjà fait, clonez les référentiels 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 de l’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 de l'espace réservé par l'identifiant de l'appareil et les informations 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, Entrez) et quittez l’éditeur (Ctrl-X).
Exécuter 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
Voici un exemple de la sortie affichée à l'invite de commande sur le Raspberry Pi :
Sortie de l’application Raspberry Pi
Appuyez sur Ctrl-C pour quitter le programme à tout moment.
Afficher les données de télémétrie
Raspberry Pi envoie désormais des données de télémétrie à la solution de supervision à distance. Vous pouvez afficher les données de télémétrie dans 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 pour afficher.
- Les données de télémétrie de Raspberry Pi s’affichent sur le tableau de bord.
Raspberry Pi
Lancer 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 de l’appareil sur 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.
Vous lancez le processus de mise à jour du microprogramme en appelant une méthode sur l’appareil. Cette méthode est asynchrone et retourne 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 Raspberry Pi se connecte d’abord à 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 visiter la page Appareils. Sélectionnez votre Raspberry Pi dans la liste des appareils . Choisissez ensuite Méthodes:
Dans la page Invoke Method, choisissez InitiateFirmwareUpdate dans la liste déroulante Méthode .
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.
Choisissez InvokeMethod. L’application sur Raspberry Pi renvoie un accusé de réception au tableau de bord de la solution. Il démarre ensuite le processus de mise à jour du microprogramme en téléchargeant la nouvelle version du microprogramme :
Observer le processus de mise à jour du microprogramme
Vous pouvez observer le processus de mise à jour du microprogramme au fur et à mesure qu’il s’exécute sur l’appareil et en affichant les propriétés signalées dans le tableau de bord de la solution :
Vous pouvez afficher la progression du processus de mise à jour sur le Raspberry Pi :
Remarque
L’application de supervision à distance redémarre en mode silencieux une fois la mise à jour terminée. Utilisez la commande
ps -ef
pour vérifier qu’elle est en cours d’exécution. Si vous souhaitez terminer le processus, utilisez la commandekill
avec l’ID de processus.Vous pouvez afficher l’état de la mise à jour du microprogramme, comme indiqué par l’appareil, dans le portail de solution. La capture d’écran suivante montre l’état et la durée de chaque étape du processus de mise à jour et la nouvelle version du microprogramme :
Si vous revenez au tableau de bord, vous pouvez vérifier que l’appareil envoie toujours des données de télémétrie après la mise à jour du microprogramme.
Avertissement
Si vous laissez la solution de supervision à distance s’exécutant dans votre compte Azure, vous êtes facturé pour le moment où elle s’exécute. Pour plus d’informations sur la réduction de la consommation pendant l’exécution de la solution de supervision à distance, consultez 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 terminé de l’utiliser.
Étapes suivantes
Visitez le centre de développement Azure IoT pour obtenir plus d’exemples et de documentation sur Azure IoT.