Erste Schritte mit AWS IoT in Python

Einführung

https://aws.amazon.com/jp/iot/

AWS IoT, ein relativ neuer Dienst von Amazon Web Service, entwickelt sich von Tag zu Tag weiter. Ich möchte AWS IoT mit Mac und Python erleben, auch wenn ich kein Gerät habe.

Einrichtung in der AWS-Konsole

Wählen Sie AWS IoT in der Amazon Web Service-Konsole aus und wählen Sie "Konfigurieren eines Geräts" aus dem Menü "Verbinden".

スクリーンショット 2017-01-08 11.42.04.png

Wählen Sie "Linux / OSX" als Plattform und wählen Sie Python.

スクリーンショット 2017-01-08 11.42.40.png

Der Name von Thing kann alles sein, aber hier ist es "test_thing". Sie können dem Objekt Typen und Attribute hinzufügen, indem Sie "Optionale Konfiguration anzeigen (dies kann später erfolgen)" auswählen. Dies erleichtert das spätere Auffinden von Dingen, ist jedoch zunächst nicht erforderlich.

スクリーンショット 2017-01-08 11.45.07.png

Wenn Sie nur den Thing-Namen festlegen, werden das Client-Zertifikat und die Richtlinie entsprechend erstellt. Mit dem hier erstellten Client-Zertifikat kann über Python-Anwendungen auf AWS IoT-Funktionen zugegriffen werden.

Wenn Sie auf die Schaltfläche "Linux / OSX" klicken, werden Informationen wie das Client-Zertifikat und der private Schlüssel heruntergeladen.

スクリーンショット 2017-01-08 11.45.51.png

Python-Anwendung

Die Verarbeitung nach der heruntergeladenen Zip-Datei erfolgt wie folgt.

スクリーンショット 2017-01-08 11.46.22.png

In meiner Umgebung wurde in ./start.sh ein Berechtigungsfehler angezeigt. Es scheint, dass die erforderlichen Bibliotheken im Beispiel installiert sind, aber als ich sudo hinzufügte und es erneut ausführte, war es erfolgreich.

$ cd aws-iot-device-sdk-python/
$ sudo python setup.py install

Fehlerbehebung

Ich habe versucht, die Beispiel-App erneut mit start.sh auszuführen. Intern werden das Clientzertifikat, das Stammzertifikat und der private Schlüssel mit den folgenden Befehlen festgelegt und ausgeführt.

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

Aber leider habe ich folgenden Fehler bekommen:

ssl.SSLError: [SSL: UNKNOWN_PROTOCOL] unknown protocol (_ssl.c:590)

Es scheint, dass die Version von OpenSSL alt ist, also habe ich die Version geändert. 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

Funktionsprüfung

Wenn start.sh erneut ausgeführt wird, sendet und empfängt die Python-Anwendung alle paar Sekunden die folgende Protokollnachricht an das Thema sdk / test / Python.

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
--------------

Wenn Sie dies im AWS IoT-Dashboard überprüfen, wird das Diagramm wie unten gezeigt ausgegeben.

スクリーンショット 2017-01-08 17.02.36.png

abschließend

Dies ist sehr praktisch, da Sie ein Gerät nur mit einem Mac und einer Python-App ohne Gerät emulieren können. AWS IoT wird immer komfortabler.

Recommended Posts

Erste Schritte mit AWS IoT in Python
1.1 Erste Schritte mit Python
Erste Schritte mit Python
Einstellungen für den Einstieg in MongoDB mit Python
Erste Schritte mit Python Django (1)
Erste Schritte mit Python Django (4)
Erste Schritte mit Python Django (3)
Einführung in Python Django (6)
Erste Schritte mit Python Django (5)
Erste Schritte mit Python Responder v2
Erste Schritte mit Python-Webanwendungen
Erste Schritte mit Python für PHPer-Klassen
Erste Schritte mit genetischen Python-Algorithmen
Erste Schritte mit Python 3.8 unter Windows
Erste Schritte mit Python für PHPer-Funktionen
Beginnen Sie mit Python mit Blender
Erste Schritte mit Python3 # 1 Grundkenntnisse erlernen
Erste Schritte mit Python für PHPer-Super Basics
Erste Schritte mit Dynamo von Python Boto
Beginnen wir mit TopCoder in Python (Version 2020)
Erste Schritte mit Heroku-Viewing Hello World in Python Django mit Raspberry PI 3
Erste Schritte mit Python mit 100 Klopfen bei der Sprachverarbeitung
Django 1.11 wurde mit Python3.6 gestartet
Erste Schritte mit Android!
[Übersetzung] Erste Schritte mit Rust für Python-Programmierer
Erste Schritte mit apache2
Erste Schritte mit Django 1
Melden Sie sich einfach mit mehreren Konten bei AWS an
Einführung in die Optimierung
Machen Sie einfach einen Piepton mit Python
Erste Schritte mit Numpy
Erste Schritte mit Spark
Erste Schritte mit Pydantic
Erste Schritte mit Jython
Materialien zum Lesen, wenn Sie mit Python beginnen
Erste Schritte mit Django 2
Erste Schritte mit Python3 # 2 Erfahren Sie mehr über Typen und Variablen
Flottenbereitstellung mit AWS IoT SDK für Python v2
Super Primer für Python-Erste Schritte mit Python3.5 in 3 Minuten
Erste Schritte mit Google App Engine für Python und PHP
Übersetzen Erste Schritte mit TensorFlow
Einfaches Formatieren von JSON mit Python
Einführung in Tkinter 2: Button
Mit Python mit Kelch ganz einfach ohne Server
Schaben mit Selen in Python
Erste Schritte mit Go Assembly
[Python] Scraping in AWS Lambda
Betreiben Sie LibreOffice mit Python
Erste Schritte mit PKI mit Golang ―― 4
Schaben mit Chromedriver in Python
Debuggen mit pdb in Python
Umgang mit Sounds in Python
Scraping mit Selen in Python
Scraping mit Tor in Python
Tweet mit Bild in Python
Kombiniert mit Ordnungszahl in Python