Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
In diesem Abschnitt konfigurieren wir einen Raspberry Pi für die Verwendung mit AWS IoT. Wenn Sie ein anderes Gerät haben, das Sie anschließen möchten, finden Sie in der Anleitung für den Raspberry Pi Hinweise, die Ihnen helfen können, diese Anweisungen an Ihr Gerät anzupassen.
Dies dauert normalerweise etwa 20 Minuten, kann aber länger dauern, wenn Sie viele Systemsoftware-Upgrades installieren müssen.
In diesem Tutorial führen Sie die folgenden Aktivitäten durch:
Wichtig
Die Anpassung dieser Anweisungen an andere Geräte und Betriebssysteme kann schwierig sein. Sie müssen Ihr Gerät gut genug verstehen, um diese Anweisungen interpretieren und auf Ihr Gerät anwenden zu können.
Wenn Sie bei der Konfiguration Ihres Geräts für auf Schwierigkeiten stoßen AWS IoT, können Sie alternativ eine der anderen Geräteoptionen ausprobieren, z. B. Erstellen Sie ein virtuelles Gerät mit Amazon EC2 oderVerwenden Sie Ihren Windows- oder Linux-PC oder Mac als Gerät AWS IoT.
Einrichten Ihres Geräts
Ziel dieses Schritts ist es, alles zu sammeln, was Sie benötigen, um Ihr Gerät so zu konfigurieren, dass es das Betriebssystem (OS) starten, eine Verbindung zum Internet herstellen und Ihnen die Interaktion mit dem Gerät über eine Befehlszeilenschnittstelle ermöglichen kann.
Zum Durcharbeiten dieses Tutorials ist Folgendes erforderlich:
-
Ein AWS-Konto. Wenn dies nicht der Fall ist, führen Sie die unter Einrichten AWS-Konto beschriebenen Schritte aus, bevor Sie fortfahren.
-
Ein Raspberry Pi 3 Modell B
oder ein neueres Modell. Dies funktioniert möglicherweise auf früheren Versionen des Raspberry Pi, diese wurden jedoch nicht getestet. -
Raspberry Pi OS (32-Bit)
oder höher. Wir empfehlen die neueste Version des Raspberry Pi OS zu verwenden. Frühere Versionen des Betriebssystems funktionieren möglicherweise, wurden jedoch nicht getestet. Um dieses Beispiel auszuführen, müssen Sie den Desktop nicht mit der grafischen Benutzeroberfläche (GUI) installieren. Wenn Sie jedoch mit dem Raspberry Pi noch nicht vertraut sind und Ihre Raspberry Pi-Hardware ihn unterstützt, ist es möglicherweise einfacher, den Desktop mit der GUI zu verwenden.
-
Ein Ethernet oder eine WiFi Verbindung.
-
Tastatur, Maus, Monitor, Kabel, Netzteile und andere Hardware, die für Ihr Gerät erforderlich ist.
Wichtig
Bevor Sie mit dem nächsten Schritt fortfahren, muss das Betriebssystem Ihres Geräts installiert, konfiguriert und ausgeführt werden. Das Gerät muss mit dem Internet verbunden sein und Sie müssen über die Befehlszeilenschnittstelle auf das Gerät zugreifen können. Der Befehlszeilenzugriff kann über eine direkt verbundene Tastatur, Maus und einen Monitor oder über eine SSH-Terminal-Fernschnittstelle erfolgen.
Wenn Sie auf Ihrem Raspberry Pi ein Betriebssystem mit grafischer Benutzeroberfläche (GUI) ausführen, öffnen Sie ein Terminalfenster auf dem Gerät und führen Sie in diesem Fenster die folgenden Anweisungen aus. Andernfalls, wenn Sie über ein Remote-Terminal wie PuTTY eine Verbindung zu Ihrem Gerät herstellen, öffnen Sie ein Remote-Terminal für Ihr Gerät und verwenden Sie dieses.
Installieren Sie die erforderlichen Tools und Bibliotheken für das AWS IoT Geräte-SDK
Bevor Sie das AWS IoT Geräte-SDK und den Beispielcode installieren, stellen Sie sicher, dass Ihr System auf dem neuesten Stand ist und über die erforderlichen Tools und Bibliotheken für die Installation von verfügt SDKs.
-
Aktualisieren Sie das Betriebssystem und installieren Sie die erforderlichen Bibliotheken
Bevor Sie ein AWS IoT Geräte-SDK installieren, führen Sie diese Befehle in einem Terminalfenster auf Ihrem Gerät aus, um das Betriebssystem zu aktualisieren und die erforderlichen Bibliotheken zu installieren.
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install cmake
sudo apt-get install libssl-dev
-
Installieren Sie Git
Wenn auf dem Betriebssystem Ihres Geräts Git nicht installiert ist, müssen Sie es installieren, um das AWS IoT Geräte-SDK für zu installieren JavaScript.
-
Testen Sie, ob Git bereits installiert ist, indem Sie diesen Befehl ausführen.
git --version
-
Wenn der vorherige Befehl die Git-Version anzeigt, ist Git bereits installiert und Sie können mit Schritt 3 fortfahren.
-
Wenn bei der Ausführung des Befehls git ein Fehler angezeigt wird, installieren Sie Git, indem Sie diesen Befehl ausführen.
sudo apt-get install git
-
Testen Sie erneut, ob Git installiert ist, indem Sie diesen Befehl ausführen.
git --version
-
Wenn Git installiert ist, fahren Sie mit dem nächsten Abschnitt fort. Wenn nicht, beheben Sie den Fehler und korrigieren Sie ihn, bevor Sie fortfahren. Sie benötigen Git, um das AWS IoT Device SDK für zu installieren JavaScript.
-
Installieren Sie AWS IoT das Geräte-SDK
Installieren Sie das AWS IoT Geräte-SDK.
In diesem Abschnitt installieren Sie Python, seine Entwicklungstools und das AWS IoT Device SDK für Python auf Ihrem Gerät. Diese Anweisungen gelten für einen Raspberry Pi, auf dem das neueste Raspberry Pi-Betriebssystem ausgeführt wird. Wenn Sie mit einem anderen Gerät arbeiten oder ein anderes Betriebssystem verwenden, müssen Sie diese Anweisungen für Ihr Gerät anpassen.
-
Installieren Sie Python und seine Entwicklungstools
Für das AWS IoT Device SDK für Python muss Python v3.5 oder höher auf Ihrem Raspberry Pi installiert sein.
Führen Sie diese Befehle in einem Terminalfenster auf Ihrem Gerät aus.
-
Führen Sie diesen Befehl aus, um die auf Ihrem Gerät installierte Python-Version zu bestimmen.
python3 --version
Wenn Python installiert ist, wird seine Version angezeigt.
-
Wenn die angezeigte Version
Python 3.5
oder höher ist, können Sie mit Schritt 2 fortfahren. -
Wenn die angezeigte Version niedriger als
Python 3.5
ist, können Sie die richtige Version installieren, indem Sie diesen Befehl ausführen.sudo apt install python3
-
Führen Sie diesen Befehl aus, um zu bestätigen, dass die richtige Version von Python jetzt installiert ist.
python3 --version
-
-
Testen Sie auf pip3
Führen Sie diese Befehle in einem Terminalfenster Ihres Geräts aus.
-
Führen Sie diesen Befehl aus, um zu sehen, ob pip3 installiert ist.
pip3 --version
-
Wenn der Befehl eine Versionsnummer zurückgibt, ist pip3 installiert und Sie können mit Schritt 3 fortfahren.
-
Wenn der vorherige Befehl einen Fehler zurückgibt, führen Sie diesen Befehl zur Installation von pip3 aus.
sudo apt install python3-pip
-
Führen Sie diesen Befehl aus, um zu sehen, ob pip3 installiert ist.
pip3 --version
-
-
Installieren Sie das aktuelle AWS IoT Geräte-SDK für Python
Installieren Sie das AWS IoT Device SDK für Python und laden Sie die Beispiel-Apps auf Ihr Gerät herunter.
Führen Sie diese Befehle auf Ihrem Gerät aus.
cd ~ python3 -m pip install awsiotsdk
git clone https://github.com/aws/aws-iot-device-sdk-python-v2.git
Installieren und Ausführen der Beispiel-App
In diesem Abschnitt installieren und führen Sie die pubsub
Beispiel-App aus dem AWS IoT Geräte-SDK aus. Diese App zeigt, wie Ihr Gerät die MQTT-Bibliothek verwendet, um MQTT-Nachrichten zu veröffentlichen und zu abonnieren. Die Beispiel-App abonniert ein Thema, topic_1
, veröffentlicht 10 Nachrichten zu diesem Thema und zeigt die Nachrichten so an, wie sie vom Message Broker empfangen wurden.
Installieren Sie die Zertifikatdateien
Für die Beispiel-App müssen die Zertifikatsdateien, die das Gerät authentifizieren, auf dem Gerät installiert sein.
Um die Gerätezertifikatsdateien für die Beispiel-App zu installieren
-
Erstellen Sie ein
certs
Unterverzeichnis in Ihremhome
Verzeichnis, indem Sie diese Befehle ausführen.cd ~ mkdir certs
-
Kopieren Sie das Zertifikat, den privaten Schlüssel und das Stammzertifikat, das Sie in
~/certs
erstellt haben, in das Verzeichnis AWS IoT Ressourcen erstellen.Wie Sie die Zertifikatsdateien auf Ihr Gerät kopieren, hängt vom Gerät und Betriebssystem ab und wird hier nicht beschrieben. Wenn Ihr Gerät jedoch eine grafische Benutzeroberfläche (GUI) unterstützt und über einen Webbrowser verfügt, können Sie das unter AWS IoT Ressourcen erstellen beschriebene Verfahren vom Webbrowser Ihres Geräts aus ausführen, um die resultierenden Dateien direkt auf Ihr Gerät herunterzuladen.
Bei den Befehlen im nächsten Abschnitt wird davon ausgegangen, dass Ihr Schlüssel und Ihr Zertifikatdateien wie in dieser Tabelle gezeigt auf dem Gerät gespeichert sind.
Namen der Zertifikatsdateien Datei
Dateipfad
CA-Stammzertifikat
~/certs/Amazon-root-CA-1.pem
Gerätezertifikat
~/certs/device.pem.crt
Privater Schlüssel
~/certs/private.pem.key
Zur Ausführung der Beispielanwendung benötigen Sie die folgenden Informationen:
Parameter |
Wo der Wert gefunden werden kann |
---|---|
your-iot-endpoint |
Wählen Sie in der AWS IoT -Konsole Auf der Einstellungsseite im AWS IoT Menü. Ihr Endpunkt wird im Abschnitt Gerätedaten-Endpunkt angezeigt. |
Der your-iot-endpoint
Wert hat ein Format von:
, zum Beispielendpoint_id
-ats.iot.region
.amazonaws.com.rproxy.goskope.coma3qj468EXAMPLE-ats.iot.us-west-2.amazonaws.com
.
Um die Beispiel-App zu installieren und auszuführen
-
Navigieren Sie zum Beispielverzeichnis.
cd ~/aws-iot-device-sdk-python-v2/samples
-
Ersetzen Sie im Befehlszeilenfenster
your-iot-endpoint
wie angegeben und führen Sie diesen Befehl aus.python3 pubsub.py --topic topic_1 --ca_file ~/certs/Amazon-root-CA-1.pem --cert ~/certs/device.pem.crt --key ~/certs/private.pem.key --endpoint
your-iot-endpoint
-
Beachten Sie, dass die Beispiel-App:
-
Stellt eine Verbindung mit dem AWS IoT Dienst für Ihr Konto her.
-
Das Nachrichtenthema topic_1 abonniert und die Nachrichten anzeigt, die es zu diesem Thema erhält.
-
10 Nachrichten zum Thema topic_1 veröffentlicht.
-
Ihre Ausgabe sieht ähnlich aus wie:
Connecting to a3qEXAMPLEffp-ats.iot.us-west-2.amazonaws.com with client ID 'test-0c8ae2ff-cc87-49d2-a82a-ae7ba1d0ca5a'... Connected! Subscribing to topic 'topic_1'... Subscribed with QoS.AT_LEAST_ONCE Sending 10 message(s) Publishing message to topic 'topic_1': Hello World! [1] Received message from topic 'topic_1': b'Hello World! [1]' Publishing message to topic 'topic_1': Hello World! [2] Received message from topic 'topic_1': b'Hello World! [2]' Publishing message to topic 'topic_1': Hello World! [3] Received message from topic 'topic_1': b'Hello World! [3]' Publishing message to topic 'topic_1': Hello World! [4] Received message from topic 'topic_1': b'Hello World! [4]' Publishing message to topic 'topic_1': Hello World! [5] Received message from topic 'topic_1': b'Hello World! [5]' Publishing message to topic 'topic_1': Hello World! [6] Received message from topic 'topic_1': b'Hello World! [6]' Publishing message to topic 'topic_1': Hello World! [7] Received message from topic 'topic_1': b'Hello World! [7]' Publishing message to topic 'topic_1': Hello World! [8] Received message from topic 'topic_1': b'Hello World! [8]' Publishing message to topic 'topic_1': Hello World! [9] Received message from topic 'topic_1': b'Hello World! [9]' Publishing message to topic 'topic_1': Hello World! [10] Received message from topic 'topic_1': b'Hello World! [10]' 10 message(s) received. Disconnecting... Disconnected!
Wenn Probleme bei der Ausführung der Beispiel-App auftreten, überprüfen Sie Beheben Sie Probleme mit der Beispielanwendung.
Sie können den Parameter
--verbosity Debug
auch zur Befehlszeile hinzufügen, sodass die Beispiel-App detaillierte Meldungen darüber anzeigt, was sie tut. Diese Informationen bieten Ihnen möglicherweise die Hilfe, die Sie zur Behebung des Problems benötigen. -
Nachrichten aus der Beispiel-App in der AWS IoT Konsole anzeigen
Mithilfe des MQTT-Testclients in der AWS IoT -Konsole können Sie die Nachrichten der Beispiel-App sehen, während sie den Message Broker durchlaufen.
Um die von der Beispiel-App veröffentlichten MQTT-Nachrichten anzuzeigen
-
Sehen Sie sich MQTT-Nachrichten mit dem AWS IoT MQTT-Client anzeigen an. Auf diese Weise lernen Sie, wie Sie den MQTT-Testclient in der AWS IoT -Konsole verwenden, um MQTT-Nachrichten anzuzeigen, während sie den Message Broker passieren.
-
Öffnen Sie den MQTT-Testclient in der AWS IoT -Konsole.
-
Abonnieren Sie das Thema topic_1.
-
Führen Sie in Ihrem Befehlszeilenfenster die Beispiel-App erneut aus und sehen Sie sich die Nachrichten im MQTT-Client in der AWS IoT -Konsole an.
cd ~/aws-iot-device-sdk-python-v2/samples python3 pubsub.py --topic topic_1 --ca_file ~/certs/Amazon-root-CA-1.pem --cert ~/certs/device.pem.crt --key ~/certs/private.pem.key --endpoint
your-iot-endpoint