

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.

# Verbinden eines Raspberry Pi oder eines anderes Gerätes
<a name="connecting-to-existing-device"></a>

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.

**Topics**
+ [Einrichten Ihres Geräts](#gs-device-prereqs)
+ [Installieren Sie die erforderlichen Tools und Bibliotheken für das AWS IoT Geräte-SDK](#gs-device-sdk-tools)
+ [Installieren Sie AWS IoT das Geräte-SDK](#gs-device-install-sdk)
+ [Installieren und Ausführen der Beispiel-App](#gs-device-node-app-run)
+ [Nachrichten aus der Beispiel-App in der AWS IoT Konsole anzeigen](#gs-device-view-msg)

**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](creating-a-virtual-thing.md) oder[Verwenden Sie Ihren Windows- oder Linux-PC oder Mac als Gerät AWS IoT](using-laptop-as-device.md).

## Einrichten Ihres Geräts
<a name="gs-device-prereqs"></a>

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](setting-up.md) beschriebenen Schritte aus, bevor Sie fortfahren.
+ Ein [Raspberry Pi 3 Modell B](https://www.raspberrypi.com/products/) 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)](https://www.raspberrypi.com/software/operating-systems/) 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
<a name="gs-device-sdk-tools"></a>

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.

1. 

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

1. 

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

   1. Testen Sie, ob Git bereits installiert ist, indem Sie diesen Befehl ausführen.

      ```
      git --version
      ```

   1. Wenn der vorherige Befehl die Git-Version anzeigt, ist Git bereits installiert und Sie können mit Schritt 3 fortfahren.

   1. 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
      ```

   1. Testen Sie erneut, ob Git installiert ist, indem Sie diesen Befehl ausführen.

      ```
      git --version
      ```

   1. 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
<a name="gs-device-install-sdk"></a>

Installieren Sie das AWS IoT Geräte-SDK.

------
#### [ Python ]

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.

1. 

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

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

   1. Wenn die angezeigte Version `Python 3.5` oder höher ist, können Sie mit Schritt 2 fortfahren.

   1. 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
      ```

   1. Führen Sie diesen Befehl aus, um zu bestätigen, dass die richtige Version von Python jetzt installiert ist.

      ```
      python3 --version
      ```

1. 

**Testen Sie auf pip3**  
Führen Sie diese Befehle in einem Terminalfenster Ihres Geräts aus.

   1. Führen Sie diesen Befehl aus, um zu sehen, ob **pip3** installiert ist.

      ```
      pip3 --version
      ```

   1. Wenn der Befehl eine Versionsnummer zurückgibt, ist **pip3** installiert und Sie können mit Schritt 3 fortfahren.

   1. Wenn der vorherige Befehl einen Fehler zurückgibt, führen Sie diesen Befehl zur Installation von **pip3** aus.

      ```
      sudo apt install python3-pip
      ```

   1. Führen Sie diesen Befehl aus, um zu sehen, ob **pip3** installiert ist.

      ```
      pip3 --version
      ```

1. 

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

------
#### [ JavaScript ]

In diesem Abschnitt installieren Sie Node.js, den npm-Paketmanager und das AWS IoT Geräte-SDK für JavaScript auf Ihrem Gerät. Diese Anweisungen gelten für einen Raspberry Pi, auf dem das Raspberry Pi OS 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.

1. 

**Installieren der neuesten Version von Node.js**  
Für das AWS IoT Geräte-SDK für JavaScript müssen Node.js und der npm-Paketmanager auf Ihrem Raspberry Pi installiert sein.

   1. Laden Sie die aktuelle Version des Knoten-Repositorys herunter, indem Sie einen der folgenden Befehle eingeben.

      ```
      cd ~
      curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash -
      ```

   1. Installieren Sie Node und npm.

      ```
      sudo apt-get install -y nodejs
      ```

   1. Überprüfen Sie die Installation von Node.

      ```
      node -v
      ```

      Vergewissern Sie sich, dass der Befehl die Node-Version anzeigt. Dieses Tutorial erfordert Node v10.0 oder neuer. Wenn die Node-Version nicht angezeigt wird, versuchen Sie erneut, das Node-Repository herunterzuladen.

   1. Überprüfen Sie die Installation von npm.

      ```
      npm -v
      ```

      Vergewissern Sie sich, dass der Befehl die npm-Version anzeigt. Wenn die npm-Version nicht angezeigt wird, versuchen Sie erneut, Node und npm zu installieren.

   1. Starten Sie das Gerät neu.

      ```
      sudo shutdown -r 0
      ```

      Fahren Sie nach dem Neustart des Geräts fort.

1. 

**Installieren Sie das AWS IoT Geräte-SDK für JavaScript**  
Installieren Sie das AWS IoT Geräte-SDK für JavaScript auf Ihrem Raspberry Pi.

   1. Klonen Sie das AWS IoT Geräte-SDK für das JavaScript Repository in das `aws-iot-device-sdk-js-v2` Verzeichnis Ihres {{home}} Verzeichnisses. Auf dem Raspberry Pi ist das {{home}} Verzeichnis`~/`, das in den folgenden Befehlen als {{home}} Verzeichnis verwendet wird. Wenn Ihr Gerät einen anderen Pfad für das {{home}} Verzeichnis verwendet, müssen Sie es in `~/` den folgenden Befehlen durch den richtigen Pfad für Ihr Gerät ersetzen.

      Diese Befehle erstellen das Verzeichnis `~/aws-iot-device-sdk-js-v2` und kopieren den SDK-Code hinein.

      ```
      cd ~
      git clone https://github.com/aws/aws-iot-device-sdk-js-v2.git
      ```

   1. Wechseln Sie zu dem Verzeichnis `aws-iot-device-sdk-js-v2`, das Sie im vorherigen Schritt erstellt haben, und führen Sie `npm install` aus, um das SDK zu installieren. Der Befehl `npm install` ruft den Build der Bibliothek `aws-crt` auf, der einige Minuten in Anspruch nehmen kann.

      ```
      cd ~/aws-iot-device-sdk-js-v2
      npm install
      ```

------

## Installieren und Ausführen der Beispiel-App
<a name="gs-device-node-app-run"></a>

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

1. Erstellen Sie ein `certs` Unterverzeichnis in Ihrem {{home}} Verzeichnis, indem Sie diese Befehle ausführen.

   ```
   cd ~
   mkdir certs
   ```

1. Kopieren Sie das Zertifikat, den privaten Schlüssel und das Stammzertifikat, das Sie in `~/certs` erstellt haben, in das Verzeichnis [AWS IoT Ressourcen erstellen](create-iot-resources.md).

   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](create-iot-resources.md) 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**    
[See the AWS documentation website for more details](http://docs.aws.amazon.com/de_de/iot/latest/developerguide/connecting-to-existing-device.html)

Zur Ausführung der Beispielanwendung benötigen Sie die folgenden Informationen:


**Anwendungsparameterwerte**  

|  Parameter  |  Wo der Wert gefunden werden kann  | 
| --- | --- | 
| {{your-iot-endpoint}} | Wählen Sie in der [AWS IoT -Konsole](https://console.aws.amazon.com/iot/home) **Alle Geräte** und dann **Objekte** aus.<br />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:`{{endpoint_id}}-ats.iot.{{region}}.amazonaws.com`, zum Beispiel`a3qj468EXAMPLE-ats.iot.us-west-2.amazonaws.com`.

------
#### [ Python ]

**Um die Beispiel-App zu installieren und auszuführen**

1. Navigieren Sie zum Beispielverzeichnis.

   ```
   cd ~/aws-iot-device-sdk-python-v2/samples
   ```

1. 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}}
   ```

1. Beachten Sie, dass die Beispiel-App:

   1. Stellt eine Verbindung mit dem AWS IoT Dienst für Ihr Konto her.

   1. Das Nachrichtenthema **topic\_1** abonniert und die Nachrichten anzeigt, die es zu diesem Thema erhält.

   1. 10 Nachrichten zum Thema **topic\_1** veröffentlicht.

   1. 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](gs-device-troubleshoot.md).

   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.

------
#### [ JavaScript ]

**Um die Beispiel-App zu installieren und auszuführen**

1. Navigieren Sie in Ihrem Befehlszeilenfenster zu dem `~/aws-iot-device-sdk-js-v2/samples/node/pub_sub`-Verzeichnis, das das SDK erstellt hat, und installieren Sie die Beispiel-App mithilfe dieser Befehle. Der Befehl `npm install` ruft den Build der `aws-crt` Bibliothek auf, der einige Minuten in Anspruch nehmen kann.

   ```
   cd ~/aws-iot-device-sdk-js-v2/samples/node/pub_sub
   npm install
   ```

1. Ersetzen Sie im Befehlszeilenfenster {{your-iot-endpoint}} wie angegeben und führen Sie diesen Befehl aus.

   ```
   node dist/index.js --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}}
   ```

1. Beachten Sie, dass die Beispiel-App:

   1. Stellt eine Verbindung mit dem AWS IoT Dienst für Ihr Konto her.

   1. Das Nachrichtenthema **topic\_1** abonniert und die Nachrichten anzeigt, die es zu diesem Thema erhält.

   1. 10 Nachrichten zum Thema **topic\_1** veröffentlicht.

   1. Ihre Ausgabe sieht ähnlich aus wie:

   ```
   Publish received on topic topic_1
   {"message":"Hello world!","sequence":1}
   Publish received on topic topic_1
   {"message":"Hello world!","sequence":2}
   Publish received on topic topic_1
   {"message":"Hello world!","sequence":3}
   Publish received on topic topic_1
   {"message":"Hello world!","sequence":4}
   Publish received on topic topic_1
   {"message":"Hello world!","sequence":5}
   Publish received on topic topic_1
   {"message":"Hello world!","sequence":6}
   Publish received on topic topic_1
   {"message":"Hello world!","sequence":7}
   Publish received on topic topic_1
   {"message":"Hello world!","sequence":8}
   Publish received on topic topic_1
   {"message":"Hello world!","sequence":9}
   Publish received on topic topic_1
   {"message":"Hello world!","sequence":10}
   ```

   Wenn Probleme bei der Ausführung der Beispiel-App auftreten, überprüfen Sie [Beheben Sie Probleme mit der Beispielanwendung](gs-device-troubleshoot.md).

   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
<a name="gs-device-view-msg"></a>

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

1. Sehen Sie sich [MQTT-Nachrichten mit dem AWS IoT MQTT-Client anzeigen](view-mqtt-messages.md) 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.

1. Öffnen Sie den **MQTT-Testclient** in der **AWS IoT -Konsole**.

1. Abonnieren Sie das Thema **topic\_1**.

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.

------
#### [ Python ]

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

------
#### [ JavaScript ]

   ```
   cd ~/aws-iot-device-sdk-js-v2/samples/node/pub_sub
   node dist/index.js --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}}
   ```

------