[PYTHON] Connexion facile entre Raspberry Pi et AWS IoT
Paramètres de connexion Raspberry Pi et AWS IoT
La méthode de connexion de base est facile à suivre AWS IoT Development Guide.
Cependant, il existe deux méthodes, et j'ai essayé les deux. Ici, nous allons vous expliquer comment utiliser l '"Assistant de connexion", qui est facile et beaucoup plus rapide à mettre en place. (Si vous êtes prêt, cela prendra environ 30 minutes)
environnement
- RaspberryPi 3B:
- Raspbian GNU/Linux 10 (buster)
- Python 2.7.16 (default, Oct 10 2019, 22:02:15)
- Ici, pour utiliser le SDK Python d'AWS IoT
--Git est installé
--SDK (aws-iot-device-sdk-python) est refroidi à partir de GitHub
- OpenSSL 1.1.1d 10 Sep 2019
- Un environnement où vous pouvez vous connecter à Internet. (Peut se connecter aux services AWS IoT)
- Vous avez un compte AWS
--Utiliser les services AWS IoT
―― Voici la procédure à partir d'avril 2020
Etapes de configuration
- Accédez au menu AWS IoT depuis votre PC
--Sélection à bord
- Appareil embarqué
--Cliquez sur comment démarrer
--Choisissez une plateforme
- Sélectionnez Linux / OSX
--Sélection de AWS IoT Device SDK
- Ici, sélectionnez Python
--Cliquez sur Suivant
- Enregistrement des choses. Enregistrez le nom de Raspberry Pi.
--Télécharger le kit de connexion
--connect_device_package.zip est téléchargé
- Décompressez le fichier téléchargé sur votre PC
--Nom du répertoire décompressé: connect_device_package
--Il y a les fichiers suivants
- RaspberryPi_test.cert.pem
- RaspberryPi_test.private.key
- RaspberryPi_test.public.key
- start.sh
--Selon README, le cryptage des communications utilise le certificat X.509 avec le protocole TLS
--Transférez le fichier téléchargé sur votre PC vers Respberry Pi
--Créez un répertoire arbitraire sur Raspberry Pi
- Copiez chaque répertoire de votre PC vers Raspberry Pi avec la commande scp
--Ouvrez le terminal de commande de votre PC
- $ scp -r Copier le nom du répertoire source Nom d'utilisateur @ adresse IP: chemin Raspberry Pi
- Exécutez le shell que vous avez copié à partir du terminal Raspberry Pi
- L'erreur suivante s'est produite dans mon environnement
- start.sh: 19: ./start.sh: pushd: not found
--Ajoutez #! / Bin / bash à la première ligne de start.sh et exécutez à nouveau
--aws-iot-device-sdk-python est refroidi depuis git
- L'exemple d'application MQTT a été exécuté avec succès après avoir été connecté au cloud et la connexion a été confirmée!
--Répertoire de l'exemple d'application à exécuter: aws-iot-device-sdk-python / samples / basicPubSub
- Exemple de shell à exécuter: basicPubSub.py
Une autre méthode de connexion
-De «Premiers pas avec AWS IoT Core» dans AWS IoT Development Guide Il est également possible de procéder un par un.
―― Du point de vue de la connexion avec RaspberryPi, il est merveilleux qu'il y ait "Utiliser AWS IoT Device SDK avec RaspberryPi" dans le menu. C'est probablement parce que Raspberry Pi est répandu pour les appareils IoT ou l'apprentissage. Cependant, il est dommage que le guide de développement n'explique pas le SDK Python. Pour le moment, le menu Utiliser AWS IoT Device SDK avec Raspberry Pi utilise uniquement le AWS IoT Device SDK for Embedded C et le AWS IoT Device SDK pour JavaScript et Node.
Voilà comment se connecter. L'expérience avec les deux méthodes a montré qu'il est beaucoup plus facile de régler à partir du menu «intégré».
Points à considérer
Lorsque j'ai essayé différentes méthodes de connexion, j'ai eu une erreur indiquant que la clé et le certificat ne correspondaient pas lors de la connexion. La méthode de vérification avec la commande openssl était pratique. Lien Qiita
La confirmation de connexion par le programme pub / sub est décrite dans un autre article Qiita.
Matériel de référence
Pour le kit SDK AWS IoT Python, consultez GitHub pour une description du script.