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.
Einrichtungsschritte
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-endpointAntwort:
{ [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
GetCustomEndpointAPI, 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 Bereitstellungsprofil
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 WertCONTROLLERfür Hubs, die Command and Control nicht unterstützen, auf, andernfalls aufDEVICE. -
AuthenticationMaterialType: Setzen Sie diesen Wert aufWIFI_SETUP_QR_BAR_CODE. -
AuthenticationMaterial: Schließt die folgenden Felder ein. Sie können einesUPCoderEANaber nicht beide verwenden.-
SN: Die eindeutige Seriennummer für dieses Gerät -
UPC: Der universelle Produktcode für dieses Gerät -
EAN: Die internationale Artikelnummer für dieses Gerät
-
Wichtig
Jedes Gerät muss eine eindeutige Seriennummer (SN) in seinem Authentifizierungsmaterial haben.
CreateManagedThingBeispiel für eine Anfrage:
{ "Role": "CONTROLLER", "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
PRE_ASSOCIATEDBevor Sie fortfahren können, müssen Sie zuerst das ProvisioningStatus von Ihnen verwaltete Ding haben. Weitere Informationen finden Sie ProvisioningStatus unter Gerätebereitstellung. Verwenden Sie die GetManagedThing API, um zu überprüfen, ob Ihr verwaltetes Ding vorhanden ist und für die Bereitstellung bereit 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
CreateProvisioningProfileAPI-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/certsVerzeichnis.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
-
iot_claim_cert_path: Speicherort Ihres Antragszertifikats (claim_cert.pem) -
iot_claim_pk_path: Ort Ihres privaten Schlüssels (claim_pk.key) -
Wird
SECURE_STORAGEfür beide Felder verwendet, wenn Sie den Secure Storage Cert Handler implementieren
-
-
Verbindungseinstellungen
-
fp_template_name: DerProvisioningProfileName von früher. -
endpoint_url: Die URL Ihres Endpunkts für verwaltete Integrationen aus derRegisterCustomEndpointAPI-Antwort (gilt für alle Geräte in einer Region).
-
-
Gerätekennungen
-
SN: Geräteseriennummer, die IhremCreateManagedThingAPI-Aufruf entspricht (einmalig pro Gerät) -
UPCUniverseller Produktcode aus IhremCreateManagedThingAPI-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.
| Key (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. |
mqtt_keep_alive_interval |
Der Bereich liegt zwischen 30 und 1200, und die Einheiten sind in Sekunden angegeben. Der Standardwert ist 300. | Ja | Verwenden Sie dies, um ein Keep-Alive-Intervall für MQTT-Verbindungen festzulegen. |
event_manager_upper_bound |
Der Standardwert lautet 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