Cet article s'adresse aux personnes qui souhaitent expérimenter AWS IoT pour le moment. Il s'agit d'un article qui tente de connecter le cloud et votre terminal.
Terminal OS: Ubuntu18.04LTS (démarré dans VMware) Python:3.6.9
Suivez les étapes ci-dessous pour créer un environnement de communication client cloud.
Accédez à AWS IoT et cliquez sur Commencer.
Une explication apparaîtra, mais ne vous inquiétez pas, cliquez sur "Comment commencer". Je suis encore trop mauvais en japonais et je ne sais pas ce que je dis.
Sélectionnez la plate-forme (OS) de l'appareil connecté et le langage de programmation SDK pour la connexion. Cette fois, j'utiliserai Ubuntu en tant que client, donc Sélectionnez "Linux / OS X" comme plate-forme. Tout SDK est bien, mais cette fois j'ai choisi "Python". Enfin, appuyez sur Suivant.
Enregistrez des choses. Donnez le nom «chose» de manière appropriée. Cette fois, j'ai choisi "test01".
Téléchargez le kit de connexion. Copiez le fichier téléchargé (connect_device_package.zip) sur votre terminal (Ubuntu dans ce cas).
Le kit de connexion comprend ・ SDK: aws-iot-device-sdk-python -Certificat AWS: root-CA.crt -Clé privée pour "choses": test01.private.key -Clé publique pour "choses": test01.public.key ・ Certificat pour "choses": test01.cert.pem Est inclus, et il est complètement épuisé. De plus, rien qu'en exécutant le fichier de script (start.sh) à l'intérieur, il fera tout, de l'installation du SDK à l'exécution du fichier d'exemple (basicPubSub.py). À propos, le certificat AWS diffère en fonction de la région (pays où le groupe de serveurs est installé), mais si vous accédez à la région Japon (ap-nord-est-1), le certificat de la région Japon sera téléchargé sans autorisation.
** N'appuyez pas encore sur Terminé. ** ** Dans le répertoire contenant les fichiers téléchargés, exécutez les commandes dans le cadre rouge dans l'ordre. Si vous regardez d'autres sites, il y a des gens qui le font avec des privilèges d'administrateur (sudo), mais les privilèges d'utilisateur sont d'accord.
Cependant, dans de nombreux cas, je pense que la bibliothèque est insuffisante. Dans mon cas, j'étais en colère de ne pas avoir l'autorisation de créer le dossier AWSIoTPythonSDK.
error: could not create '/usr/local/lib/python3.6/dist-packages/AWSIoTPythonSDK': Permission denied
En fait, cette erreur ressemble à une erreur d'autorisation, mais il s'agit en fait d'une erreur qui se produit car le SDK AWSIoTPython n'est pas installé. Vous pouvez y remédier en entrant la commande suivante et en installant le kit SDK AWS IoT Python.
pip install AWSIoTPythonSDK
Si vous n'avez pas de pip, installez-le avec la commande suivante.
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python get-pip.py
URL de référence: https://pip.pypa.io/en/stable/installing/
Si l'exécution réussit, le contenu suivant sera affiché sur l'écran de la console Ubuntu. Assurez-vous que Hello World! Est publié.
2020-10-11 21:09:20,862 - AWSIoTPythonSDK.core.protocol.internal.clients - DEBUG - Invoking custom event callback...
2020-10-11 21:09:20,862 - AWSIoTPythonSDK.core.protocol.mqtt_core - INFO - Performing sync subscribe...
2020-10-11 21:09:20,862 - AWSIoTPythonSDK.core.protocol.internal.workers - DEBUG - Adding a new subscription record: sdk/test/Python qos: 1
2020-10-11 21:09:20,862 - AWSIoTPythonSDK.core.protocol.internal.clients - DEBUG - Filling in custom suback event callback...
2020-10-11 21:09:20,927 - AWSIoTPythonSDK.core.protocol.internal.workers - DEBUG - Produced [suback] event
2020-10-11 21:09:20,927 - AWSIoTPythonSDK.core.protocol.internal.workers - DEBUG - Dispatching [suback] event
2020-10-11 21:09:20,927 - AWSIoTPythonSDK.core.protocol.internal.clients - DEBUG - Invoking custom event callback...
2020-10-11 21:09:20,927 - AWSIoTPythonSDK.core.protocol.internal.clients - DEBUG - This custom event callback is for pub/sub/unsub, removing it after invocation...
2020-10-11 21:09:22,930 - AWSIoTPythonSDK.core.protocol.mqtt_core - INFO - Performing sync publish...
2020-10-11 21:09:22,930 - AWSIoTPythonSDK.core.protocol.internal.clients - DEBUG - Filling in custom puback (QoS>0) event callback...
2020-10-11 21:09:22,954 - AWSIoTPythonSDK.core.protocol.internal.workers - DEBUG - Produced [puback] event
2020-10-11 21:09:22,955 - AWSIoTPythonSDK.core.protocol.internal.workers - DEBUG - Dispatching [puback] event
2020-10-11 21:09:22,955 - AWSIoTPythonSDK.core.protocol.internal.clients - DEBUG - Invoking custom event callback...
2020-10-11 21:09:22,955 - AWSIoTPythonSDK.core.protocol.internal.clients - DEBUG - This custom event callback is for pub/sub/unsub, removing it after invocation...
2020-10-11 21:09:22,983 - AWSIoTPythonSDK.core.protocol.internal.workers - DEBUG - Produced [message] event
2020-10-11 21:09:22,984 - AWSIoTPythonSDK.core.protocol.internal.workers - DEBUG - Dispatching [message] event
Received a new message:
b'{"message": "Hello World!", "sequence": 0}'
from topic:
sdk/test/Python
--------------
Si vous avez publié avec succès du côté de l'appareil IoT, il s'affichera à l'écran comme indiqué dans l'image ci-dessous.
Cette fois, au contraire, publiez depuis le cloud vers l'appareil IoT. Entrez les caractères appropriés dans la case «Étape 4: Envoyer un message à l'appareil». Cette fois, j'ai ajouté "Long time no see!".
Cliquez sur Envoyer un message. Si tout se passe bien, le contenu suivant sera affiché sur le terminal où vous avez exécuté start.sh.
Received a new message:
b'Long time no see!'
from topic:
sdk/test/Python
--------------
Lorsque vous appuyez sur "Terminer", l'écran de confirmation final apparaîtra. Ne vous inquiétez pas, appuyez sur "Terminer".
Merci pour votre soutien.
J'ai implémenté une communication cloud AWS IoT simple et expérimentée. La prochaine fois, j'aimerais échanger des informations sur les capteurs.
À propos de MQTT https://myenigma.hatenablog.com/entry/2019/10/27/194549
Recommended Posts