Stellen Sie Ihren Raspberry Pi bereit in AWS IoT - AWS IoT Core

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.

Stellen Sie Ihren Raspberry Pi bereit in AWS IoT

Die Verfahren in diesem Abschnitt beginnen mit dem gespeicherten microSD-Image, auf dem der AWS IoT Geräteclient installiert ist, AWS CLI und erstellen die AWS IoT Ressourcen und Gerätezertifikate, in AWS IoT denen Ihr Raspberry Pi bereitgestellt wird.

Installieren der microSD-Karte in Ihrem Raspberry Pi

Dieses Verfahren installiert die microSD-Karte mit der erforderlichen Software, die auf den Raspberry Pi geladen und konfiguriert ist, und konfiguriert Ihre, AWS-Konto sodass Sie mit den Tutorials in diesem Lernpfad fortfahren können.

Verwenden Sie eine microSD-Karte aus (Optional) Speichern des microSD-Karten-Images mit der erforderlichen Software für die Übungen und Tutorials in diesem Lernpfad.

So installieren Sie die microSD-Karte in Ihrem Raspberry Pi:
  1. Trennen Sie den Raspberry Pi von der Stromversorgung und legen Sie die microSD-Karte in den Raspberry Pi ein.

  2. Schließen Sie den Raspberry Pi an die Stromversorgung an.

  3. Starten Sie nach etwa einer Minute auf dem lokalen Host-Computer die Terminalfenstersitzung neu und melden Sie sich beim Raspberry Pi an.

  4. Auf Ihrem lokalen Host-Computer, im Terminalfenster und mit den Anmeldeinformationen Zugriffsschlüssel-ID und Geheimer Zugriffsschlüssel für Ihren Raspberry Pi:

    1. Führen Sie die AWS Configure-App mit diesem Befehl aus:

      aws configure
    2. Geben Sie Ihre AWS-Konto Anmeldeinformationen und Konfigurationsinformationen ein, wenn Sie dazu aufgefordert werden:

      AWS Access Key ID [****************YXYX]: your Access Key ID AWS Secret Access Key [****************YXYX]: your Secret Access Key Default region name [us-west-2]: your AWS-Region code Default output format [json]: json

Nachdem Sie Ihre AWS-Konto Anmeldeinformationen wiederhergestellt haben, können Sie fortfahrenStellen Sie Ihr Gerät bereit in AWS IoT Core.

Stellen Sie Ihr Gerät bereit in AWS IoT Core

Mit den Verfahren in diesem Abschnitt werden die AWS IoT Ressourcen erstellt, in denen Ihr Raspberry Pi bereitgestellt wird AWS IoT. Bei der Erstellung dieser Ressourcen werden Sie aufgefordert, verschiedene Informationen aufzuzeichnen. Diese Informationen werden von der AWS IoT Geräteclient-Konfiguration im nächsten Verfahren verwendet.

Damit Ihr Raspberry Pi verwendet werden kann AWS IoT, muss er bereitgestellt werden. Bei der Bereitstellung werden die AWS IoT Ressourcen erstellt und konfiguriert, die zur Unterstützung Ihres Raspberry Pi als IoT-Gerät erforderlich sind.

Wenn Ihr Raspberry Pi eingeschaltet ist und neu gestartet wird, verbinden Sie das Terminalfenster auf Ihrem lokalen Host-Computer mit dem Raspberry Pi und führen Sie diese Verfahren durch.

Erstellen und Herunterladen der Gerätezertifikatsdateien

Mit diesem Verfahren werden die Gerätezertifikatsdateien für diese Demo erstellt.

So erstellen Sie die Gerätezertifikatsdateien für Ihren Raspberry Pi und laden sie herunter:
  1. Geben Sie im Terminalfenster auf Ihrem lokalen Host-Computer diese Befehle ein, um die Gerätezertifikatsdateien für Ihr Gerät zu erstellen.

    mkdir ~/certs/testconn aws iot create-keys-and-certificate \ --set-as-active \ --certificate-pem-outfile "~/certs/testconn/device.pem.crt" \ --public-key-outfile "~/certs/testconn/public.pem.key" \ --private-key-outfile "~/certs/testconn/private.pem.key"

    Die Ausgabe des Befehls ähnelt der folgenden: Notieren Sie sich den certificateArn-Wert zur späteren Verwendung.

    { "certificateArn": "arn:aws:iot:us-west-2:57EXAMPLE833:cert/76e7e4edb3e52f52334be2f387a06145b2aa4c7fcd810f3aea2d92abc227d269", "certificateId": "76e7e4edb3e52f5233EXAMPLE7a06145b2aa4c7fcd810f3aea2d92abc227d269", "certificatePem": "-----BEGIN CERTIFICATE-----\nMIIDWTCCAkGgAwIBAgI_SHORTENED_FOR_EXAMPLE_Lgn4jfgtS\n-----END CERTIFICATE-----\n", "keyPair": { "PublicKey": "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BA_SHORTENED_FOR_EXAMPLE_ImwIDAQAB\n-----END PUBLIC KEY-----\n", "PrivateKey": "-----BEGIN RSA PRIVATE KEY-----\nMIIEowIBAAKCAQE_SHORTENED_FOR_EXAMPLE_T9RoDiukY\n-----END RSA PRIVATE KEY-----\n" } }
  2. Geben Sie die folgenden Befehle ein, um die Berechtigungen für das Zertifikatsverzeichnis und seine Dateien festzulegen.

    chmod 745 ~ chmod 700 ~/certs/testconn chmod 644 ~/certs/testconn/* chmod 600 ~/certs/testconn/private.pem.key
  3. Führen Sie diesen Befehl aus, um die Berechtigungen für Ihre Zertifikatsverzeichnisse und -dateien zu überprüfen.

    ls -l ~/certs/testconn

    Der Befehl sollte ähnliche Werte wie die hier angezeigten ausgeben, mit der Ausnahme, dass Datum und Uhrzeit unterschiedlich sein werden.

    -rw-r--r-- 1 pi pi 1220 Oct 28 13:02 device.pem.crt -rw------- 1 pi pi 1675 Oct 28 13:02 private.pem.key -rw-r--r-- 1 pi pi 451 Oct 28 13:02 public.pem.key

Sie haben die Gerätezertifikatsdateien bereits auf Ihrem Raspberry Pi installiert und können mit Ressourcen erstellen AWS IoT fortfahren.

Ressourcen erstellen AWS IoT

Bei diesem Verfahren wird Ihr Gerät bereitgestellt, AWS IoT indem die Ressourcen erstellt werden, die Ihr Gerät für den Zugriff auf AWS IoT Funktionen und Dienste benötigt.

Um Ihr Gerät bereitzustellen in AWS IoT
  1. Geben Sie im Terminalfenster auf Ihrem lokalen Host-Computer den folgenden Befehl ein, um die Adresse des Gerätedatenendpunkts für Ihr AWS-Konto abzurufen.

    aws iot describe-endpoint --endpoint-type IoT:Data-ATS

    Der Befehl aus den vorhergehenden Schritten gibt eine Antwort aus, die der folgenden ähnelt: Notieren Sie sich den endpointAddress-Wert zur späteren Verwendung.

    { "endpointAddress": "a3qjEXAMPLEffp-ats.iot.us-west-2.amazonaws.com" }
  2. Geben Sie diesen Befehl ein, um eine AWS IoT Ding-Ressource für Ihren Raspberry Pi zu erstellen.

    aws iot create-thing --thing-name "DevCliTestThing"

    Wenn Ihre AWS IoT Ding-Ressource erstellt wurde, gibt der Befehl eine Antwort wie diese zurück.

    { "thingName": "DevCliTestThing", "thingArn": "arn:aws:iot:us-west-2:57EXAMPLE833:thing/DevCliTestThing", "thingId": "8ea78707-32c3-4f8a-9232-14bEXAMPLEfd" }
  3. Im Terminalfenster:

    1. Öffnen Sie einen Texteditor, z. B. nano.

    2. Kopieren Sie dieses JSON Richtliniendokument und fügen Sie es in Ihren geöffneten Texteditor ein.

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iot:Publish", "iot:Subscribe", "iot:Receive", "iot:Connect" ], "Resource": [ "*" ] } ] }
      Anmerkung

      Dieses Richtliniendokument gewährt allen Ressourcen großzügig die Erlaubnis, Verbindungen herzustellen, zu empfangen, zu veröffentlichen und zu abonnieren. Normalerweise gewähren Richtlinien nur bestimmten Ressourcen die Erlaubnis, bestimmte Aktionen auszuführen. Beim ersten Test der Gerätekonnektivität wird diese zu allgemeine und großzügige Richtlinie jedoch verwendet, um die Wahrscheinlichkeit eines Zugriffsproblems während dieses Tests zu minimieren. In den nachfolgenden Tutorials werden enger abgegrenzte Richtliniendokumente verwendet, um bessere Verfahren für die Richtliniengestaltung zu demonstrieren.

    3. Speichern Sie die Datei als ~/policies/dev_cli_test_thing_policy.json in Ihrem Texteditor.

  4. Führen Sie diesen Befehl aus, um das Richtliniendokument aus den vorherigen Schritten zum Erstellen einer AWS IoT Richtlinie zu verwenden.

    aws iot create-policy \ --policy-name "DevCliTestThingPolicy" \ --policy-document "file://~/policies/dev_cli_test_thing_policy.json"

    Wenn die Richtlinie erstellt wurde, gibt der Befehl eine Antwort wie die folgende zurück:

    { "policyName": "DevCliTestThingPolicy", "policyArn": "arn:aws:iot:us-west-2:57EXAMPLE833:policy/DevCliTestThingPolicy", "policyDocument": "{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Effect\": \"Allow\",\n \"Action\": [\n \"iot:Publish\",\n \"iot:Subscribe\",\n \"iot:Receive\",\n \"iot:Connect\"\n ],\n \"Resource\": [\n \"*\"\n ]\n }\n ]\n}\n", "policyVersionId": "1" }
  5. Führen Sie diesen Befehl aus, um die Richtlinie an das Gerätezertifikat anzufügen. Ersetzen Sie certificateArn durch den certificateArn-Wert, den Sie zuvor gespeichert haben.

    aws iot attach-policy \ --policy-name "DevCliTestThingPolicy" \ --target "certificateArn"

    Bei erfolgreicher Ausführung gibt dieser Befehl nichts zurück.

  6. Führen Sie diesen Befehl aus, um das Gerätezertifikat an die AWS IoT Ding-Ressource anzuhängen. Ersetzen Sie certificateArn durch den certificateArn-Wert, den Sie zuvor gespeichert haben.

    aws iot attach-thing-principal \ --thing-name "DevCliTestThing" \ --principal "certificateArn"

    Bei erfolgreicher Ausführung gibt dieser Befehl nichts zurück.

Nachdem Sie Ihr Gerät erfolgreich bereitgestellt haben AWS IoT, können Sie damit fortfahrenKonfigurieren Sie den AWS IoT Geräteclient, um die Konnektivität zu testen.