https://aws.amazon.com/jp/iot/
AWS IoT, qui est un service relativement nouveau d'Amazon Web Service, évolue de jour en jour à mesure qu'il commence à apparaître. J'aimerais faire l'expérience d'AWS IoT avec Mac et Python même si je n'ai pas d'appareil.
Sélectionnez AWS IoT dans la console Amazon Web Service et sélectionnez «Configurer un appareil» dans le menu Connexion.
Sélectionnez "Linux / OSX" comme plate-forme et sélectionnez Python.
Le nom de Thing peut être n'importe quoi, mais ici c'est "test_thing". Vous pouvez ajouter des types et des attributs à l'objet en sélectionnant "afficher la configuration facultative (cela peut être fait plus tard)". Cela facilite la recherche de choses plus tard, mais ce n'est pas nécessaire au préalable.
Si vous définissez uniquement le nom Thing, le certificat client et la stratégie seront créés en conséquence. Avec le certificat client créé ici, les fonctionnalités AWS IoT sont accessibles à partir des applications Python.
Lorsque vous appuyez sur le bouton "Linux / OSX", des informations telles que le certificat client et la clé privée seront téléchargées.
Le traitement après le fichier zip téléchargé sera le suivant.
Dans mon environnement, j'ai une erreur d'autorisation dans ./start.sh. Il semble que les bibliothèques nécessaires soient installées dans l'exemple, mais lorsque j'ai ajouté sudo et que je l'ai réexécuté, cela a réussi.
$ cd aws-iot-device-sdk-python/
$ sudo python setup.py install
J'ai essayé à nouveau d'exécuter l'exemple d'application en utilisant start.sh. En interne, le certificat client, le certificat racine et la clé privée sont définis et exécutés avec les commandes suivantes.
python aws-iot-device-sdk-python/samples/basicPubSub/basicPubSub.py -e XXXXXXXX.iot.ap-northeast-1.amazonaws.com -r root-CA.crt -c test_thing.cert.pem -k test_thing.private.key
Mais malheureusement, j'ai l'erreur suivante:
ssl.SSLError: [SSL: UNKNOWN_PROTOCOL] unknown protocol (_ssl.c:590)
Il semble que la version d'OpenSSL soit ancienne, j'ai donc changé la version. http://ytooyama.hatenadiary.jp/entry/2016/06/23/004429 https://teratail.com/questions/47299 http://stackoverflow.com/questions/35473033/how-to-fix-openssl-error-with-aws-cli-iot-api
Lorsque start.sh est à nouveau exécuté, l'application Python envoie et reçoit le message de journal suivant à la rubrique sdk / test / Python une fois toutes les quelques secondes.
2017-01-08 16:54:54,102 - AWSIoTPythonSDK.core.protocol.mqttCore - DEBUG - Try to put a publish request 178 in the TCP stack.
2017-01-08 16:54:54,102 - AWSIoTPythonSDK.core.protocol.mqttCore - DEBUG - Publish request 178 succeeded.
Received a new message:
New Message 176
from topic:
sdk/test/Python
--------------
Si vous le vérifiez sur le tableau de bord AWS IoT, le graphique sera généré comme indiqué ci-dessous.
C'est très pratique car vous pouvez émuler un appareil avec juste un Mac et une application Python sans appareil. AWS IoT devient de plus en plus pratique.
Recommended Posts