[PYTHON] Ich habe AWS Iot ausprobiert

Einführung

Dieser Artikel richtet sich an Personen, die AWS IoT vorerst kennenlernen möchten. Dies ist ein Artikel, der versucht, die Cloud und Ihr Terminal zu verbinden. 図1.png

Umgebung

Terminal Betriebssystem: Ubuntu18.04LTS (gestartet in VMware) Python:3.6.9

Bauverfahren

Führen Sie die folgenden Schritte aus, um eine Cloud-Client-Kommunikationsumgebung zu erstellen.

Stellen Sie eine Verbindung zu AWS IoT her

Gehen Sie zu AWS IoT und klicken Sie auf Erste Schritte. キャプチャ.PNG

Eine Erklärung wird angezeigt, aber keine Sorge, klicken Sie auf "Erste Schritte". Ich bin immer noch schlecht in Japanisch und ich weiß nicht, was ich sage. 2.PNG

Wie stellen Sie eine Verbindung zu AWS IoT her?

Wählen Sie die Plattform (OS) des angeschlossenen Geräts und die SDK-Programmiersprache für die Verbindung aus. Dieses Mal werde ich Ubuntu als Client verwenden, also Wählen Sie "Linux / OS X" als Plattform. Jedes SDK ist in Ordnung, aber dieses Mal habe ich "Python" gewählt. Drücken Sie abschließend auf Weiter.

3.PNG

Registrierung von Dingen

Dinge registrieren. Geben Sie den Namen "Ding" entsprechend ein. Dieses Mal habe ich "test01" gewählt. 4.PNG

Verbindungskit herunterladen

Laden Sie das Verbindungskit herunter. Kopieren Sie die heruntergeladene Datei (connect_device_package.zip) auf Ihr Terminal (in diesem Fall Ubuntu). 5.PNG

Das Verbindungskit enthält ・ SDK: aws-iot-device-sdk-python -AWS-Zertifikat: root-CA.crt -Privatschlüssel für "Dinge": test01.private.key

Geräteverbindung und Testen

** Drücken Sie noch nicht Fertig. ** ** ** Führen Sie in dem Verzeichnis mit den heruntergeladenen Dateien die Befehle im roten Rahmen der Reihe nach aus. Wenn Sie sich andere Websites ansehen, gibt es Leute, die dies mit Administratorrechten (sudo) tun, aber Benutzerrechte sind in Ordnung. 6.PNG

In vielen Fällen denke ich jedoch, dass die Bibliothek nicht ausreicht. In meinem Fall war ich wütend, dass ich keine Berechtigung zum Erstellen des AWSIoTPythonSDK-Ordners hatte.

error: could not create '/usr/local/lib/python3.6/dist-packages/AWSIoTPythonSDK': Permission denied

Eigentlich sieht dieser Fehler wie ein Berechtigungsfehler aus, aber es ist tatsächlich ein Fehler, der auftritt, weil das AWSIoTPython SDK nicht installiert ist. Sie können das Problem beheben, indem Sie den folgenden Befehl eingeben und das AWS IoT Python SDK installieren.

pip install AWSIoTPythonSDK

Wenn Sie kein Pip haben, installieren Sie es mit dem folgenden Befehl.

curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python get-pip.py

Referenz-URL: https://pip.pypa.io/en/stable/installing/

Wenn die Ausführung erfolgreich ist, wird der folgende Inhalt auf dem Ubuntu-Konsolenbildschirm ausgegeben. Stellen Sie sicher, dass Hello World! Veröffentlicht wird.

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

Wenn Sie erfolgreich auf der IoT-Geräteseite veröffentlicht haben, wird dies auf dem Bildschirm angezeigt (siehe Abbildung unten). a.PNG

Im Gegensatz dazu veröffentlichen Sie diesmal aus der Cloud auf dem IoT-Gerät. Geben Sie die entsprechenden Zeichen in das Feld "Schritt 4: Senden einer Nachricht an das Gerät" ein. Dieses Mal fügte ich "Lange nicht gesehen!" Hinzu. b.PNG

Klicken Sie auf Nachricht senden. Wenn alles gut geht, wird der folgende Inhalt an das Terminal ausgegeben, auf dem Sie start.sh ausgeführt haben.

Received a new message: 
b'Long time no see!'
from topic: 
sdk/test/Python
--------------

Wenn Sie auf "Fertig stellen" klicken, wird der endgültige Bestätigungsbildschirm angezeigt. Keine Sorge, drücke "Fertig stellen". 7.PNG

Danke für Ihre Unterstützung.

Zusammenfassung

Ich habe ein einfaches AWS IoT implementiert und erfahrene Cloud-Kommunikation mit Kunden erlebt. Nächstes Mal möchte ich Sensorinformationen austauschen.

Referenz-URL

Über MQTT https://myenigma.hatenablog.com/entry/2019/10/27/194549

Recommended Posts

Ich habe AWS Iot ausprobiert
Ich habe AWS CDK ausprobiert!
Ich habe versucht, AWS Chalice zu verwenden
Ich habe versucht zu kratzen
Ich habe PyQ ausprobiert
Ich habe AutoKeras ausprobiert
Ich habe es mit Papiermühle versucht
Ich habe versucht, Django-Slack
Ich habe es mit Spleeter versucht
Ich habe es mit cgo versucht
Ich habe versucht, parametrisiert zu verwenden
Ich habe versucht, Argparse zu verwenden
Ich habe versucht, die Detect Labels-API von AWS Rekognition zu verwenden
Ich habe versucht, Mimesis zu verwenden
Ich habe versucht, anytree zu verwenden
Ich habe versucht, Pymc auszuführen
Ich habe ARP-Spoofing ausprobiert
Ich habe versucht, aiomysql zu verwenden
Ich habe versucht, Summpy zu verwenden
Ich habe Python> autopep8 ausprobiert
Ich habe versucht, Coturn zu verwenden
Ich habe versucht, Pipenv zu verwenden
Ich habe versucht, Matplotlib zu verwenden
Ich habe versucht, "Anvil" zu verwenden.
Ich habe versucht, Hubot zu verwenden
Ich habe PyCaret2.0 (pycaret-nightly) ausprobiert.
Ich habe versucht, openpyxl zu verwenden
Ich habe versucht, tief zu lernen
Ich habe versucht, Ipython zu verwenden
Ich habe versucht zu debuggen.
Ich habe versucht, PyCaret zu verwenden
Ich habe versucht, Cron zu verwenden
Ich habe Kivys Kartenansicht ausprobiert
Ich habe versucht, ngrok zu verwenden
Ich habe versucht, face_recognition zu verwenden
Ich habe versucht, AWS Lambda mit anderen Diensten zu verbinden
Ich habe versucht, EfficientDet zu verschieben
Ich habe versucht, Shell zu programmieren
Ich habe versucht, doctest zu verwenden
Ich habe versucht, TensorFlow auszuführen
Ich habe Auto Gluon ausprobiert
Ich habe versucht, Folium zu verwenden
Ich habe versucht, jinja2 zu verwenden
Ich habe die Bayes'sche Optimierung ausprobiert!
Ich habe AWS Chalice berührt
Ich habe versucht, Folium zu verwenden
Ich habe versucht, das Zeitfenster zu verwenden
Ich habe versucht, die App auf der IoT-Plattform "Rimotte" auszuführen.
Ich habe eine emotionale Analyse von Amazon Comprehend mit der AWS CLI durchgeführt.
Ich habe versucht, TensorFlow in der AWS Lambda-Umgebung auszuführen: Vorbereitung
Ich habe versucht, mit AWS Lambda einen AMI zu erhalten
AWS Lambda unterstützt jetzt Python, also habe ich es versucht
[Einführung in AWS] Ich habe versucht, mit der Sprach-Text-Konvertierung zu spielen ♪
Ich habe Value Iteration Networks ausprobiert
Ich habe fp-Wachstum mit Python versucht
Ich habe versucht, mit Python zu kratzen
Ich habe die Bildklassifizierung von AutoGluon ausprobiert