Installez AWS IoT Greengrass sur Ubuntu

introduction

Depuis que j'ai découvert AWS IoT Greengrass dans les affaires de mon entreprise, j'aimerais présenter des appareils et des applications équipés d'Ubuntu utilisant AWS IoT en plusieurs parties à partir de cette époque. Pour la première fois, nous vous montrerons comment créer un groupe Greengrass sur le cloud et comment installer Greengrass Core sur des appareils de périphérie.

Il existe également un article utilisant Azure IoT Edge, alors jetez un œil si vous êtes intéressé.

environnement

Fonctionnement confirmé de l'appareil (OS)

Ces appareils fonctionnent avec des packages de l'architecture armhf. J'utilise également l'appareil sur un PC exécutant Windows 10.

Qu'est-ce qu'AWS IoT Greengrass?

AWS IoT Greengrass est un logiciel de Edge computing fourni par AWS. En installant Greengrass sur un appareil périphérique, vous pouvez facilement vous connecter au cloud et déployer des applications à partir du cloud. De plus, en étendant certaines fonctions du cloud aux périphériques de périphérie, il est possible de collecter et d'analyser des données à proximité de la source de données, d'agir sur les événements locaux, de communiquer entre les périphériques locaux, etc. Pour plus de détails, veuillez consulter Site officiel AWS IoT Greengrass.

Préparation

Créer un compte AWS

Si vous n'avez pas de compte AWS, créez-en un. https://aws.amazon.com/jp/ Il existe également un niveau gratuit limité. Le niveau d'utilisation gratuit pour AWS IoT utilisé cette fois est [ici](https://aws.amazon.com/jp/free/?nc2=h_ql_pr_ft&all-free-tier.sort-by=item.additionalFields.SortRank&all-free-tier Vous pouvez le vérifier avec .sort-order = asc & awsf.Free% 20Tier% 20Categories = categories% 23iot).

Installation de WinSCP

Installez WinSCP sur votre PC pour transférer des fichiers de votre PC vers votre appareil. Veuillez consulter le site officiel pour l'installation et l'utilisation. https://winscp.net/eng/index.php

Installation de Python 3.8

Installez Python 3.8 pour une utilisation avec Lambda dans Greengrass.

sudo apt update
sudo apt install python3.8

Confirmez que l'installation a réussi.

username@ubuntu:~$ python3.8 --version
Python 3.8.0

Installation de Java 8

Installez Java 8 pour une utilisation avec Greengrass Stream Manager.

sudo apt update
sudo apt install openjdk-8-jdk

Lien vers le Java installé.

sudo ln /etc/alternatives/java /usr/bin/java8

Confirmez que l'installation a réussi.

username@ubuntu:~$ java8 -version
openjdk version "1.8.0_275"
OpenJDK Runtime Environment (build 1.8.0_275-8u275-b01-0ubuntu1~18.04-b01)
OpenJDK Client VM (build 25.275-b01, mixed mode)

activation du groupe de contrôle

Activez le groupe de contrôle pour exécuter Lambda sur le conteneur.

Ouvrez / boot / firmware / cmdline.txt.

sudo vi /boot/firmware/cmdline.txt

__ Ajoutez les valeurs suivantes à la fin de la ligne existante.

cgroup_enable=memory cgroup_memory=1

Redémarrez l'appareil.

sudo reboot

Créer un groupe Greengrass

Suivez les étapes [^ ggconfig] du guide officiel AWS pour créer un groupe Greengrass dans AWS Management Console.

  1. Sélectionnez la région de Tokyo dans le menu en haut à droite. gg0.png

  2. Ouvrez le menu "Services" en haut à gauche, entrez "iot greengrass" dans la fenêtre de recherche et cliquez sur "IoT Greengrass". gg1.png

  3. Dans le volet de navigation de gauche, accédez à Greengrass → Introduction et cliquez sur Créer un groupe. gg2.png

  4. Cliquez sur Utiliser la création par défaut.

  5. Donnez un nom au groupe et cliquez sur Suivant. Cette fois, appelons-le "Groupe eRT3".

  6. Spécifiez le nom du Greengrass Core. Conservez les valeurs par défaut et cliquez sur Suivant.

  7. Un écran de confirmation s'affiche. Confirmez et cliquez sur «Créer un groupe et un noyau».

  8. Cliquez sur Télécharger ces ressources en tant que tar.gz pour télécharger les ressources de sécurité permettant de connecter votre appareil au cloud. Ce fichier ne peut pas être téléchargé plus tard, alors assurez-vous de le télécharger ici. Après le téléchargement, cliquez sur «Terminer» pour terminer les paramètres.

Installation de Greengrass Core sur votre appareil

Installez et lancez le logiciel Greengrass Core sur votre appareil. Il existe plusieurs façons d'installer le logiciel Greengrass Core, mais ici nous allons l'installer à partir du dépôt APT [^ apt].

Configuration des ressources de sécurité et du certificat d'autorité de certification racine

Configurez les ressources de sécurité et le certificat d'autorité de certification racine nécessaires pour connecter l'appareil au cloud.

Installation de ressources de sécurité

  1. Lancez WinSCP, connectez-vous à l'appareil et placez la ressource de sécurité (fichier tar.gz) téléchargée à l'étape 8 de Création d'un groupe Greengrass (création d'un # greengrass-group) dans votre répertoire personnel. gg8-2.png

  2. Exécutez la commande suivante pour installer la ressource de sécurité. Remplacez «» par le nom de fichier de la ressource de sécurité.

    sudo mkdir -p /greengrass
    sudo tar -xzvf ~/<hash>-setup.tar.gz -C /greengrass
    

Télécharger le certificat de l'autorité de certification racine

  1. Allez dans / greengrass / certs.

    cd /greengrass/certs/
    
  2. Téléchargez le certificat Amazon Root CA 1 avec le nom «root.ca.pem».

    sudo wget -O root.ca.pem https://www.amazontrust.com/repository/AmazonRootCA1.pem
    

Assurez-vous que le fichier root.ca.pem téléchargé n'est pas vide (téléchargé correctement). Si le fichier est vide, veuillez réessayer le téléchargement.

```bash
cat root.ca.pem
```

Installez le logiciel Greengrass Core

  1. Créez un compte système Greengrass.

    sudo adduser --system ggc_user
    sudo addgroup --system ggc_group
    
  2. Installez le package de trousseau de clés AWS IoT Greengrass et ajoutez le référentiel.

    cd ~
    sudo wget -O aws-iot-greengrass-keyring.deb https://d1onfpft10uf5o.cloudfront.net/greengrass-apt/downloads/aws-iot-greengrass-keyring.deb
    sudo dpkg -i aws-iot-greengrass-keyring.deb
    
    username@ubuntu:~$ echo "deb https://dnw9lb6lzp2d8.cloudfront.net stable main" | sudo tee /etc/apt/sources.list.d/greengrass.list
    deb https://dnw9lb6lzp2d8.cloudfront.net stable main
    
  3. Mettez à jour la liste des packages et installez le logiciel Greengrass Core.

    sudo apt update
    sudo apt install aws-iot-greengrass-core
    
  4. Démarrez le démon Greengrass.

    sudo systemctl start greengrass.service
    

Exécutez la commande suivante, et si l'état «Actif» affiché est «actif (en cours d'exécution)», le démon fonctionne normalement.

```bash

username@ubuntu:~$ systemctl status greengrass.service

Exécutez la commande suivante pour démarrer automatiquement au démarrage de l'appareil.

```bash
sudo systemctl enable greengrass.service
```

Contrôle de fonctionnement

Effectuez un déploiement vide pour voir si l'appareil peut se connecter au cloud.

  1. Dans le menu de gauche, allez dans "Groupes" et cliquez sur le groupe que vous avez créé. gg11-a.png

  2. Cliquez sur Déployer dans le menu Actions pour démarrer le déploiement. gg9.png

  3. Cliquez sur Détection automatique. gg28.png

  4. Attendez quelques minutes que le déploiement se termine. Si le déploiement se termine avec succès, il réussit. gg10.png

Sommaire

Nous avons créé un groupe Greengrass sur le cloud et installé Greengrass Core sur l'appareil. Restez à l'écoute pour la prochaine fois que nous prévoyons de créer et de déployer Lambda!

Supplément

paramètres du proxy

Si l'appareil se trouve dans un environnement proxy, des paramètres proxy sont requis. Les paramètres diffèrent en fonction de l'environnement, mais pour référence, je vais vous présenter les paramètres que j'ai effectués cette fois.

Définition des variables d'environnement

Veuillez consulter cet article.

Paramètres de Greengrass Core

Configurez Greengrass Core conformément au document officiel AWS [^ proxy].

  1. Si Greengrass fonctionne, arrêtez-le.

sudo systemctl stop greengrass.service ``` 2. Ajoutez l'autorisation d'écriture à / greengrass / config / config.json et ouvrez-le.

```bash

sudo chmod +w /greengrass/config/config.json sudo vi /greengrass/config/config.json ``` Ajoutez les objets iotMqttPort et networkProxy à l'intérieur de l'objet coreThing. Le fichier après l'ajout est le suivant.

```/greengrass/config/config.json

{ "coreThing" : { "caPath" : "root.ca.pem", "certPath" : "3283c6f04d.cert.pem", "keyPath" : "3283c6f04d.private.key", "thingArn" : "arn:aws:iot:ap-northeast-1:xxxxxxxxxxxx:thing/eRT3Group_Core", "iotHost" : "xxxxxxxxxxxx-ats.iot.ap-northeast-1.amazonaws.com", "iotMqttPort" : 443, "ggHost" : "greengrass-ats.iot.ap-northeast-1.amazonaws.com", "keepAlive" : 600, "networkProxy":{ "proxy":{ "url" : "http://username:[email protected]:port/" } } }, ... ``` 3. Supprimez les autorisations d'écriture du fichier et redémarrez Greengrass.

```bash

sudo chmod -w /greengrass/config/config.json sudo systemctl start greengrass.service ```

référence

[^ ert3]: [Contrôleur OS en temps réel e-RT3 Plus F3RP70-2L](https://www.yokogawa.co.jp/solutions/products-platforms/control-system/real-time-os-controller/ert3- plateforme ai /)

Recommended Posts

Installez AWS IoT Greengrass sur Ubuntu
Installez pyqt5 sur ubuntu
Installez Ruby sur Ubuntu 20.04
Installez OpenJDK7 (JAVA) sur ubuntu 14.04
Installez Docker sur Ubuntu Server 20.04
Installez l'agent zabbix (5.0) sur Ubuntu 18.04
Installation du proxy MAV sur Ubuntu 18.04
Installez Java sur WSL Ubuntu 18.04
Installez Ubuntu Desktop 20.10 sur RaspberryPi4
Installer docker sur AWS EC2
Installez WordPress 5.5 sur Ubuntu 20.04 LTS
Installez Ubuntu Server 20.04 sur Btrfs
Remarque: installez PostgreSQL 9.5 sur Ubuntu 18.04
Installez JDK et JRE sur Ubuntu 16.10
Comment installer WildFly sur Ubuntu 18.04
Installez SonarQube sur l'instance ECS sur Ubuntu 16.04
Installez ruby sur Ubuntu 20.04 avec rbenv
Monter EFS sur Ubuntu EC2 sur AWS (amazon-efs-utils)
Installation sans tête d'Ubuntu 20.10 sur Raspberry Pi
Installez OpenJDK (Java) sur le dernier Ubuntu
Je souhaite installer PHP 7.2 sur Ubuntu 20.04.
Paramètres Wine sur Ubuntu 18.04 (installer l'éditeur WOLF RPG)
Construire et installer la version de développement Wireshark (3.3.1) sur Ubuntu
Comment installer les pilotes réseau sur Ubuntu autonome
Comment installer plusieurs JDK sur Ubuntu 18.04 LTS
Installez plusieurs Javas et basculez entre eux sur Ubuntu
Installez la dernière version de Jenkins sur Ubuntu 16
Enregistrement d'écran sur Ubuntu 20.04
Installez Gradle sur Mac
Comment installer Ruby sur une instance EC2 d'AWS
Installez Corretto 8 sur Windows
Installez OpenJDK sur macOS
Essayez DisplayLink sur Ubuntu 20.04
Installez Java sur Mac
Installez Golang sur CentOS 8
Installez Oracle JDK 8 via PPA dans AWS Ubuntu Server 16.04
Installez Neo4j 4.1.3 sur centOS
[CentOS7] Installez aws cli