Configuration d'une carte Raspberry Pi - AWS IoT Greengrass

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.

 

  1. 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.

  2. Téléchargez le système d'exploitation Raspbian Buster sous la forme d'un fichier zip.

  3. 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.

  4. 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.

  5. 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.

  6. 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.

  7. 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 :

    Capture d'écran de l'outil de configuration du logiciel Raspberry Pi (raspi-config).

    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
  8. 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)?), indiquez yes. Le mot de passe par défaut pour le Raspberry Pi est raspberry.

    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 commande hostname -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é :

    Fenêtre PuTTY avec l'option Prompt sélectionnée.

    Choisissez ensuite Session, saisissez l'adresse IP du Raspberry Pi, puis sélectionnez Open en utilisant les paramètres par défaut.

    Fenêtre PuTTY avec l'adresse IP dans le champ « Host Name (or IP address) ».

    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 et raspberry, respectivement.

    Fenêtre de terminal PuTTY initiale.
    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.

  9. 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
  10. 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.

    1. 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 fichier README.sysctl.

    2. 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
    3. 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 et fs.protected_symlinks = 1.

  11. 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.

    1. Accédez à votre répertoire boot.

      cd /boot/
    2. 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 commande sudo pour modifier en tant qu'utilisateur racine (par exemple, sudo nano cmdline.txt).

      cgroup_enable=memory cgroup_memory=1
    3. Maintenant, redémarrez le Pi.

      sudo reboot

    Votre Raspberry Pi doit maintenant être prêt pour AWS IoT Greengrass.

  12. 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
  13. 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 GreengrassExemplesrepository sur GitHub. Ces commandes décompressent et exécutent le vérificateur de dépendance dans leDownloadsdirectory.

    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 noyaudans 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.