AWS IoT Greengrass Version 1 est entré dans la phase de durée de vie prolongée le 30 juin 2023. Pour plus d'informations, consultez la politique de AWS IoT Greengrass V1 maintenance. Après cette date, AWS IoT Greengrass V1 ne publiera pas de mises à jour fournissant des fonctionnalités, des améliorations, des corrections de bogues ou des correctifs de sécurité. Les appareils qui fonctionnent AWS IoT Greengrass V1 sous tension ne seront pas perturbés et continueront à fonctionner et à se connecter au cloud. Nous vous recommandons vivement de migrer vers AWS IoT Greengrass Version 2, qui ajoute de nouvelles fonctionnalités importantes et prend en charge des plateformes supplémentaires.
Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Configuration d'une carte Raspberry Pi
Suivez les étapes de cette rubrique pour configurer un Raspberry Pi à utiliser en tant queAWS IoT GreengrassCœur.
Astuce
AWS IoT Greengrass fournit également d'autres options pour installer le logiciel AWS IoT Greengrass Core. Par exemple, vous pouvez utiliser la configuration de l'appareil Greengrass pour configurer votre environnement et installer la dernière version du logiciel AWS IoT Greengrass Core. Ou, sur les plateformes Debian prises en charge, vous pouvez utiliser le gestionnaire de paquets APT pour installer ou mettre à niveau le logiciel AWS IoT Greengrass Core. Pour plus d'informations, consultez Installer le logiciel AWS IoT Greengrass Core.
Si vous configurez une carte Raspberry Pi pour la première fois, vous devez suivre toutes ces étapes. Sinon, vous pouvez passer à l'étape 9. Toutefois, nous vous recommandons de recréer une image de votre carte Raspberry Pi avec le système d'exploitation, comme recommandé à l'étape 2.
-
Téléchargez et installez un logiciel de formatage de carte SD tel queFormateur de carte mémoire SD
. Insérez la carte SD dans votre ordinateur. Démarrez le programme et choisissez le lecteur où vous avez inséré votre carte SD. Vous pouvez effectuer un formatage rapide de la carte SD. -
Téléchargez le système d'exploitation Raspbian Buster
sous la forme d'un fichier zip
. -
Lors de l'utilisation d'un outil d'écriture sur carte SD (par exemple, Etcher
), suivez les instructions de l'outil pour flasher le fichier zip
téléchargé sur la carte SD. Comme l'image du système d'exploitation est volumineuse, cette étape peut prendre un peu de temps. Ejectez votre carte SD de votre ordinateur et insérez la carte microSD dans votre Raspberry Pi. -
Pour le premier démarrage, nous vous recommandons de connecter la carte Raspberry Pi à un moniteur (via HDMI), un clavier et une souris. Connectez ensuite votre carte Pi à une source d'alimentation micro USB et le système d'exploitation Raspbian doit démarrer.
-
Vous pouvez également configurer la disposition du clavier de l'appareil Pi avant de continuer. Pour ce faire, cliquez sur l'icône Raspberry dans l'angle supérieur droit, choisissez Preferences, puis Mouse and Keyboard Settings. Choisissez ensuite l'onglet Keyboard et Keyboard Layout, puis sélectionnez une variante de clavier appropriée.
-
Puis connectez votre Raspberry Pi à Internet via un réseau Wi-Fi
ou un câble Ethernet. Note
Connectez votre Raspberry Pi au même réseau que votre ordinateur et assurez-vous que votre ordinateur et votre Raspberry Pi ont tous deux accès à Internet avant de continuer. Si vous vous trouvez dans un environnement de travail ou derrière un pare-feu, vous devrez peut-être connecter votre Pi et votre ordinateur au réseau invité afin que les deux appareils soient sur le même réseau. Cette approche risque néanmoins de déconnecter votre ordinateur de certaines ressources du réseau local, comme l'intranet. Une solution possible consiste à connecter le Pi ainsi que votre ordinateur au réseau Wi-Fi invité et de relier votre ordinateur au réseau local via un câble Ethernet. Avec cette configuration, votre ordinateur devrait pouvoir se connecter à la carte Raspberry Pi via le réseau Wi-Fi invité et aux ressources de votre réseau local grâce au câble Ethernet.
-
Vous devez configurer SSH
sur votre carte Pi pour pouvoir vous y connecter à distance. Sur votre Raspberry Pi, ouvrez une fenêtre de terminal et exécutez la commande suivante : sudo raspi-config
Vous devez voir ce qui suit :
Faites défiler la page vers le bas et choisissez Interfacing Options, puis P2 SSH. À l'invite, choisissez Oui. (Utilisez la clé Tab suivie de Enter). SSH doit maintenant être activé. Sélectionnez OK. Utilisez la clé Tab pour choisir Terminer, puis appuyez sur Enter. Si le Raspberry Pi ne redémarre pas automatiquement, exécutez la commande suivante :
sudo reboot
-
Sur votre Raspberry Pi, dans la fenêtre de terminal, exécutez la commande suivante :
hostname -I
Cela renvoie l'adresse IP de votre Raspberry Pi.
Note
Pour les éléments suivants, si vous recevez un message concernant l'empreinte digitale de la clé ECDSA (
Are you sure you want to continue connecting (yes/no)?
), indiquezyes
. Le mot de passe par défaut pour le Raspberry Pi estraspberry
.Si vous utilisez macOS, ouvrez une fenêtre Terminal et tapez ce qui suit :
ssh pi@
IP-address
IP-address
correspond ici à l'adresse IP de votre Raspberry Pi, obtenue en utilisant la commandehostname -I
.Si vous utilisez Windows, vous devez installer et configurer PuTTY
. Développez Connection, puis choisissez Data et assurez-vous que Prompt est sélectionné : Choisissez ensuite Session, saisissez l'adresse IP du Raspberry Pi, puis sélectionnez Open en utilisant les paramètres par défaut.
Si une alerte de sécurité PuTTY s'affiche, choisissez Yes.
L'ID de connexion et le mot de passe par défaut de la carte Raspberry Pi sont
pi
etraspberry
, respectivement.Note
Si votre ordinateur est connecté à un réseau à distance à l'aide de VPN (par exemple, un réseau professionnel), vous pouvez rencontrer des difficultés pour vous connecter au Raspberry Pi à partir de l'ordinateur à l'aide de SSH.
-
Vous êtes maintenant prêt à configurer la carte Raspberry Pi pour AWS IoT Greengrass. Tout d'abord, exécutez les commandes suivantes à partir d'une fenêtre de terminal Raspberry Pi locale ou d'une fenêtre de terminal SSH :
Astuce
AWS IoT Greengrass fournit également d'autres options pour installer le logiciel AWS IoT Greengrass Core. Par exemple, vous pouvez utiliser la configuration de l'appareil Greengrass pour configurer votre environnement et installer la dernière version du logiciel AWS IoT Greengrass Core. Ou, sur les plateformes Debian prises en charge, vous pouvez utiliser le gestionnaire de paquets APT pour installer ou mettre à niveau le logiciel AWS IoT Greengrass Core. Pour plus d'informations, consultez Installer le logiciel AWS IoT Greengrass Core.
sudo adduser --system ggc_user sudo addgroup --system ggc_group
-
Pour améliorer la sécurité sur l'appareil Pi, activez les protections hardlink et softlink (symlink) au démarrage du système d'exploitation.
-
Accédez au fichier
98-rpi.conf
.cd /etc/sysctl.d ls
Note
Si vous ne voyez pas le fichier
98-rpi.conf
, suivez les instructions fournies dans le fichierREADME.sysctl
. -
Utilisez un éditeur de texte (tel que Leafpad, GNU nano ou vi) pour ajouter les deux lignes suivantes à la fin du fichier. Vous devrez peut-être utiliser la commande
sudo
pour modifier en tant qu'utilisateur racine (par exemple,sudo nano 98-rpi.conf
).fs.protected_hardlinks = 1 fs.protected_symlinks = 1
-
Redémarrez le Pi.
sudo reboot
Après environ une minute, connectez-vous au Pi à l'aide de SSH, puis exécutez la commande suivante pour confirmer la modification :
sudo sysctl -a 2> /dev/null | grep fs.protected
Vous devez voir
fs.protected_hardlinks = 1
etfs.protected_symlinks = 1
.
-
-
Modifiez votre fichier de démarrage de ligne de commande de manière à activer et monter les cgroups de mémoire. Cela permet à AWS IoT Greengrass de définir la limite de mémoire pour les fonctions Lambda. Les Cgroups sont également requis pour exécuterAWS IoT Greengrassdans la valeur par défautConteneurisationmode.
-
Accédez à votre répertoire
boot
.cd /boot/
-
Utilisez un éditeur de texte pour ouvrir
cmdline.txt
. Ajoutez les éléments suivants à la fin de la ligne existante, et non en tant que nouvelle ligne. Vous devrez peut-être utiliser la commandesudo
pour modifier en tant qu'utilisateur racine (par exemple,sudo nano cmdline.txt
).cgroup_enable=memory cgroup_memory=1
-
Maintenant, redémarrez le Pi.
sudo reboot
Votre Raspberry Pi doit maintenant être prêt pour AWS IoT Greengrass.
-
-
Facultatif. Installez l'environnement d'exécution Java 8, qui est requis par le gestionnaire de flux. Ce didacticiel n'utilise pas le gestionnaire de flux, mais il utilise le flux de travail Default Group creation (Création du groupe par défaut) qui active le gestionnaire de flux par défaut. Utilisez les commandes suivantes pour installer l'environnement d'exécution Java 8 sur l'appareil principal, ou désactivez le gestionnaire de flux avant de déployer votre groupe. Les instructions permettant de désactiver le gestionnaire de flux sont fournies dans le module 3.
sudo apt install openjdk-8-jdk
-
Pour vous assurer que vous disposez de toutes les dépendances requises, téléchargez et exécutez le vérificateur de dépendances Greengrass depuis leAWS IoT GreengrassExemples
repository sur GitHub. Ces commandes décompressent et exécutent le vérificateur de dépendance dans le Downloads
directory.Note
Le vérificateur de dépendances peut échouer si vous exécutez la version 5.4.51 du noyau Raspbian. Cette version ne monte pas correctement les cgroups de mémoire. Cela peut entraîner l'échec des fonctions Lambda exécutées en mode conteneur.
Pour plus d'informations sur la mise à jour de votre noyau, consultez leCgroups non chargés après la mise à niveau du noyau
dans les forums Raspberry Pi. cd /home/pi/Downloads mkdir greengrass-dependency-checker-GGCv1.11.x cd greengrass-dependency-checker-GGCv1.11.x wget https://github.com/aws-samples/aws-greengrass-samples/raw/master/greengrass-dependency-checker-GGCv1.11.x.zip unzip greengrass-dependency-checker-GGCv1.11.x.zip cd greengrass-dependency-checker-GGCv1.11.x sudo modprobe configs sudo ./check_ggc_dependencies | more
Là où
more
s'affiche, appuyez sur la touche Spacebar pour afficher un autre écran de texte.Important
Ce didacticiel a besoin de l'environnement d'exécution Python 3.7 pour exécuter des fonctions Lambda locales. Lorsque le gestionnaire de flux est activé, il a également besoin de l'environnement d'exécution Java 8. Si le script
check_ggc_dependencies
génère des avertissements concernant des environnements d'exécution prérequis manquants, veillez à installer ces environnements d'exécution avant de continuer. Vous pouvez ignorer les avertissements concernant d'autres environnements d'exécution facultatifs manquants.Pour en savoir plus sur la commande modprobe, exécutez man modprobe dans le terminal.
Votre configuration Raspberry Pi est terminée. Passez au Module 2 : Installation deAWS IoT GreengrassLogiciel Core.