AWS IoT Device SDK for Python Dieses Mal werde ich das an das AWS IoT Device SDK für Python angehängte Beispiel mit Raspberry Pi ausführen und die Daten in S3 speichern.
RaspberryPi 3 Jeder Himbeer-Pi reicht aus
RASPBIAN JESSIE Das Betriebssystem wurde auf den neuesten Stand gebracht
pi@raspberrypi:~ $ uname -a
Linux raspberrypi 4.4.13-v7+ #894 SMP Mon Jun 13 13:13:27 BST 2016 armv7l GNU/Linux
In der AWS Management Console festlegen.
Create a thing Mach zuerst etwas.
Hier heißt der Name raspi1.
Create a rule Erstellen Sie als Nächstes eine Regel für Dinge.
Wenn Sie auf das zuvor erstellte Element "raspi1" klicken, werden auf der rechten Seite Details angezeigt. Klicken Sie dann unten rechts auf die Schaltfläche Regel erstellen.
Dann dieser Bildschirm.
Hier lautet der Name der Regel raspi1_rule.
Wo es wie SQL aussieht, können Sie die von Ding gesendeten Daten filtern. Im Beispielcode des SDK wird das Thema "sdk / test / Python" gesendet. Geben Sie hier Folgendes ein.
name | value |
---|---|
Attribute | * |
Topic filter | sdk/test/Python |
Scrollen Sie auf dem Bildschirm und legen Sie die nächste fest. Wählen Sie eine Aktion aus, in der Sie entscheiden, was mit den empfangenen Daten geschehen soll.
Hier speichern wir die Daten in S3.
Geben Sie den S3-Bucket, den Schlüssel und den Rollennamen ein. Sie können es auch im laufenden Betrieb mit Neue Ressource erstellen erstellen und konfigurieren. Daher habe ich einen temporären Bucket zum Testen erstellt. Bitte seien Sie vorsichtig mit Berechtigungen, wenn Sie vorhandene verwenden.
Klicken Sie auf die Schaltfläche Aktion hinzufügen → Erstellen, um die Regel zu vervollständigen.
Connect a device Legen Sie abschließend die Anmeldeinformationen des Geräts fest, das tatsächlich eine Verbindung zum Objekt herstellt.
Klicken Sie rechts neben der Schaltfläche, mit der die Regel erstellt wurde, auf die Schaltfläche Gerät verbinden.
Welches SDK verwenden Sie dann? Ich kann wählen, aber ich kann Python nicht finden.
Es gibt keine Möglichkeit. Wenn Sie also NodeJS auswählen, wird eine Schaltfläche mit dem Namen Zertifikat und Richtlinie generieren angezeigt. Drücken Sie also darauf.
Dieses Mal sehen Sie drei Links und Schaltflächen.
Klicken Sie zunächst auf die drei Links von Download, um das Zertifikat herunterzuladen.
Drücken Sie nach dem Herunterladen die Schaltfläche Bestätigen und Verbindung herstellen.
Kopieren Sie das Textfeld und fügen Sie es hier ein. Klicken Sie dann auf die Schaltfläche Zurück zum Detail.
Da RASPBIAN JESSIE von Saishin pip enthält, installieren Sie es mit pip.
sudo pip install AWSIoTPythonSDK
Mit oder ohne Sudo.
Der Beispielcode ist auch im Quellbaum enthalten. Klonen Sie ihn daher von Github.
git clone https://github.com/aws/aws-iot-device-sdk-python.git
Zum Ausführen des Beispielcodes sind drei Zertifikatdateien erforderlich. Legen Sie es diesmal im selben Verzeichnis wie den Beispielcode ab.
Senden Sie alle Zertifikate, die bei der Vorbereitung von AWS IoT heruntergeladen wurden, per scp usw. an Raspberry Pi.
--Honyara-certificate.pem.crt --Honyara-private.pem.key
Bereiten Sie als Nächstes die AWS IoT-Stammzertifizierungsstelle vor.
curl https://www.symantec.com/content/en/us/enterprise/verisign/roots/VeriSign-Class%203-Public-Primary-Certification-Authority-G5.pem -o rootCA.pem
Es wird als rootCA.pem gespeichert.
Geben Sie den Endpunkt und verschiedene Zertifikatpfade als Argumente an.
Der Endpunkt ist der AWS-Hostname, und "" Host ":" Irgendwo "" wird im Textfeld angezeigt, das am Ende der AWS IoT-Vorbereitung angezeigt wird. Alternativ wird in der Verwaltungskonsole der Hostname auch im Detail angezeigt, das angezeigt wird, wenn Sie auf etwas klicken (korrekt, da es das Ziel der REST-API ist, nur der Hostname).
python basicPubSub.py -e Irgendwo .amazonaws.com -r rootCA.pem -c Honyara -certificate.pem.crt -k Honyara -private.pem.key
Bei der Ausführung wird im Abstand von 1 Sekunde eine Nachricht ausgegeben. Überprüfen Sie das angezeigte Protokoll und wenn es kein Problem gibt, drücken Sie Strg + C in ca. 10 Sekunden.
Die Datei wird dieses Mal im Bucket-Set erstellt.
Es ist erfolgreich, wenn der Inhalt für die Anzahl der Sekunden aktualisiert wird, in denen der Beispielcode ausgeführt wird.
New Message 10
Recommended Posts