Académique Documents
Professionnel Documents
Culture Documents
com
La programmation
avec Nœud-ROUGE
●327
Programmation avec Node-RED
Concevoir des projets IoT avec Raspberry Pi,
Arduino et ESP32
Dogan Ibrahim
● Tous droits réservés. Aucune partie de ce livre ne peut être reproduite sous quelque forme matérielle que ce soit, y compris
la photocopie, ou le stockage sur quelque support que ce soit par des moyens électroniques et que ce soit de manière transitoire
ou accessoire dans le cadre d'une autre poursuite de cette publication, sans l'autorisation écrite du détenteur des droits d'auteur,
sauf conformément aux dispositions du Copyright Designs and Patents Act 1988 ou aux termes d'une licence délivrée par
Copyright Licensing Agency Ltd., 90 Tottenham Court Road, Londres, Angleterre W1P 9HE. Les demandes d'autorisation du titulaire
du droit d'auteur pour reproduire toute partie de la publication doivent être adressées aux éditeurs.
● Déclaration
L'auteur et l'éditeur ont fait de leur mieux pour garantir l'exactitude des informations contenues dans ce livre. Ils
n'assument pas, ou déclinent par la présente, toute responsabilité envers quiconque pour toute perte ou dommage causé
par des erreurs ou omissions dans ce livre, que ces erreurs ou omissions résultent d'une négligence, d'un accident ou de
Une notice de catalogue pour ce livre est disponible auprès de la British Library.
●ISBN978-1-907920-88-2
© Copyright 2020 : Elektor International Media bv
Elektor fait partie d'EIM, la première source mondiale d'informations techniques essentielles et de produits électroniques destinés aux ingénieurs
professionnels, aux concepteurs électroniques et aux entreprises souhaitant les engager. Chaque jour, notre équipe internationale développe et diffuse du
contenu de haute qualité - via une variété de canaux médiatiques (y compris les magazines, la vidéo, les médias numériques et les réseaux sociaux) dans
Préface. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Chapitre 1 • Raspberry Pi 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.1 Aperçu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Résumé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.1 Aperçu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.6 Résumé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.1 Aperçu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.4 Aide. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
3.9 Arrêt. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
3.10 Résumé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
4.1 Aperçu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
●5
Programmation avec Node-RED
4.17 Projet 9 – Obtenir les bulletins météo – Afficher le bulletin météo local . . . . . . 70
4.22 Résumé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
5.1 Aperçu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
●6
5.4.1 Utilisation d'une variable contextuelle pour faire clignoter la LED. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
5.5.1 Utilisation de variables contextuelles pour faire clignoter les LED en alternance. . . . . . . . . . . . . . . . . . . . . 89
5.9 Projet 19 – Contrôler plusieurs ports GPIO à distance par courrier électronique. . . . . . . . . . . . . 98
6.6 Projet 24 – Affichage de la température et de l'humidité locales sur l'écran LCD. . . . . . . . . . . 120
6.9 Projet 27 – Capteur de température et d'humidité DHT11 avec écran LCD. . . . . . . . 124
6.14 Projet 31 – Affichage d'un message sur un écran LCD parallèle . . . . . . . . . . . . . . . . . . . . . 139
●7
Programmation avec Node-RED
8.6 Projet 36 – Utiliser des jauges pour afficher la température et l'humidité . . . . . . . . . . 158
8.8 Projet 38 – Utilisation d'un curseur pour modifier la luminosité des LED . . . . . . . . . . . . . . . . . . . . . 161
8.9 Projet 39 – Utiliser des nœuds de boutons pour contrôler une LED . . . . . . . . . . . . . . . . . . . . . . 163
8.10 Projet 40 – Utilisation de nœuds de commutation et de texte pour contrôler une LED . . . . . . . . . . . . . . . 165
9.3 Projet 43 – Contrôler plusieurs LED à partir d'un téléphone mobile – basé sur UDP
communication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
9.8 Projet 48 – Programme de chat – Chat de téléphone portable vers Raspberry Pi. . . . . . . . . . . . . 184
●8
10.3 Projet 51 – Lecture du contenu d'un fichier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
11.2 Projet 53 – Communiquer avec Arduino via une ligne série. . . . . . . . . . . . . . . . . 199
11.7 Projet 58 – Connexion de Raspberry Pi et Arduino Uno à l'aide de ports USB. . . . . . . 220
11.8 Projet 59 – Envoi de données série du Raspberry Pi vers Arduino via radio RF. . . 222
12.10 Projet 64 – Lumières LED clignotantes aléatoires ayant des couleurs aléatoires. . . . . . . . . . . 238
12.13 Projet 66 – Défilement des relevés de pression sur la matrice LED . . . . . . . . . . . . 242
●9
Programmation avec Node-RED
13.6 Projet 70 – Affichage de la température ambiante sous forme de jauge et de graphique . . . . . . . . 251
18.4 Utilisation de MQTT dans la domotique et dans les projets IoT . . . . . . . . . . . . . . . . . . . . 281
●dix
18.6 Le processeur ESP8266 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283
18.7 Projet 77 – Faire clignoter une LED à l'aide de l'ESP8266 NodeMCU. . . . . . . . . . . . . . . . . . 285
18.9 Projet 78 – Contrôle d'une LED à l'aide de l'ESP8266 NodeMCU avec MQTT –
LED connectée au Raspberry Pi. . . . . . . . . . . . . . . . . . . . . . . . . . 288
18.10 Projet 79 – Contrôle d'une LED à l'aide d'ESP8266 NodeMCU avec MQTT – LED
connecté à ESP8266 NodeMCU. . . . . . . . . . . . . . . . . . . . . . . . 293
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323
●11
Programmation avec Node-RED
●12
Préface
Préface
Il devient important pour les utilisateurs de microcontrôleurs de s'adapter rapidement aux nouvelles technologies
et d'apprendre l'architecture et l'utilisation des microcontrôleurs 32 bits hautes performances. Plusieurs fabricants
proposent des microcontrôleurs 32 bits comme processeurs à usage général dans les applications embarquées.
L'architecture ARM est actuellement l'une des architectures de microcontrôleurs 32 bits les plus fréquemment
utilisées dans les appareils mobiles, tels que les téléphones mobiles, les iPad, les consoles de jeux et dans de
nombreux autres appareils portables.
Raspberry Pi est basé sur l'architecture ARM et est actuellement l'un des ordinateurs monocarte les
plus couramment utilisés par les étudiants, les ingénieurs et les amateurs. Il existe des centaines de
projets basés sur Raspberry Pi disponibles sur Internet
Arduino est également une carte de développement de microcontrôleurs très populaire. Bien qu'il soit basé sur une
architecture 8 bits, il est largement utilisé car il est pris en charge par un grand nombre de bibliothèques logicielles, ce qui
facilite le développement de projets dans des délais relativement courts.
Un autre microcontrôleur populaire est l'ESP32. Il est largement vendu sous le nom de carte de développement
connue sous le nom d'ESP32 DevKitC. La raison pour laquelle l'ESP32 est très populaire est qu'il intègre des
capacités Wi-Fi et Bluetooth, de nombreux ports d'entrée numériques et analogiques et des minuteries intégrées.
De plus, sa consommation d'énergie est très faible et il dispose d'un processeur qui peut être mis en mode veille,
qui consomme extrêmement peu de courant.
L'Internet des objets (IoT) devient un domaine d'application majeur des systèmes embarqués. En
conséquence, de plus en plus de personnes s’intéressent à la conception et à la programmation
embarquées. En outre, nous pouvons constater que de plus en plus d’établissements d’enseignement
technique et d’universités s’éloignent des anciens microcontrôleurs 8 bits et 16 bits et introduisent des
microcontrôleurs intégrés 32 bits dans leurs programmes. Certaines applications IoT exigent de la précision,
une puissance de traitement élevée et une très faible consommation d'énergie.
Node-RED est un éditeur visuel open source pour câbler l'Internet des objets produit par IBM. Node-
RED est livré avec un grand nombre de nœuds pour gérer une variété de tâches. Les nœuds requis
sont sélectionnés et réunis pour effectuer une tâche particulière. Node-RED est basé sur une
programmation de type flux dans laquelle les nœuds sont configurés et réunis pour former un
programme d'application. Il existe des nœuds pour effectuer des tâches très complexes, notamment
l'accès au Web, Twitter, le courrier électronique, HTTP, Bluetooth, MQTT, le contrôle des ports GPIO,
etc. L'avantage de Node-RED est que le programmeur n'a pas besoin d'apprendre à écrire.
programmes complexes. Par exemple, un e-mail peut être envoyé en joignant quelques nœuds et en
écrivant quelques lignes de code.
Le but de ce livre est d'enseigner comment Node-RED peut être utilisé dans des projets. Le processeur
principal utilisé dans la majorité des projets de ce livre est Raspberry Pi 4. Des chapitres sont inclus pour
montrer comment Node-RED peut être utilisé avec Arduino Uno, ESP32 DevKitC et les cartes de
développement de microcontrôleurs ESP8266 NodeMCU.
●13
Programmation avec Node-RED
De nombreux exemples de projets sont donnés dans le livre. Tous les projets ont été entièrement testés et
fonctionnaient au moment de la rédaction de ce livre. Les utilisateurs peuvent sélectionner les programmes de flux
des projets sur le site Web du livre et les configurer en fonction de leurs propres applications. Le fonctionnement de
chaque programme de flux est entièrement décrit dans le livre.
J'espère que vous apprécierez la lecture de ce livre et que vous pourrez ensuite utiliser Node-RED avec bonheur dans vos
futurs projets.
●14
Chapitre 1 • Raspberry Pi 4
Chapitre 1 • Raspberry Pi 4
1 .1 Aperçu
Raspberry Pi est récemment devenu l'un des ordinateurs monocarte les plus populaires et les plus
puissants utilisés par les étudiants, les amateurs et les ingénieurs professionnels. Raspberry Pi 4 est
la version la plus récente et la plus puissante du Raspberry Pi. Dans ce chapitre, nous examinerons
les spécifications et exigences de base de l'ordinateur Raspberry Pi 4. Ce qui est inclus dans ce
chapitre peut facilement être appliqué à d’autres modèles de la famille Raspberry Pi.
1 .2 Parties du Raspberry Pi 4
Tout comme ses versions précédentes, le Raspberry Pi 4 est un ordinateur monocarte présentant les spécifications
de base suivantes :
●15
Programmation avec Node-RED
Une brève description des différents composants de la carte est donnée ci-dessous :
Processeur: le processeur est enfermé dans un capuchon métallique et il est basé sur Broadcom
BCM2711B0, qui consiste en un cœur Cortex A-72, fonctionnant à 1,5 GHz.
RAM: Il existe 3 versions de Raspberry Pi 4 selon la quantité de RAM DDR4 requise : 1 Go, 2 Go et 4
Go.
Ports USB: Raspberry Pi 4 comprend 2 ports USB 3.0, 2 ports USB 2.0 et 1 port USB-C. Le taux de transfert
de données de l'USB 3.0 est de 4 800 Mbps (mégabits par seconde), tandis que l'USB 2.0 peut transférer
jusqu'à 480 Mbps, soit 10 fois plus lent que l'USB 2.0. Le port USB-C permet de connecter la carte à une
source d'alimentation appropriée.
Ethernet: Le port Ethernet permet de connecter la carte directement à un port Ethernet d'un routeur.
Le port prend en charge les connexions Gigabit (125 Mbps).
HDMI: Deux ports micro HDMI sont fournis et prennent en charge des résolutions d'écran jusqu'à 4K. Des adaptateurs HDMI
peuvent être utilisés pour interfacer la carte à des appareils HDMI de taille standard.
GPIO: Un en-tête à 40 broches est fourni en tant que GPIO (General Purpose Input Output). Ceci est
compatible avec les ports GPIO précédents.
Port audio et vidéo: Une prise de type jack 3,5 mm est fournie pour l'interface audio stéréo et vidéo
composite. Des écouteurs peuvent être connectés à ce port. Des amplificateurs externes seront nécessaires
pour connecter des haut-parleurs à ce port. Ce port prend également en charge la vidéo composite,
permettant de connecter des téléviseurs, des projecteurs et d'autres périphériques d'affichage compatibles
avec la vidéo composite au port.
Port CSI: Il s'agit du port caméra (Camera Serial Interface), permettant de connecter une caméra
compatible au Raspberry Pi.
Port DSI: Il s'agit du port d'affichage (Display Serial Interface), permettant de connecter un écran
compatible (par exemple un écran Raspberry Pi de 7 pouces) au Raspberry Pi.
Port PoE: Il s'agit d'un connecteur à 4 broches, permettant au Raspberry Pi de recevoir l'alimentation d'une
connexion réseau.
Carte Micro SD: Cette carte est montée sur le porte-carte placé au bas de la carte et contient le
logiciel du système d'exploitation ainsi que les données du système d'exploitation et de l'utilisateur.
Exigences du Raspberry Pi 4
Comme indiqué ci-dessous, un certain nombre de périphériques externes sont requis avant que le Raspberry Pi puisse être
utilisé :
• Source de courant
• Carte Micro SD
●16
Chapitre 1 • Raspberry Pi 4
Source de courant: Une alimentation 5V 3A avec un connecteur de type USB-C est requise. Vous pouvez soit
acheter l'alimentation officielle du Raspberry Pi 4 (Figure 1.2), soit utiliser un adaptateur USB-C pour fournir
l'alimentation à partir d'une source externe.
Carte Micro SD: Il est recommandé d'utiliser une carte micro SD d'une capacité d'au moins 8 Go, bien qu'une
capacité plus élevée (par exemple 16 Go ou 32 Go) soit préférable car il y aura de la place pour croître à l'avenir. Une
carte de classe 10 (ou plus rapide) est recommandée.
Système opérateur: Vous pouvez acheter le système d'exploitation préchargé sur une carte micro SD, connu sous
le nom de NOOBS (New Out Of Box Software) qui nécessite une configuration minimale avant d'être pleinement
fonctionnel. L'alternative consiste à acheter une carte micro SD vierge et à télécharger le système d'exploitation sur
cette carte. Les étapes pour préparer une nouvelle carte micro SD avec le système d'exploitation sont détaillées
dans le chapitre suivant.
Clavier et souris USB: Vous pouvez utiliser une paire clavier et souris sans fil ou filaire. Si vous
utilisez une paire filaire, vous devez connecter le clavier à l'un des ports USB et la souris à un autre
port USB. Si vous utilisez un clavier et une souris sans fil, vous devez connecter le dongle sans fil à
l'un des ports USB.
●17
Programmation avec Node-RED
Afficher: Un moniteur d'affichage compatible HDMI standard avec un adaptateur micro HDMI vers HDMI standard
peut être utilisé. Alternativement, un moniteur d'affichage de type VGA avec un adaptateur micro HDMI vers VGA ou
un adaptateur DVI-D peut être utilisé. Si vous possédez un ancien téléviseur doté d'une interface vidéo composite,
vous pouvez alors le connecter au port Raspberry Pi 3,5 mm avec un connecteur de type TRRS. Vous pouvez
également envisager d'acheter des pièces supplémentaires, comme un boîtier, un ventilateur de processeur, etc. Le
boîtier est très utile car il protège l'électronique de votre Raspberry Pi. La température de fonctionnement du
processeur peut atteindre 80 degrés Celsius. L'utilisation d'un ventilateur (voir Figure 1.3) rend le processeur plus
efficace car il peut abaisser sa température d'environ 50 %.
1 .3 .1 Option de configuration 1
Comme le montre la figure 1.4, dans cette option, divers appareils sont connectés directement au Raspberry Pi 4.
Selon le type de moniteur d'affichage dont nous disposons, nous pouvons utiliser un écran HDMI, un moniteur VGA,
un moniteur DVI-D ou un téléviseur. Notez qu'en fonction des périphériques USB externes utilisés, vous pouvez
utiliser soit les ports USB 2.0, soit les ports USB 3.0.
●18
Chapitre 1 • Raspberry Pi 4
1 .3 .2 Option de configuration 2
Dans cette option, illustrée à la figure 1.5, un hub alimenté est utilisé pour connecter les périphériques USB.
Résumé
Dans ce chapitre, nous avons découvert les principaux composants et leurs fonctions de la carte
Raspberry Pi 4. De plus, nous avons appris comment configurer Raspberry Pi 4.
Dans le prochain chapitre, nous apprendrons comment installer le dernier système d'exploitation Raspberry
Pi, Raspbian Buster, sur une nouvelle carte micro SD vierge.
●19
Programmation avec Node-RED
2 .1 Aperçu
Dans le dernier chapitre, nous avons examiné certaines fonctionnalités matérielles du Raspberry Pi 4 et
appris comment configurer le matériel à l'aide de divers périphériques externes. Dans ce chapitre, nous
apprendrons comment installer le dernier système d'exploitation Raspberry Pi, Raspbian Buster, sur une
carte SD.
• Téléchargez l'image Buster dans un dossier sur votre PC (par exemple C:\RPIBuster) à partir du lien
suivant en cliquant sur le bouton Télécharger ZIP dans la sectionRaspbian Buster avec ordinateur de
bureau et logiciels recommandés(voir Figure 2.1). Au moment de la rédaction de ce livre, le fichier
s'appelait :2019-07-10-raspbian-buster-full .img. Vous devrez peut-être utiliser le logiciel Windows
7Zip pour décompresser le téléchargement, car certaines fonctionnalités ne sont pas prises en charge
par les anciens logiciels de décompression.
https://www.raspberrypi.org/downloads/raspbian/
• Insérez votre carte micro SD vierge dans la fente pour carte de votre ordinateur. Vous devrez peut-être utiliser
un adaptateur pour ce faire.
●20
Chapitre 2 • Installation du système d'exploitation Raspberry Pi
• Téléchargez le programme Etcher sur votre PC pour flasher l'image disque. Le lien est (voir
Figure 2.2) :
https://www.balena.io/etcher/
• Double-cliquez sur Ouvrir Etcher, puis cliquez surSélectionner une image. Sélectionnez le fichier Raspbian Buster que
• Cliquez surÉclair(voir Figure 2.3). Cela peut prendre plusieurs minutes, attendez que ce soit
terminé. Le programme validera ensuite et démontera la carte micro SD. Vous pouvez retirer
votre carte micro SD une fois celle-ci démontée.
• Vous êtes maintenant prêt à utiliser votre carte micro SD sur votre Raspberry Pi 4.
●21
Programmation avec Node-RED
• Connectez votre Raspberry Pi 4 à un moniteur HDMI (vous devrez peut-être utiliser un câble
adaptateur pour la conversion mini HDMI vers HDMI standard), connectez un clavier USB et
allumez le Raspberry Pi.
• Vous verrez le menu de démarrage affiché sur le moniteur. Cliquez sur Suivant pour commencer.
• Cliquez sur l'icône Wi-Fi en haut à droite de l'écran et notez l'adresse IP sans fil de votre
Raspberry Pi (notez que cette adresse IP n'est pas statique et qu'elle peut changer la
prochaine fois que vous allumerez votre Raspberry Pi). ).
• Vous devriez maintenant être prêt à utiliser votre Raspberry Pi 4 (voir Bureau dans la Figure 2.4).
Notez que l'adresse IP de votre Raspberry Pi est également visible sur votre routeur. Vous pouvez
également obtenir l’adresse IP de votre Raspberry Pi à l’aide de votre téléphone mobile. Il existe plusieurs
programmes gratuits qui peuvent être installés sur votre téléphone mobile et qui vous montreront les
adresses IP de tous les appareils connectés à votre routeur. Dans cette section, l'utilisation d'Android
applicationsappeléQui est sur mon Wi-Fi – Scanner réseaupar Magdalmest utilisé pour montrer comment
l'adresse IP de votre Raspberry Pi peut être affichée. L'exécution de ce programme affichera l'adresse IP
sans fil du Raspberry Pi sous l'en-têteRaspberry Pi Trading Ltd.. En plus de l'adresse IP, d'autres
paramètres tels que l'adresse MAC, l'adresse de la passerelle, le masque IP, etc. sont tous affichés par ce
programme.
2 .3 Accès à distance
Il est beaucoup plus facile d'accéder au Raspberry Pi à distance via Internet, par exemple en utilisant
un PC plutôt que d'y connecter un clavier, une souris et un écran. Avant de pouvoir accéder à votre
Raspberry Pi à distance, nous devons activer le SSH et le VNC en entrant la commande suivante lors
d'une session de terminal :
●22
Chapitre 2 • Installation du système d'exploitation Raspberry Pi
Allez dans le menu de configuration et sélectionnezOptions d'interface. Descendez àP2 SSH(voir Figure 2.5)
et activez SSH. Cliquez sur<Terminer>pour quitter le menu.
Vous devez également activer VNC afin que votre Raspberry Pi soit accessible graphiquement via
Internet. Cela peut être fait en entrant la commande suivante lors d'une session de terminal :
Allez dans le menu de configuration et sélectionnezOptions d'interface. Descendez àP3 VNCet activez VNC.
Cliquez sur<Terminer>pour quitter le menu. À ce stade, vous souhaiterez peut-être arrêter votre Raspberry
Pi en cliquant sur le boutonMenu des applicationssur le bureau et en sélectionnant leFermer option.
2 .4 Utilisation de Putty
Putty est un programme de communication utilisé pour créer une connexion entre votre PC et Raspberry Pi.
Cette connexion utilise un protocole sécurisé appelé SSH (Secure Shell). Putty n'a pas besoin d'être installé
car il peut simplement être stocké dans n'importe quel dossier de votre choix et exécuté à partir de là.
https://www.putty.org/
Double-cliquez simplement pour l'exécuter et l'écran de démarrage de Putty s'affichera. Cliquez surSSHet
entrez l'adresse IP du Raspberry Pi, puis cliquez surOuvrir(voir Figure 2.6). Le message illustré à la figure 2.7
s'affichera la première fois que vous accéderez à votre Raspberry Pi. Cliquez surOuipour accepter cette
alerte de sécurité.
●23
Programmation avec Node-RED
Vous serez invité à saisir le nom d'utilisateur et le mot de passe. Notez que le nom d'utilisateur et le mot de
passe par défaut sont :
nom d'utilisateur: pi
mot de passe: framboise
Vous disposez désormais d'une connexion de terminal avec le Raspberry Pi et vous pouvez saisir des commandes, y compris
des commandes sudo. Vous pouvez utiliser les touches du curseur pour faire défiler de haut en bas les commandes que vous
avez précédemment saisies dans la même session. Vous pouvez également exécuter des programmes mais pas des
programmes graphiques.
2 .4 .1 Configuration de Putty
Par défaut, l'arrière-plan de l'écran Putty est noir avec des caractères blancs au premier plan. Dans ce livre,
nous avons utilisé un fond blanc avec des caractères noirs au premier plan, avec une taille de caractère
définie sur 12 points en gras. Les étapes pour configurer Putty avec ces paramètres sont indiquées ci-
dessous. Notez que dans cet exemple, les paramètres sont enregistrés sous le nomRPI4afin qu'ils puissent
être rappelés à chaque redémarrage de Putty :
●24
Chapitre 2 • Installation du système d'exploitation Raspberry Pi
• Redémarrer Putty
• Cliquez surCouleurssousFenêtre
• Met lePremier plan par défautetPremier plan gras par défautcouleurs au noir (Rouge:0,
Vert:0, Bleu:0)
• Met leArrière-plan par défautetArrière-plan gras par défautau blanc (Rouge : 255, Vert :
255, Bleu : 255)
• La prochaine fois que vous redémarrerez Putty, sélectionnez la session enregistrée et cliquez surChargersuivi
de Ouvrirpour démarrer une session avec la configuration enregistrée
Les étapes pour installer et utiliser VNC Viewer sur votre PC sont indiquées ci-dessous :
• Il existe de nombreux visualiseurs VNC disponibles, mais celui recommandé est TightVNC
qui peut être téléchargé à partir du site Web suivant :
https://www.tightvnc.com/download.php
●25
Programmation avec Node-RED
2 .6 Résumé
Dans ce chapitre, nous avons appris comment installer le dernier système d'exploitation Raspberry Pi sur
une carte SD. Maintenant que le logiciel est installé et que notre Raspberry Pi fonctionne, dans le chapitre
suivant, nous examinerons certaines des commandes importantes du système d'exploitation Raspberry Pi.
●26
Chapitre 3 • Utilisation de la ligne de commande
3 .1 Aperçu
Le système d'exploitation Raspberry Pi est basé sur une version du système d'exploitation Linux. Linux est
l'un des systèmes d'exploitation les plus utilisés aujourd'hui. Linux est très similaire à d'autres systèmes
d'exploitation, tels que Windows et Unix. Linux est un système d'exploitation ouvert basé sur Unix et a été
développé en collaboration par de nombreuses entreprises et universités depuis 1991. En général, Linux est
plus difficile à gérer que certains autres systèmes d'exploitation comme Windows mais offre plus de
flexibilité et des options de configuration plus larges. Il existe plusieurs versions populaires du système
d'exploitation Linux telles que Debian, Ubuntu, Red Hat, Fedora, etc. Dans ce chapitre, nous examinerons
certaines des commandes Raspberry Pi couramment utilisées que nous pouvons saisir à partir de la ligne de
commande. Les commandes saisies par l'utilisateur sont affichées en gras pour plus de clarté.
Le répertoire racine est identifié par le"/"symbole. Sous la racine, nous avons des répertoires nommés tels
quepoubelle,botte,développeur,etc.,maison,lib,perdu+trouvé,médias,mnt,opter,procédure, et
beaucoup plus. Le répertoire important pour les utilisateurs est lemaison répertoire qui contient des sous-
répertoires pour chaque utilisateur du système. Le chemin complet du répertoire personnel est/accueil/pi.
Nous pouvons accéder à notre répertoire personnel à partir de n'importe quel autre répertoire en entrant la
commandeCD ~
Quelques commandes de répertoire utiles sont données ci-dessous. Commandemot de passeaffiche le répertoire personnel de
l'utilisateur :
/accueil/pi
pi@raspberrypi :~ $
Pour afficher la structure des répertoires, entrez la commandels /comme le montre la figure 3.1.
Pour afficher les sous-répertoires et les fichiers de notre répertoire personnel, entrezlscomme le montre la figure 3.2.
●27
Programmation avec Node-RED
La commande ls peut prendre un certain nombre d'arguments. Quelques exemples sont donnés ci-dessous :
Pour afficher les sous-répertoires et fichiers sur une seule ligne :
pi@raspberrypi :~ $ls-1
Pour afficher le type de fichier, entrez la commande suivante. Notez que les répertoires ont un "/" après leur
nom, les fichiers exécutables ont un caractère "*" après leur nom :
pi@raspberrypi :~ $ls-F
pi@raspberrypi :~ $ls-m
pi@raspberrypi :~ $ls –m –F
3 .3 Autorisations de fichiers
L'un des arguments importants utilisés avec lelsla commande est"-je"(lettre minuscule l) qui affiche
les autorisations des fichiers, la taille des fichiers et la date de leur dernière modification. Dans
l'exemple de la figure 3.4, chaque ligne concerne un répertoire ou un fichier. En lisant de droite à
gauche, le nom du répertoire ou du fichier se trouve à droite. La date de création du répertoire ou du
fichier figure à gauche de son nom. Vient ensuite la taille en octets. Les caractères au début de
chaque ligne concernent les autorisations. c'est-à-dire qui est autorisé à utiliser ou modifier le fichier
ou le sous-répertoire.
●28
Chapitre 3 • Utilisation de la ligne de commande
La premièrepidans l'exemple montre qui est l'utilisateur du fichier (ou du sous-répertoire), et le deuxième
motpiaffiche le nom du groupe propriétaire du fichier (ou du sous-répertoire). Dans cet exemple, les noms
d'utilisateur et de groupe sontpi.
Les autorisations peuvent être analysées en décomposant les caractères en quatre morceaux pour le type de
fichier, l'utilisateur, le groupe et le monde. Le premier caractère d'un fichier est "-", et pour un répertoire, c'est "d".
Viennent ensuite les autorisations pour l'utilisateur, le groupe et le monde. Les autorisations sont les suivantes :
Les trois lettresrwxsont utilisés en tant que groupe et si aucune autorisation n'est attribuée, un caractère "-"
est utilisé.
A titre d'exemple, en considérant leMusiquesous-répertoire, nous avons les codes d'autorisation suivants :
d: c'est un répertoire
rwx : l'utilisateur (propriétaire) peut lire, écrire et exécuter
réception : le groupe peut lire et exécuter, mais ne peut pas écrire (par exemple créer ou
réception : supprimer) le monde (tout le monde) peut lire et exécuter, mais ne peut pas écrire
●29
Programmation avec Node-RED
LechmodLa commande est utilisée pour modifier les autorisations du fichier. Avant d'entrer dans les détails
sur la façon de modifier les autorisations, regardons quels arguments sont disponibles danschmod pour
modifier les autorisations du fichier.
Les arguments disponibles pour modifier les autorisations de fichiers sont indiqués ci-dessous. Nous pouvons utiliser ces
arguments pour ajouter/supprimer des autorisations ou pour définir explicitement des autorisations. Il est important de
réaliser que si nous définissons explicitement les autorisations, toutes les autorisations non spécifiées dans la commande
seront révoquées :
g: groupe
o: autre monde)
un: tous
+: ajouter
-: retirer
=: ensemble
r: lire
w: écrire
X: exécuter
Pour modifier les autorisations d'un fichier, nous tapons lechmodcommande, suivie d'une des lettrestoi,g,o,
ouunpour sélectionner les personnes, suivi du+ -ou=pour sélectionner le type de modification, et enfin suivi
du nom du fichier. Un exemple est donné ci-dessous. Dans cet exemple, le sous-répertoireMusique
l'utilisateur dispose-t-il des autorisations de lecture et d'écriture. Nous allons modifier les autorisations afin
que l'utilisateur n'ait pas d'autorisation de lecture sur ce fichier :
●30
Chapitre 3 • Utilisation de la ligne de commande
Pour changer notre répertoire de travail la commandeCDest utilisé. Dans l'exemple suivant, nous
changeons notre répertoire de travail enMusique:
pour remonter d'un niveau de répertoire, c'est à dire jusqu'à notre répertoire de travail par défaut :
pi@raspberrypi ~$
pour changer notre répertoire de travail enMusique, on peut aussi saisir la commande :
pour en savoir plus sur un fichier, nous pouvons utiliser la commande file. Par exemple:
●31
Programmation avec Node-RED
3 .4 Aide
Homme
Pour afficher des informations sur la façon d'utiliser une commande, nous pouvons utiliser la commande man. A titre
d'exemple, pour obtenir de l'aide sur l'utilisation dumkdircommande:
NOM
Mkdir – créer des répertoires
SYNOPSIS
Mkir [OPTION]…RÉPERTOIRE…
DESCRIPTION
Créez le(s) RÉPERTOIRE(s), s'ils n'existent pas déjà.
Les arguments obligatoires pour les options longues sont obligatoires pour les options courtes
-m, --mode=MODE
Définir le mode fichier (comme dans chmod), pas a=rwx – umask
---------------------------------------------------------------------
---------------------------------------------------------------------
Aide
Lehommecommand donne généralement plusieurs pages d’informations sur la façon d’utiliser une commande.
Nous pouvons taperqpour sortir duhommecommande et revenez à l’invite du système d’exploitation.
La commande less peut être utilisée pour afficher une longue liste une page à la fois. En utilisant les touches
fléchées haut et bas, nous pouvons nous déplacer entre les pages. Un exemple est donné ci-dessous. Taperqpour
quitter:
●32
Chapitre 3 • Utilisation de la ligne de commande
pi@raspberrypi ~$
Copier un fichier
Pour faire une copie d'un fichier, utilisez la commandeCP. Dans l'exemple suivant, une copie du fichier
monfichiertest .txtest créé et le nouveau fichier reçoit le nomtester le .txt:
Caractères génériques
Nous pouvons utiliser des caractères génériques pour sélectionner plusieurs fichiers présentant des caractéristiques similaires. par
exemple, des fichiers ayant les mêmes noms d'extension de fichier. Le"*"caractère est utilisé pour correspondre à n’importe quel
nombre de caractères. De même, le"?"caractère est utilisé pour correspondre à n’importe quel caractère. Dans l'exemple ci-dessous
Les caractères génériques [az] peuvent être utilisés pour faire correspondre n'importe quel caractère unique dans
la plage de caractères spécifiée. Un exemple est donné ci-dessous qui correspond à tous les fichiers commençant
par des lettres o,p,q,r,s, ett, et avec le" .SMS"extension:
Renommer un fichier
Vous pouvez renommer un fichier en utilisant lemvcommande. Dans l'exemple ci-dessous, le nom du fichiertest .
SMSest changé entest2 .txt:
●33
Programmation avec Node-RED
Supprimer un fichier
La commandermpeut être utilisé pour supprimer (supprimer) un fichier. Dans l'exemple ci-dessous, le fichiertest2. SMSest
supprimé:
L'argument–vpeut être utilisé pour afficher un message lorsqu'un fichier est supprimé. Également–je L'argument
demande une confirmation avant qu'un fichier ne soit supprimé. En général, les deux arguments sont utilisés
ensemble comme–vi. Un exemple est donné ci-dessous:
pi@raspberrypi ~$
Supprimer un répertoire
Un répertoire peut être supprimé à l'aide durmdircommande:
Redirection de la sortie
Le plus grand signe>peut être utilisé pour rediriger la sortie d’une commande vers un fichier. Par exemple, nous
pouvons rediriger la sortie dulscommande vers un fichier appelédernier test .txt:
LechatLa commande peut être utilisée pour afficher le contenu d'un fichier :
pi@raspberrypi ~$
●34
Chapitre 3 • Utilisation de la ligne de commande
La commande echo peut également être utilisée pour écrire une ligne de texte dans un fichier. Un exemple est présenté ci-dessous :
pi@raspberrypi ~$
LegrepLa commande peut être utilisée pour faire correspondre une chaîne dans un fichier. Un exemple est donné ci-
dessous en supposant que le fichierlin .datcontient une piqûreune ligne de texte. Notez que le mot correspondant est
affiché en gras :
pi@raspberrypi ~$
De même, la commande tail permet d'afficher les 10 dernières lignes d'un fichier. Le format de cette
commande est le suivant :
pi@raspberrypi ~$
●35
Programmation avec Node-RED
Figure 3.9 Commande : cat /proc/cpuinfo (seule une partie de la sortie est affichée)
Commandeuname –saffiche le nom du noyau du système d'exploitation, qui est Linux. Commande
uname –aaffiche des informations détaillées et complètes sur le noyau et le système d'exploitation.
Un nouvel utilisateur peut être ajouté à votre Raspberry Pi à l'aide de la commandeutilisateurajouter. Dans
l'exemple de la figure 3.10, un utilisateur appelé Johnson est ajouté. Un mot de passe pour le nouvel utilisateur peut
être ajouté à l'aide dumot de passecommande suivie du nom d'utilisateur. Dans la figure 3.10, le mot de passe de
l'utilisateur Johnson est défini surmon mot de passe(non affiché pour des raisons de sécurité). Notez que les deux
utilisateurajouteretmot de passesont des commandes privilégiées et le mot clésudodoit être saisi avant ces
commandes. Notez que le–mL'option crée un répertoire personnel pour le nouvel utilisateur.
Nous pouvons nous connecter au nouveau compte utilisateur en spécifiant le nom d'utilisateur et le mot de passe.
●36
Chapitre 3 • Utilisation de la ligne de commande
pi@raspberrypi ~$dpkg –l
…………………………….
…………………………….
pi@raspberrypi ~$
Nous pouvons également savoir si un certain logiciel est déjà installé sur notre ordinateur. Un
exemple est donné ci-dessous qui vérifie si le logiciel appelé ou nonxpdf(Lecteur PDF) est installé.
Dans cet exemplexpdfest installé et les détails de ce logiciel s'affichent :
………………………….
pi@raspberrypi ~$
Si le logiciel n'est pas installé, nous recevons un message semblable au suivant (en supposant que
nous vérifions si un progiciel appelébbgdest installé):
pi@raspberrypi ~$
Commandes super-utilisateur
Certaines commandes sont privilégiées et seules les personnes autorisées peuvent les utiliser.
Insérer le motsudoau début d'une commande nous donne le pouvoir d'utiliser la commande sans
avoir à nous connecter en tant qu'utilisateur autorisé.
La figure 3.11 montre un affichage typique des ressources système obtenu en entrant la commande
suivante (EntrerCtrl+Zpour quitter):
pi@raspberrypi ~$haut
pi@raspberrypi ~$
●37
Programmation avec Node-RED
Certains des points importants de la figure 3.11 sont résumés ci-dessous (pour les lignes 1 à 5 de
l'affichage) :
• Le pourcentage d'utilisation du processeur pour les applications système est de 5,2 (sy).
• Il n'y a pas de processus nécessitant plus ou moins de priorité (ni)
• 94,8 % du temps où le processeur est inactif (id)
• Il n'y a aucun processus en attente de fin d'E/S (wa)
• Il n'y a aucun processus en attente d'interruptions matérielles (salut).
• Il n'y a aucun processus en attente d'interruptions logicielles (si)
• Il n'y a pas de temps réservé pour un hyperviseur (st)
• La mémoire totale utilisable est de 1 939,5 Mo, dont 151,3 Mo d'octets sont utilisés, 1 353,7 Mo
sont libres et 434,5 Mo sont utilisés par les tampons/le cache.
• La ligne 5 affiche l'utilisation de l'espace de swap.
La table des processus donne les informations suivantes pour tous les processus chargés dans le système :
●38
Chapitre 3 • Utilisation de la ligne de commande
LepsLa commande peut être utilisée pour lister tous les processus utilisés par l’utilisateur actuel. Un exemple est
présenté dans la figure 3.12.
la commandeps-efdonne beaucoup plus d'informations sur les processus exécutés dans le système.
Tuer un processus
Il existe de nombreuses options pour tuer (ou arrêter) un processus. Un processus peut être tué en
spécifiant son PID et en utilisant la commande suivante :
Utilisation du disque
La commande disque libredfpeut être utilisé pour afficher les statistiques d’utilisation du disque. Un exemple est
présenté dans la figure 3.13. option–hs'affiche sous une forme lisible par l'homme.
3 .9 Arrêt
Bien que vous puissiez débrancher l'alimentation de votre Raspberry Pi lorsque vous avez fini de travailler
avec lui, cela n'est pas recommandé car de nombreux processus sont en cours d'exécution sur le système et
il est possible de corrompre le système de fichiers. Il est préférable d’arrêter le système de manière
ordonnée.
●39
Programmation avec Node-RED
La commande suivante arrêtera tous les processus et sécurisera le système de fichiers, puis éteindra le
système en toute sécurité :
Le système peut également être arrêté puis redémarré après un certain temps en entrant la commande
suivante. En option, un message d'arrêt peut être affiché si vous le souhaitez :
3 .10 Résumé
Ce chapitre a décrit l'utilisation d'un certain nombre de commandes Linux importantes. Vous devriez
pouvoir obtenir plus d'informations sur chaque commande et d'autres commandes Linux sur
Internet et dans d'autres livres sur Raspberry Pi et Linux.
Dans le chapitre suivant, nous verrons comment installer le logiciel Node-RED sur notre ordinateur
Raspberry Pi.
●40
Chapitre 4 • Installation du logiciel Node-RED sur Raspberry Pi
4 .1 Aperçu
Dans le dernier chapitre, nous avons vu comment utiliser certaines des commandes de ligne de commande
courantes du Raspberry Pi à partir d'un terminal. Dans ce chapitre, nous installerons le logiciel Node-RED sur notre
carte SD Raspberry Pi.
Si Node-RED n'est pas installé sur votre Raspberry Pi, vous pouvez facilement l'installer en entrant la
commande suivante :
Après la mise à niveau de Node-RED, la dernière version au moment de la rédaction de ce livre était la v1.0.3
et c'est la version utilisée dans tous les exemples de ce livre.
Vous pouvez démarrer Node-RED en saisissant la commande suivante en mode commande (les caractères
saisis par l'utilisateur sont en gras pour plus de clarté) :
pi@raspberrypi :~ $nœud-rouge-début
Une fois démarré, vous devriez voir des messages défiler sur votre écran, dont une partie est affichée
dans la figure 4.1.
●41