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-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.
-
CreateProvisioningProfile
Beispiel 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.
CreateManagedThing
Beispiel 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
UNCLAIMED
Bevor 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
-
iot_claim_cert_path
: Speicherort Ihres Antragszertifikats (claim_cert.pem
) -
iot_claim_pk_path
: Ort Ihres privaten Schlüssels (claim_pk.key
) -
Wird
SECURE_STORAGE
für beide Felder verwendet, wenn Sie den Secure Storage Cert Handler implementieren
-
-
Verbindungseinstellungen
-
fp_template_name
: DerProvisioningProfile
Name von früher. -
endpoint_url
: Die URL Ihres Endpunkts für verwaltete Integrationen aus derRegisterCustomEndpoint
API-Antwort (gilt für alle Geräte in einer Region).
-
-
Gerätekennungen
-
SN
: Geräteseriennummer, die IhremCreateManagedThing
API-Aufruf entspricht (einmalig pro Gerät) -
UPC
Universeller Produktcode aus IhremCreateManagedThing
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.
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