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.
Terminal Betriebssystem: Ubuntu18.04LTS (gestartet in VMware) Python:3.6.9
Führen Sie die folgenden Schritte aus, um eine Cloud-Client-Kommunikationsumgebung zu erstellen.
Gehen Sie zu AWS IoT und klicken Sie auf Erste Schritte.
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.
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.
Dinge registrieren. Geben Sie den Namen "Ding" entsprechend ein. Dieses Mal habe ich "test01" gewählt.
Laden Sie das Verbindungskit herunter. Kopieren Sie die heruntergeladene Datei (connect_device_package.zip) auf Ihr Terminal (in diesem Fall Ubuntu).
Das Verbindungskit enthält ・ SDK: aws-iot-device-sdk-python -AWS-Zertifikat: root-CA.crt -Privatschlüssel für "Dinge": test01.private.key
** 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.
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).
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.
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".
Danke für Ihre Unterstützung.
Ich habe ein einfaches AWS IoT implementiert und erfahrene Cloud-Kommunikation mit Kunden erlebt. Nächstes Mal möchte ich Sensorinformationen austauschen.
Über MQTT https://myenigma.hatenablog.com/entry/2019/10/27/194549
Recommended Posts