Test des communications (synchronisation des périphériques désactivée) - 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.

Test des communications (synchronisation des périphériques désactivée)

  1. Assurez-vous que votre ordinateur et le périphérique AWS IoT Greengrass principal sont connectés à Internet via le même réseau.

    1. Sur le périphérique AWS IoT Greengrass principal, exécutez la commande suivante pour trouver son adresse IP.

      hostname -I
    2. Sur votre ordinateur, exécutez la commande suivante à l'aide de l'adresse IP du noyau. Vous pouvez utilisez Ctrl + C pour arrêter la commande ping.

      ping IP-address

      Un résultat similaire à ce qui suit indique une communication réussie entre l'ordinateur et le périphérique AWS IoT Greengrass principal (0 % de perte de paquets) :

      Sortie de commande ping réussie.
      Note

      Si vous ne parvenez pas à envoyer un ping à une instance EC2 en cours d'exécution AWS IoT Greengrass, assurez-vous que les règles du groupe de sécurité entrant pour l'instance autorisent le trafic ICMP pour les messages de demande Echo. Pour plus d'informations, consultez la section Ajout de règles à un groupe de sécurité dans le guide de l'utilisateur Amazon EC2.

      Sur les ordinateurs hôtes Windows, dans l'application Pare-feu Windows avec fonctions avancées de sécurité, vous pouvez devoir activer une règle entrante qui autorise les demandes d'écho entrantes (par exemple, Partage de fichiers et d'imprimante (demande d'écho - ICMPv4-In)) ou en créer une.

  2. Obtenez votre AWS IoT point de terminaison.

    1. Dans le volet de navigation de la AWS IoT console, sélectionnez Paramètres.

    2. Sous Point de terminaison des données de l'appareil, notez la valeur du point de terminaison. Vous allez utiliser cette valeur pour remplacer l'espace réservé AWS_IOT_ENDPOINT dans les commandes des étapes suivantes.

  3. Sur votre ordinateur (et non sur le périphérique AWS IoT Greengrass principal), ouvrez deux fenêtres de ligne de commande (terminal ou invite de commande). Une fenêtre représente le périphérique client GG_Switch et l'autre représente le périphérique client GG_TrafficLight .

    1. Dans la fenêtre de l'appareil client GG_Switch, exécutez les commandes suivantes.

      • Remplacez path-to-certs-folder par le chemin d'accès au dossier qui contient les certificats, clés et fichiers Python.

      • Remplacez AWS_IOT_ENDPOINT par votre point de terminaison.

      • Remplacez les deux CertId instances de commutateur par l'ID du certificat dans le nom de fichier de votre appareil client GG_Switch.

      cd path-to-certs-folder python lightController.py --endpoint AWS_IOT_ENDPOINT --rootCA AmazonRootCA1.pem --cert switchCertId-certificate.pem.crt --key switchCertId-private.pem.key --thingName GG_TrafficLight --clientId GG_Switch
    2. Dans la fenêtre de l'appareil TrafficLight client GG_, exécutez les commandes suivantes.

      • Remplacez path-to-certs-folder par le chemin d'accès au dossier qui contient les certificats, clés et fichiers Python.

      • Remplacez AWS_IOT_ENDPOINT par votre point de terminaison.

      • Remplacez les deux CertId instances light par l'ID du certificat dans le nom de fichier de votre appareil TrafficLight client GG_.

      cd path-to-certs-folder python trafficLight.py --endpoint AWS_IOT_ENDPOINT --rootCA AmazonRootCA1.pem --cert lightCertId-certificate.pem.crt --key lightCertId-private.pem.key --thingName GG_TrafficLight --clientId GG_TrafficLight

      Toutes les 20 secondes, le commutateur met à jour l'état du shadow sur V, J et R, et le feu affiche son nouvel état, comme illustré ci-après.

      Sortie GG_Switch :

      Capture d'écran de la sortie associée à GG_Switch.

      TrafficLight Sortie GG_ :

      Capture d'écran de la sortie associée à GG_TrafficLight.

    Lorsqu'il est exécuté pour la première fois, chaque script de périphérique client exécute le service de AWS IoT Greengrass découverte pour se connecter au AWS IoT Greengrass cœur (via Internet). Une fois qu'un appareil client a découvert et s'est connecté avec succès au AWS IoT Greengrass cœur, les futures opérations peuvent être exécutées localement.

    Note

    Les scripts lightController.py et trafficLight.py stockent les informations de connexion dans le dossier groupCA, qui est créé dans le même dossier que les scripts. Si vous recevez des erreurs de connexion, assurez-vous que l'adresse IP du ggc-host fichier correspond au point de terminaison de l'adresse IP de votre cœur.

  4. Dans la AWS IoT console, choisissez votre AWS IoT Greengrass groupe, choisissez l'onglet Appareils clients, puis choisissez GG_ TrafficLight pour ouvrir la page des détails de l' AWS IoT appareil client.

  5. Choisissez l'onglet Device Shadows. Une fois que le GG_Switch a changé d'état, aucune mise à jour ne devrait être apportée à cette ombre. C'est parce que le GG_ TrafficLight est configuré pour désactiver la synchronisation des ombres avec le cloud.

  6. Appuyez sur Ctrl + C dans la fenêtre de l'appareil client GG_Switch (lightController.py). Vous devriez voir que la fenêtre GG_ TrafficLight (trafficLight.py) cesse de recevoir des messages de changement d'état.

    Ces fenêtres doivent rester ouvertes, afin que vous puissiez exécuter les commandes de la section suivante.