Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Technology >> Processus de fabrication

Connexion sécurisée d'un Arduino NB 1500 à Azure IoT Hub

Composants et fournitures

Arduino MKR NB 1500
× 1
Câble Micro-USB vers USB (Générique)
× 1
Batterie Lipo 3,7 V
× 1
Carte Micro SIM
× 1

Applications et services en ligne

Arduino IDE
Microsoft Azure

À propos de ce projet

Remarque :Ce tutoriel est peut-être obsolète, veuillez y aller ici pour une version plus actuelle.

Présentation

Azure IoT Hub vous permet de « connecter, surveiller et gérer en toute sécurité des milliards d'appareils pour développer des applications Internet des objets (IoT) ».

Les appareils peuvent se connecter à Azure IoT Hub à l'aide des protocoles suivants :HTTPS, AMPQ et MQTT - Azure fournit également des SDK pour de nombreux langages de programmation afin d'abstraire ces protocoles. De plus, vous pouvez vous connecter à IoT Hub via un client MQTT. Cette page contient plus d'informations sur la prise en charge de MQTT par IoT Hub.

Ce didacticiel vous expliquera comment connecter une carte Arduino MKR NB 1500 en toute sécurité à Azure IoT Hub à l'aide d'un client MQTT. MQTT (Message Queuing Telemetry Transport) est un protocole de connectivité M2M (machine à machine) qui fournit un abonnement à la messagerie et un transport de publication.

Les appareils peuvent utiliser des jetons SAS ou des certificats X.509 pour l'authentification avec Azure IoT Hub, plus d'informations sont disponibles ici. Dans ce tutoriel, nous utiliserons un certificat X.509 pour authentifier la carte.

Chaque carte Arduino MKR avec connectivité embarquée, y compris le MKR NB 1500, est équipée d'un élément cryptographique Microchip ATECC508A ou ATECC608A. Cet élément cryptographique peut être utilisé pour générer et stocker en toute sécurité une clé ECC (Elliptic Curve Cryptography) 256 bits.

Configuration logicielle et matérielle

Si vous n'avez pas installé l'IDE Arduino sur votre ordinateur, téléchargez-le et installez-le.

Une fois qu'il est installé, assurez-vous que le dernier package "Arduino SAMD Boards" est installé. Vous pouvez vérifier en ouvrant l'IDE Arduino et en ouvrant les Outils -> Carte :"..." -> Gestionnaire de carte... entrée de menu et recherchez "Arduno SAMD". Au moment d'écrire ces lignes, la 1.6.20 était la dernière version.

Ensuite, vous devrez installer les bibliothèques Arduino qui seront utilisées, en utilisant le gestionnaire de bibliothèque de l'IDE Arduino. Ouvrez Esquisse -> Inclure la bibliothèque -> Gérer les bibliothèques... menu, recherchez et installez individuellement chacune des bibliothèques suivantes :

  • MKRNB
  • ArduinoBearSSL
  • ArduinoECCX08
  • Client ArduinoMqtt
  • Exemples de fournisseur de cloud Arduino

Insérez maintenant la carte micro SIM dans la fente au bas de la carte MKR NB 1500 et connectez la batterie Lipo 3,7 V au connecteur JST. Branchez ensuite le MKR NB 1500 avec le câble micro USB à votre ordinateur, sélectionnez le port série dans l'IDE Arduino à l'aide des Outils -> Port "..." menu et sélectionnez également Arduino MKR NB 1500 dans Outils -> Carte "..." menu.

Configuration et ajout de la carte à Azure IoT Hub

Comme mentionné ci-dessus, Azure IoT Hub autorise les appareils qui se connectent à l'aide du protocole MQTT et utilisent des certificats X.509 pour l'authentification. Nous utiliserons un croquis pour générer un certificat X.509 auto-signé sur le tableau, puis ajouterons le SHA1 de ce certificat au portail Azure IoT Hub.

Le certificat auto-signé peut être généré à l'aide d'un exemple d'esquisse de la bibliothèque ArduinoECCX08. Ouvrez l'esquisse dans l'IDE Arduino en utilisant le Fichier -> Exemples -> ArduinoECCX08 -> Outils -> ECCX08SelfSignedCert . Cliquez sur le bouton « Télécharger » pour créer et télécharger le croquis sur votre carte, puis ouvrez le moniteur série. Assurez-vous que la configuration de fin de ligne est définie sur "Both NL &CR".

Ce croquis vous invitera à configurer définitivement votre élément crypto ATECC508A à ECC608A s'il n'est pas configuré et verrouillé. REMARQUE :ce processus de verrouillage est permanent et irréversible, mais est nécessaire pour utiliser l'élément crypto - la configuration définie par l'esquisse permet d'utiliser 5 emplacements de clé privée avec n'importe quel fournisseur de cloud (ou serveur) et une clé privée peut être régénérée à tout moment pour tout de le 5 privé emplacements pour clés (0 - 4) . Lorsque la carte est expédiée de l'usine, l'élément cryptographique est dans un état non configuré et déverrouillé.

Après cela, vous serez invité à fournir des informations à inclure dans le certificat auto-signé, notamment l'année, le mois, le jour et l'heure d'émission du certificat et la période d'expiration en années. Pour ce didacticiel, nous utiliserons l'emplacement 0 pour générer et stocker la clé privée utilisée pour signer le certificat auto-signé (les emplacements 1 à 4 peuvent être utilisés pour générer et stocker des clés privées supplémentaires si nécessaire) - puis l'emplacement 8 sera utilisé pour stocker la date d'émission et d'expiration du certificat avec sa signature. Remarque : Étant donné que la clé privée est générée à l'intérieur de l'élément cryptographique, elle ne quitte jamais l'appareil et est stockée en toute sécurité et ne peut pas être lue.

Copiez la valeur SHA1 générée (dans cette capture d'écran "99d6d96fa55bdf08b4040a142a8d0d934bc9d12b "). Nous l'utiliserons dans une étape ultérieure comme empreinte digitale pour le certificat auto-signé pour l'appareil dans Azure IoT Hub.

Maintenant que nous avons un certificat auto-signé et l'empreinte SHA1 pour identifier la carte, nous devons nous connecter au portail Azure IoT Hub et créer un nouvel appareil pour celui-ci.

1) Ouvrez un navigateur Web et accédez à portal.azure.com.

2) Si vous n'avez pas encore de compte Azure, cliquez sur le bouton "Créer un !" lien sur la page pour créer un compte. Sinon, entrez votre adresse e-mail et cliquez sur "Suivant" et suivez le processus de connexion.

3) Dans le panneau de navigation de gauche, cliquez sur "Créer une ressource".

4) Cliquez ensuite sur « Internet des objets » et « IoT Hub ».

5) Vous serez invité à sélectionner un abonnement, un groupe de ressources, une région et un nom IoT Hub. Dans la capture d'écran ci-dessous, « Essai gratuit », « MKR », « Est des États-Unis » et « ArduinoProjectHubTutorial » ont été utilisés comme entrée. Cliquez sur "Réviser + Créer" pour continuer.

6) Un écran de confirmation apparaîtra, cliquez sur "Créer".

7) Vous devrez attendre quelques minutes pour que l'IoT Hub soit créé et déployé.

8) Une fois le déploiement terminé, un bouton « Aller à la ressource » apparaîtra, cliquez dessus.

9) Maintenant, nous pouvons créer un nouvel appareil IoT, cliquez sur « Appareils IoT » sous l'en-tête « Explorer ».

10) Cliquez sur le bouton "Ajouter" pour ajouter un nouvel appareil.

11) Entrez un nom pour l'appareil, ci-dessous "MyMKRNB1500" a été entré, puis cliquez sur l'onglet "X.509 Self-Signed". Collez le SHA1 du moniteur série de l'IDE Arduino pour l'empreinte numérique principale et secondaire. Cliquez ensuite sur le bouton "Enregistrer" pour créer l'appareil.

12) Vous verrez maintenant une nouvelle entrée sur la page Appareils IoT.

Connecter le tableau à Azure IoT Hub

1) Ouvrez le sketch Azure IoT Hub NB dans l'IDE Arduino en utilisant Fichier -> Exemples -> Exemples de fournisseur de cloud Arduino -> AzureIoTHub-> Azure_IoT_Hub_NB.

2) Dans l'onglet arduino_secrets.h, renseignez le code PIN (si nécessaire) de la carte SIM.

// NB settings#define SECRET_PINNUMBER "" 

3) Mettez à jour la valeur du courtier avec le point de terminaison créé dans le portail Azure IoT Hub.

// Remplissez le nom d'hôte de votre courtier Azure IoT Hub#define SECRET_BROKER ".azure-devices.net" 

4) Mettez à jour la valeur de l'identifiant de l'appareil, avec le nom de l'appareil que vous avez créé dans le portail Azure IoT Hub.

// Renseignez l'identifiant de l'appareil#define SECRET_DEVICE_ID "" 

5) Téléchargez le croquis sur votre carte et ouvrez le moniteur série. Le tableau tentera de se connecter au réseau cellulaire et, en cas de succès, essaiera de se connecter à Azure IoT Hub à l'aide de MQTT.

Interagir avec le conseil d'administration sur Azure IoT Core

Maintenant que votre tableau s'est connecté avec succès à Azure IoT Hub, nous pouvons utiliser le portail Azure IoT Hub pour interagir avec lui. Le sketch envoie un message aux devices/{deviceId}/messages/events/ sujet toutes les 5 secondes et écoute les messages sur devices/{deviceId}/messages/devicebound/# sujet.

Dans le portail Azure IoT Hub, cliquez sur la ligne d'ID d'appareil dans le tableau Appareils IoT de votre tableau. Cliquez ensuite sur le bouton "Message à l'appareil" dans la barre d'outils.

Vous pouvez maintenant saisir un corps de message à envoyer à l'appareil, dans la capture d'écran ci-dessous "Bonjour :) " a été saisi. Cliquez sur le bouton "Envoyer un message" dans la barre d'outils pour envoyer le message.

Lorsque la carte reçoit le message, le moniteur série de l'IDE Arduino l'affiche.

Pour afficher les messages envoyés par le tableau :

1) Connectez-vous à shell.azure.com (sélectionnez « Bash » s'il s'agit de votre première fois lorsque vous y êtes invité).

2) Installez l'extension IoT Hub :

ajout d'extension az --name azure-cli-iot-ext 

3) Exécutez la commande suivante, remplacez avec le nom de votre hub (entrez y si vous êtes invité à mettre à jour les dépendances) :

az iot hub monitor-events --hub-name   

4) Vous verrez des messages imprimés sur le shell :

Conclusion

Dans ce didacticiel, nous avons expliqué comment utiliser en toute sécurité une carte Arduino MKR NB 1500 avec Azure IoT Hub. Un certificat X.509 auto-signé a été utilisé pour s'authentifier auprès d'Azure IoT Hub à l'aide du protocole MQTT avec l'ATECC508A ou l'ATECC608A stockant la clé privée associée au certificat. Des messages MQTT ont été envoyés vers et depuis le tableau.

Ce n'est que le début, vous pouvez utiliser Azure IoT Hub avec de nombreux autres services fournis par Azure !

Code

Github
https://github.com/arduino/ArduinoCloudProviderExamples

Processus de fabrication

  1. Comment l'IoT connecte les lieux de travail
  2. La carte Arduino cible l'IoT industriel
  3. Les kits de développement prennent en charge Azure RTOS
  4. Raspberry PI Based IoT Project Connecting DHT11 Sensor
  5. IoT dans le cloud :Azure vs AWS
  6. Enregistreur de données GPS, analyse spatiale et Azure IoT Hub.
  7. Moniteur de fréquence cardiaque utilisant l'IoT
  8. Utiliser l'IoT pour contrôler à distance un bras robotique
  9. Piscine Azure IoT