Comment connecter Raspberry PI à Azure IoT: instructions étape par étape

Bonjour, Habr! Je vous présente la traduction de l'article Connexion de Raspberry PI via Azure IoT: Tutoriel pas à pas .

Dans cet article, nous vous montrerons comment connecter votre Raspberry Pi en tant que périphérique pour transmettre des signaux au panneau LED à l'aide du module Azure IoT Edge.

Dans la plupart des étapes, nous utiliserons l'Azure CLI ainsi que le portail Azure pour lancer Azure IoT Edge.

Pour ce faire, nous aurons besoin de:

  • Raspberry Pi 3 modèle B + (panneau LED)
  • Compte Microsoft Azure
  • Dernière version d'Azure CLI
  • Extension CLI Azure IoT (composant)

Installer et configurer Azure IoT


Maintenant, nous installons Azure CLI, créons un hub IoT et connectons nos appareils. Nous allons également créer un identifiant pour le Raspberry Pi et utiliser ses paramètres d'accès pour la reconnaissance dans le IoT Hub. En outre, nous utilisons add-edge-enabled pour connecter le Raspberry Pi à Azure IoT Edge.

Pour installer et configurer initialement Azure IoT, vous devez:

  1. Installez la dernière version d'Azure CLI sur votre ordinateur à partir de docs.microsoft.com/en-us/cli/azure/install-azure-cli?view=azure-cli-latest
  2. Configurer Azure CLI à l'aide de:

    $ az extension add --name azure-cli-iot-ext</li> 
  3. Construisez un groupe de ressources pour notre projet:

     $ az group create --name rasp-IoT --location westus 
  4. Créez une passerelle pour connecter des périphériques à Azure IoT:

     $ az iot hub create --resource-group rasp-IoT --name rasp-IoT-Hub --sku S1 
  5. Créez des ID pour Raspberry Pi et appareil:

     $ az iot hub device-identity create --hub-name rasp-IoT-Hub --device-id myPi001 --edge-enabled 

    Cette commande produira une chaîne spécifique qui sera nécessaire pour connecter le périphérique.
  6. Copiez la chaîne de sortie dans un fichier ou un presse-papiers. Nous l'utiliserons plus tard pour connecter l'appareil au hub IoT.

Connectez le Raspberry Pi


Les modules Azure IoT Edge fonctionnent comme des conteneurs. Pour connecter le Raspberry Pi au Azure IoT Hub et Azure IoT Edge, nous avons besoin de:

  1. Installez Docker sur Raspberry Pi:

     $ curl -fsSL get.docker.com -o get-docker.sh && sh get-docker.sh 

    Vous pouvez également vérifier sa version à l'aide de la commande: $ sudo docker version
  2. Installez Azure IoT Edge Runtime, qui fonctionnera comme un démon d'arrière-plan:

     $ curl -L https://aka.ms/libiothsm-std-linux-armhf-latest -o libiothsm-std.deb && sudo dpkg -i ./libiothsm-std.deb 

     $ curl -L https://aka.ms/iotedged-linux-armhf-latest -o iotedge.deb && sudo dpkg -i ./iotedge.deb 

     $sudo apt-get install -f 

     $ curl -L https://aka.ms/iotedged-linux-armhf-latest -o iotedge.deb && sudo dpkg -i ./iotedge.deb 

     $sudo apt-get install -f 
  3. Connectez notre appareil au hub Azure IoT en utilisant:

     $ az iot hub device-identity create --hub-name rasp-IoT-Hub --device-id myPi001 --edge-enabled 

    Nous avons déjà utilisé cette commande pour créer un identifiant pour le Raspberry Pi.
  4. Ouvrez le fichier /etc/iotedge/config.yaml dans n'importe quel éditeur et remplacez «AJOUTER /etc/iotedge/config.yaml DE CONNEXION DE L'APPAREIL ICI» par une ligne spécifique pour connecter l'appareil que nous avons précédemment copié dans le fichier / tampon.

    image
  5. Redémarrez le processus d'arrière-plan IoT Edge et vérifiez son état:

 $ sudo systemctl restart iotedge 

 $ sudo systemctl status iotedge 

image

Nous pouvons maintenant installer le module de contrôle du panneau LED.

Déploiement de modules Edge Azure IoT


Voici un exemple simple qui montre clairement le concept, le déploiement et la gestion des modules Azure IoT Edge:

  1. Lancez Azure Portal dans un navigateur.
  2. Accédez à IoT Hub et avec Automation Device Management, sélectionnez IoT Edge.

    image
  3. Dans les périphériques IoT Edge, sélectionnez le périphérique PI1 et cliquez sur Définir les modules.

    image
  4. Développez la liste Ajouter et sélectionnez le module IoT Edge pour déployer le module personnalisé.

    image

Nous allons maintenant utiliser le portail Azure pour déployer le conteneur en tant que module. Avant cela, nous devons créer une image Docker et l'enregistrer dans le Docker Hub à titre d'exemple.

Accédez aux modules personnalisés IoT Edge et procédez comme suit:

  1. Dans le champ Nom, entrez Matrix. Ce sera le nom de notre module.
  2. Dans le champ Image URI, entrez janakiramm / matrix: v1.
  3. Comme vous n'avez pas besoin d'accéder au bus I2C local sur le Raspberry Pi, vous devez exécuter le conteneur en mode Privilège. Pour l'activer, dans les options de création de conteneur, insérez la ligne JSON suivante:

     { “HostConfig”: { “Privileged”: true } } 
  4. Laissez les paramètres par défaut dans la case suivante.
  5. Cliquez sur Enregistrer pour confirmer le déploiement.

Cela lancera le déploiement de modules personnalisés sur le périphérique.

Vous pouvez également vérifier la connexion du module à l'appareil à l'aide de l'interface CLI iotedge sur le Raspberry Pi:

 $ sudo iotedge list 



Dès que le module est déployé avec succès, les diodes du panneau connecté au Raspberry Pi clignotent.



En utilisant le service cloud Azure IoT, vous pouvez créer des solutions IoT beaucoup plus complexes et riches en fonctionnalités. Par exemple, faites évoluer instantanément les développements personnalisés sur les périphériques et envoyez uniquement les données actuelles au cloud, tandis que les principales fonctions sont utilisées localement.

Nous pensons que cela semble très prometteur.

Puces de décentralisation dans Azure


Une nouvelle fonctionnalité intéressante est apparue qui distingue Microsoft des autres fournisseurs de services cloud et, à notre avis, met en œuvre plus complètement le concept de décentralisation complète de WEB 3.0. Bien sûr, nous entendons les technologies de registre distribué.

Chez Azure Blockchain Workbench, vous pouvez implémenter des solutions innovantes de blockchain sur une plateforme accessible à l'échelle mondiale. Honnêtement, peu de choses peuvent rivaliser avec «l'effet wow» que les applications décentralisées professionnelles (DApps) provoquent pour les utilisateurs.

Et pourtant, cela ne se réfère pas seulement à la popularité flagrante de la crypto et du battage médiatique autour de l'ICO. À l'aide d'Azure Blockchain Workbench, les développeurs peuvent implémenter les fonctionnalités uniques d'un registre distribué dans leurs projets, y compris les solutions IoT. Et c'est ce qui apporte une valeur ajoutée aux résultats que les clients reçoivent.

La technologie de registre distribué promet d'apporter une valeur ajoutée à un tout nouveau niveau, donc même une étude superficielle du service cloud correspondant (comme le même Azure Blockchain Workbench) nécessitera une publication distincte. Bien sûr, cela ne nous dérange absolument pas de «plonger» en particulier la Blockchain Azure si vous êtes également intéressé par ce sujet.

Restez en contact, restez à l'écoute et parlez de ce que vous souhaitez lire d'autre.

Source: https://habr.com/ru/post/fr436050/


All Articles