Étape 4 : Déployer et tester le composant sur un appareil principal - AWS IoT Greengrass

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.

Étape 4 : Déployer et tester le composant sur un appareil principal

Dans cette section, vous déployez le composant sur le périphérique principal pour tester ses fonctionnalités. Sur l'appareil principal, vous créez le fichier de niveau de batterie virtuel pour imiter une batterie réelle. Ensuite, vous créez des déploiements supplémentaires et vous observez les fichiers journaux des composants sur le périphérique principal pour voir le composant différer et accuser réception des mises à jour.

Pour déployer et tester le composant Hello World qui reporte les mises à jour
  1. Utilisez un éditeur de texte pour créer un fichier de niveau de batterie virtuel. Ce fichier imite une vraie batterie.

    • Sur les appareils principaux de Linux, créez un fichier nommé/home/ggc_user/virtual_battery.json. Exécutez l'éditeur de texte avec sudo des autorisations.

    • Sur les appareils principaux de Windows, créez un fichier nomméC:\Users\ggc_user\virtual_battery.json. Exécutez l'éditeur de texte en tant qu'administrateur.

    Par exemple, sur un système basé sur Linux, vous pouvez exécuter la commande suivante pour utiliser GNU nano pour créer le fichier.

    sudo nano /home/ggc_user/virtual_battery.json

    Copiez le code JSON suivant dans le fichier.

    { "battery_level": 50 }
  2. Déployez le composant Hello World sur l'appareil principal. Procédez comme suit :

    1. Dans le menu de navigation de la AWS IoT Greengrassconsole, sélectionnez Composants.

    2. Sur la page Composants, choisissez l'onglet Mes composants, puis sélectionnez com.example.BatteryAwareHelloWorld.

    3. Sur la page com.example.BatteryAwareHelloWorld, choisissez Deploy (Déployer).

    4. Dans Ajouter au déploiement, choisissez un déploiement existant à réviser ou choisissez de créer un nouveau déploiement, puis choisissez Suivant.

    5. Si vous avez choisi de créer un nouveau déploiement, choisissez le périphérique principal ou le groupe d'objets cible pour le déploiement. Sur la page Spécifier la cible, sous Cible de déploiement, choisissez un périphérique principal ou un groupe d'objets, puis cliquez sur Suivant.

    6. Sur la page Sélectionner les composants, vérifiez que le com.example.BatteryAwareHelloWorldcomposant est sélectionné, puis choisissez Next.

    7. Sur la page Configurer les composants, sélectionnez com.example.BatteryAwareHelloWorld, puis effectuez les opérations suivantes :

      1. Choisissez Configure component (Configurer un composant).

      2. Dans le com.example.BatteryAwareHelloWorld mode Configurer, sous Mise à jour de la configuration, dans Configuration à fusionner, entrez la mise à jour de configuration suivante.

        { "BatteryThreshold": 70 }
      3. Choisissez Confirmer pour fermer le modal, puis cliquez sur Suivant.

    8. Sur la page Confirmer les paramètres avancés, dans la section Politiques de déploiement, sous Politique de mise à jour des composants, vérifiez que l'option Notifier les composants est sélectionnée. L'option Notifier les composants est sélectionnée par défaut lorsque vous créez un nouveau déploiement.

    9. Sur la page Review (Révision), choisissez Deploy (Déployer).

      Le déploiement peut prendre jusqu'à une minute.

  3. Le logiciel AWS IoT Greengrass Core enregistre les données standard des processus des composants dans les fichiers journaux du logs dossier. Exécutez la commande suivante pour vérifier que le composant Hello World s'exécute et imprime des messages d'état.

    Linux or Unix
    sudo tail -f /greengrass/v2/logs/com.example.BatteryAwareHelloWorld.log
    Windows Command Prompt (CMD)
    type C:\greengrass\v2\logs\com.example.BatteryAwareHelloWorld.log
    PowerShell
    gc C:\greengrass\v2\logs\com.example.BatteryAwareHelloWorld.log -Tail 10 -Wait

    Vous devriez voir des messages similaires à ceux de l'exemple suivant.

    Hello, World! Battery level (50) is below threshold (70), so the component will defer updates.
    Note

    Si le fichier n'existe pas, le déploiement n'est peut-être pas encore terminé. Si le fichier n'existe pas dans les 30 secondes, le déploiement a probablement échoué. Cela peut se produire si le périphérique principal n'est pas autorisé à télécharger les artefacts du composant depuis le compartiment S3, par exemple. Exécutez la commande suivante pour afficher le fichier journal du logiciel AWS IoT Greengrass Core. Ce fichier inclut les journaux du service de déploiement de l'appareil principal Greengrass.

    Linux or Unix
    sudo tail -f /greengrass/v2/logs/greengrass.log
    Windows Command Prompt (CMD)
    type C:\greengrass\v2\logs\greengrass.log

    La type commande écrit le contenu du fichier sur le terminal. Exécutez cette commande plusieurs fois pour observer les modifications apportées au fichier.

    PowerShell
    gc C:\greengrass\v2\logs\greengrass.log -Tail 10 -Wait
  4. Créez un nouveau déploiement sur le périphérique principal pour vérifier que le composant reporte la mise à jour. Procédez comme suit :

    1. Dans le menu de navigation de la AWS IoT Greengrassconsole, sélectionnez Déploiements.

    2. Choisissez le déploiement que vous avez créé ou révisé précédemment.

    3. Sur la page de déploiement, choisissez Revise.

    4. Dans le mode de déploiement Revise, choisissez Revise le déploiement.

    5. Choisissez Next à chaque étape, puis choisissez Deploy.

  5. Exécutez la commande suivante pour consulter à nouveau les journaux du composant et vérifier que la mise à jour est différée.

    Linux or Unix
    sudo tail -f /greengrass/v2/logs/com.example.BatteryAwareHelloWorld.log
    Windows Command Prompt (CMD)
    type C:\greengrass\v2\logs\com.example.BatteryAwareHelloWorld.log
    PowerShell
    gc C:\greengrass\v2\logs\com.example.BatteryAwareHelloWorld.log -Tail 10 -Wait

    Vous devriez voir des messages similaires à ceux de l'exemple suivant. Le composant reporte la mise à jour de 30 secondes, de sorte qu'il imprime ce message à plusieurs reprises.

    Deferred update for deployment 50722a95-a05f-4e2a-9414-da80103269aa.
  6. Utilisez un éditeur de texte pour modifier le fichier de niveau de batterie virtuel et remplacer le niveau de batterie par une valeur supérieure au seuil, afin que le déploiement puisse se poursuivre.

    • Sur les appareils principaux de Linux, modifiez le fichier nommé/home/ggc_user/virtual_battery.json. Exécutez l'éditeur de texte avec sudo des autorisations.

    • Sur les appareils principaux de Windows, modifiez le fichier nomméC:\Users\ggc_user\virtual_battery.json. Exécutez l'éditeur de texte en tant qu'administrateur.

    Par exemple, sur un système basé sur Linux, vous pouvez exécuter la commande suivante pour utiliser GNU nano pour créer le fichier.

    sudo nano /home/ggc_user/virtual_battery.json

    Réglez le niveau de la batterie sur80.

    { "battery_level": 80 }
  7. Exécutez la commande suivante pour consulter à nouveau les journaux du composant et vérifier qu'il accuse réception de la mise à jour.

    Linux or Unix
    sudo tail -f /greengrass/v2/logs/com.example.BatteryAwareHelloWorld.log
    Windows Command Prompt (CMD)
    type C:\greengrass\v2\logs\com.example.BatteryAwareHelloWorld.log
    PowerShell
    gc C:\greengrass\v2\logs\com.example.BatteryAwareHelloWorld.log -Tail 10 -Wait

    Vous devriez voir des messages similaires aux exemples suivants.

    Hello, World! Battery level (80) is above threshold (70), so the component will acknowledge updates. Acknowledged update for deployment f9499eb2-4a40-40a7-86c1-c89887d859f1.