Einrichtung des Hub-Onboardings - Verwaltete Integrationen für AWS IoT Device Management

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.

Einrichtung des Hub-Onboardings

Führen Sie diese Einrichtungsschritte für jedes Hub-Gerät durch, bevor Sie mit dem Onboarding-Prozess für die Flottenbereitstellung beginnen. In diesem Abschnitt wird beschrieben, wie verwaltete Dinge erstellt, Verzeichnisstrukturen eingerichtet und die erforderlichen Zertifikate konfiguriert werden.

Schritt 1: Registrieren Sie einen benutzerdefinierten Endpunkt

Erstellen Sie einen dedizierten Kommunikationsendpunkt, über den Ihre Geräte Daten mit verwalteten Integrationen austauschen. Dieser Endpunkt stellt einen sicheren Verbindungspunkt für alle device-to-cloud Nachrichten her, einschließlich Gerätebefehle, Statusaktualisierungen und Benachrichtigungen.

Um einen Endpunkt zu registrieren
  • Verwenden Sie die RegisterCustomEndpointAPI, um einen Endpunkt für die device-to-managed Integrationskommunikation zu erstellen.

    RegisterCustomEndpointBeispiel anfordern

    aws iot-managed-integrations register-custom-endpoint

    Antwort:

    { [ACCOUNT-PREFIX]-ats.iot.AWS-REGION.amazonaws.com }
    Anmerkung

    Speichern Sie die Endpunktadresse. Sie werden es für die future Gerätekommunikation benötigen.

    Verwenden Sie die GetCustomEndpoint API, um die Endpunktinformationen zurückzugeben.

    Weitere Informationen zur RegisterCustomEndpointAPI und zur API finden Sie im GetCustomEndpointAPI-Referenzhandbuch für verwaltete Integrationen.

Schritt 2: Erstellen Sie ein Provisioning-Profil

Ein Bereitstellungsprofil enthält die Sicherheitsanmeldedaten und Konfigurationseinstellungen, die Ihre Geräte benötigen, um eine Verbindung zu verwalteten Integrationen herzustellen.

Um ein Flottenbereitstellungsprofil zu erstellen
  • Rufen Sie die CreateProvisioningProfileAPI auf, um Folgendes zu generieren:

    • Eine Bereitstellungsvorlage, die die Verbindungseinstellungen für Geräte definiert

    • Ein Anspruchszertifikat und ein privater Schlüssel für die Geräteauthentifizierung

    Wichtig

    Bewahren Sie das Anspruchszertifikat, den privaten Schlüssel und die Vorlagen-ID sicher auf. Sie benötigen diese Anmeldeinformationen, um Geräte in verwaltete Integrationen einzubinden. Wenn Sie diese Anmeldeinformationen verlieren, müssen Sie ein neues Provisioning-Profil erstellen.

CreateProvisioningProfileBeispiel für eine Anfrage

aws iot-managed-integrations create-provisioning-profile \ --provisioning-type FLEET_PROVISIONING \ --name PROFILE_NAME

Antwort:

{ "Arn":"arn:aws:iotmanagedintegrations:AWS-REGION:ACCOUNT-ID:provisioning-profile/PROFILE-ID", "ClaimCertificate": "-----BEGIN CERTIFICATE----- MIICiTCCAfICCQD6m7.....w3rrszlaEXAMPLE= -----END CERTIFICATE-----", "ClaimCertificatePrivateKey": "-----BEGIN RSA PRIVATE KEY----- MIICiTCCAfICCQ...3rrszlaEXAMPLE= -----END RSA PRIVATE KEY-----", "Id": "PROFILE-ID", "PROFILE-NAME", "ProvisioningType": "FLEET_PROVISIONING" }

Schritt 3: Erstellen Sie eine verwaltete Sache (Flottenbereitstellung)

Verwenden Sie die CreateManagedThing API, um ein verwaltetes Ding für Ihr Hub-Gerät zu erstellen. Jeder Hub benötigt sein eigenes verwaltetes Ding mit einzigartigen Authentifizierungsmaterialien. Weitere Informationen zur API finden Sie in der CreateManagedThingAPI-Referenz für verwaltete Integrationen.

Wenn Sie ein verwaltetes Ding erstellen, geben Sie die folgenden Parameter an:

  • Role: Setzen Sie diesen Wert aufCONTROLLER.

  • AuthenticationMaterial: Schließt die folgenden Felder ein.

    • SN: Die eindeutige Seriennummer für dieses Gerät

    • UPC: Der universelle Produktcode für dieses Gerät

  • Owner: Die Besitzer-ID für dieses verwaltete Ding.

Wichtig

Jedes Gerät muss eine eindeutige Seriennummer (SN) in seinem Authentifizierungsmaterial haben.

CreateManagedThingBeispiel für eine Anfrage:

{ "Role": "CONTROLLER", "Owner": "ThingOwner1", "AuthenticationMaterialType": "WIFI_SETUP_QR_BAR_CODE", "AuthenticationMaterial": "SN:123456789524;UPC:829576019524" }

Weitere Informationen finden Sie CreateManagedThingin der API-Referenz für verwaltete Integrationen.

(Optional) Holen Sie sich ein verwaltetes Ding

UNCLAIMEDBevor Sie fortfahren können, muss das ProvisioningStatus von Ihrem verwalteten Objekt vorhanden sein. Verwenden Sie die GetManagedThing API, um zu überprüfen, ob Ihr verwaltetes Ding vorhanden und bereit für die Bereitstellung ist. Weitere Informationen finden Sie GetManagedThingin der API-Referenz für verwaltete Integrationen.

Schritt 4: Erstellen Sie die Verzeichnisstruktur

Erstellen Sie Verzeichnisse für Ihre Konfigurationsdateien und Zertifikate. Standardmäßig verwendet der Hub-Onboarding-Prozess die/data/aws/iotmi/config/iotmi_config.json.

Sie können in der Konfigurationsdatei benutzerdefinierte Pfade für Zertifikate und private Schlüssel angeben. In diesem Handbuch wird der Standardpfad verwendet/data/aws/iotmi/certs.

mkdir -p /data/aws/iotmi/config mkdir -p /data/aws/iotmi/certs /data/ aws/ iotmi/ config/ certs/

Schritt 5: Fügen Sie dem Hub-Gerät Authentifizierungsmaterialien hinzu

Kopieren Sie Zertifikate und Schlüssel auf Ihr Hub-Gerät und erstellen Sie dann eine gerätespezifische Konfigurationsdatei. Diese Dateien stellen während des Bereitstellungsprozesses eine sichere Kommunikation zwischen Ihrem Hub und den verwalteten Integrationen her.

Um das Anforderungszertifikat und den Schlüssel zu kopieren
  • Kopieren Sie diese Authentifizierungsdateien aus Ihrer CreateProvisioningProfile API-Antwort auf Ihr Hub-Gerät:

    • claim_cert.pem: Das Antragszertifikat (gilt für alle Geräte)

    • claim_pk.key: Der private Schlüssel für das Anspruchszertifikat

    Platzieren Sie beide Dateien im /data/aws/iotmi/certs Verzeichnis.

    Wichtig

    Achten Sie beim Speichern von Zertifikaten und privaten Schlüsseln im PEM-Format auf eine korrekte Formatierung, indem Sie Zeilenumbruchzeichen korrekt behandeln. Bei PEM-codierten Dateien (\n) müssen die Zeilenumbruchzeichen durch tatsächliche Zeilentrennzeichen ersetzt werden, da das bloße Speichern von Zeilenumbrüchen mit Escape-Zeichen später nicht korrekt abgerufen werden kann.

    Anmerkung

    Wenn Sie sicheren Speicher verwenden, speichern Sie diese Anmeldeinformationen an Ihrem sicheren Speicherort statt im Dateisystem. Weitere Informationen finden Sie unter Erstellen Sie einen benutzerdefinierten Zertifikatshandler für sicheren Speicher.

Schritt 6: Erstellen Sie die Gerätekonfigurationsdatei

Erstellen Sie eine Konfigurationsdatei, die eindeutige Gerätekennungen, Zertifikatsspeicherorte und Bereitstellungseinstellungen enthält. Das SDK verwendet diese Datei beim Onboarding des Hubs, um Ihr Gerät zu authentifizieren, den Bereitstellungsstatus zu verwalten und Verbindungseinstellungen zu speichern.

Anmerkung

Jedes Hub-Gerät benötigt eine eigene Konfigurationsdatei mit eindeutigen gerätespezifischen Werten.

Gehen Sie wie folgt vor, um Ihre Konfigurationsdatei zu erstellen oder zu ändern und sie auf den Hub zu kopieren.

  • Erstellen oder ändern Sie die Konfigurationsdatei (Fleet Provisioning).

    Konfigurieren Sie diese erforderlichen Felder in der Gerätekonfigurationsdatei:

    • Zertifikatspfade

      1. iot_claim_cert_path: Speicherort Ihres Antragszertifikats (claim_cert.pem)

      2. iot_claim_pk_path: Ort Ihres privaten Schlüssels (claim_pk.key)

      3. Wird SECURE_STORAGE für beide Felder verwendet, wenn Sie den Secure Storage Cert Handler implementieren

    • Verbindungseinstellungen

      1. fp_template_name: Der ProvisioningProfile Name von früher.

      2. endpoint_url: Die URL Ihres Endpunkts für verwaltete Integrationen aus der RegisterCustomEndpoint API-Antwort (gilt für alle Geräte in einer Region).

    • Gerätekennungen

      1. SN: Geräteseriennummer, die Ihrem CreateManagedThing API-Aufruf entspricht (einmalig pro Gerät)

      2. UPCUniverseller Produktcode aus Ihrem CreateManagedThing API-Aufruf (gilt für alle Geräte dieses Produkts)

    { "ro": { "iot_provisioning_method": "FLEET_PROVISIONING", "iot_claim_cert_path": "<SPECIFY_THIS_FIELD>", "iot_claim_pk_path": "<SPECIFY_THIS_FIELD>", "fp_template_name": "<SPECIFY_THIS_FIELD>", "endpoint_url": "<SPECIFY_THIS_FIELD>", "SN": "<SPECIFY_THIS_FIELD>", "UPC": "<SPECIFY_THIS_FIELD>" }, "rw": { "iot_provisioning_state": "NOT_PROVISIONED" } }

Inhalt der Konfigurationsdatei

Überprüfen Sie den Inhalt der iotmi_config.json Datei.

Inhalt
Schlüssel Werte Vom Kunden hinzugefügt? Hinweise
iot_provisioning_method FLEET_PROVISIONING Ja Geben Sie die Bereitstellungsmethode an, die Sie verwenden möchten.
iot_claim_cert_path Der Dateipfad, den Sie angeben oderSECURE_STORAGE. Beispiel: /data/aws/iotmi/certs/claim_cert.pem Ja Geben Sie den Dateipfad an, den Sie verwenden möchten oderSECURE_STORAGE.
iot_claim_pk_path Der Dateipfad, den Sie angeben oderSECURE_STORAGE. Beispiel: /data/aws/iotmi/certs/claim_pk.pem Ja Geben Sie den Dateipfad an, den Sie verwenden möchten oderSECURE_STORAGE.
fp_template_name Der Name der Vorlage für die Flottenbereitstellung sollte dem Namen der Vorlage entsprechenProvisioningProfile, die zuvor verwendet wurde. Ja Entspricht dem Namen der DateiProvisioningProfile, die zuvor verwendet wurde
endpoint_url Die Endpunkt-URL für verwaltete Integrationen. Ja Ihre Geräte verwenden diese URL, um eine Verbindung zur Cloud für verwaltete Integrationen herzustellen. Verwenden Sie die RegisterCustomEndpointAPI, um diese Informationen zu erhalten.
SN Die Seriennummer des Geräts. Beispiel, AIDACKCEVSQ6C2EXAMPLE. Ja Sie müssen diese eindeutigen Informationen für jedes Gerät angeben.
UPC Universeller Produktcode des Geräts. Beispiel, 841667145075. Ja Sie müssen diese Informationen für das Gerät angeben.
managed_thing_id Die ID des verwalteten Objekts. Nein Diese Informationen werden später im Rahmen des Onboarding-Prozesses nach der Hub-Bereitstellung hinzugefügt.
iot_provisioning_state Der Bereitstellungsstatus. Ja Der Bereitstellungsstatus muss auf festgelegt werden. NOT_PROVISIONED
iot_permanent_cert_path Der IoT-Zertifikatspfad. Beispiel, /data/aws/iotmi/iot_cert.pem. Nein Diese Informationen werden später im Rahmen des Onboarding-Prozesses nach der Hub-Bereitstellung hinzugefügt.
iot_permanent_pk_path Der Dateipfad für den privaten IoT-Schlüssel. Beispiel, /data/aws/iotmi/iot_pk.pem. Nein Diese Informationen werden später im Rahmen des Onboarding-Prozesses nach der Hub-Bereitstellung hinzugefügt.
client_id Die Client-ID, die für MQTT-Verbindungen verwendet wird. Nein Diese Informationen werden später im Rahmen des Onboarding-Prozesses nach der Hub-Bereitstellung hinzugefügt, sodass sie von anderen Komponenten genutzt werden können.
event_manager_upper_bound Der Standardwert ist 500 Nein Diese Informationen werden später im Rahmen des Onboarding-Prozesses nach der Hub-Bereitstellung hinzugefügt, sodass sie von anderen Komponenten genutzt werden können.

Schritt 7: Kopieren Sie die Konfigurationsdatei auf Ihren Hub

Kopieren Sie Ihre Konfigurationsdatei in /data/aws/iotmi/config oder Ihren benutzerdefinierten Verzeichnispfad. Sie geben diesen Pfad zur HubOnboarding Binärdatei während des Onboarding-Prozesses an.

Für die Bereitstellung von Flotten

/data/ aws/ iotmi/ config/ iotmi_config.json certs/ claim_cert.pem claim_pk.key