AWS IoT Greengrass-Discovery-Bibliothek - FreeRTOS

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.

AWS IoT Greengrass-Discovery-Bibliothek

Anmerkung

Der Inhalt dieser Seite ist möglicherweise nicht up-to-date. Das neueste Update finden Sie auf der Bibliotheksseite von Freertos.org.

Übersicht

Die AWS IoT GreengrassDiscovery-Bibliothek wird von Ihren Mikrocontroller-Geräten verwendet, um einen Greengrass-Kern in Ihrem Netzwerk zu entdecken. Mithilfe der AWS IoT Greengrass-Discovery-APIs kann Ihr Gerät Nachrichten an einen Greengrass-Kern senden, nachdem es den Endpunkt des Kerns gefunden hat.

Abhängigkeiten und Anforderungen

Um die Greengrass-Discovery-Bibliothek zu verwenden, müssen Sie ein Objekt in AWS IoT erstellen (einschließlich eines Zertifikats und einer Richtlinie). Weitere Informationen finden Sie unter Erste Schritte mit AWS IoT.

Sie müssen in der Datei „freertos/demos/include/aws_clientcredential.h“ Werte für die folgenden Konstanten festlegen:

clientcredentialMQTT_BROKER_ENDPOINT

Ihr AWS IoT-Endpunkt.

clientcredentialIOT_THING_NAME

Der Name Ihres IoT-Objekts.

clientcredentialWIFI_SSID

Die SSID für Ihr WLAN-Netzwerk.

clientcredentialWIFI_PASSWORD

Ihr WLAN-Passwort.

clientcredentialWIFI_SECURITY

Der von Ihrem WLAN-Netzwerk verwendete Sicherheitstyp.

Sie müssen darüber hinaus in der Datei „freertos/demos/include/aws_clientcredential_keys.h“ Werte für die folgenden Konstanten festlegen:

keyCLIENT_CERTIFICATE_PEM

Die Zertifikat-PEM, die Ihrem Objekt zugeordnet ist.

keyCLIENT_PRIVATE_KEY_PEM

Die PEM des privaten Schlüssels, der Ihrem Objekt zugeordnet ist.

Sie müssen eine Greengrass-Gruppe und ein Kerngerät über die Konsole eingerichtet haben. Weitere Informationen finden Sie unter Erste Schritte mit AWS IoT Greengrass.

Obwohl die CoreMQTT-Bibliothek für die Greengrass-Konnektivität nicht erforderlich ist, empfehlen wir dringend, sie zu installieren. Die Bibliothek kann nach der Erkennung genutzt werden, um mit dem Greengrass-Kern zu kommunizieren.

API-Referenz

Die vollständige API-Referenz finden Sie unter Greengrass API-Referenz.

Beispielverwendung

Greengrass-Workflow

Das MCU-Gerät leitet den Erkennungsprozess ein, indem es von AWS IoT eine JSON-Datei anfordert, die die Greengrass-Kern-Verbindungsparameter enthält. Es gibt zwei Methoden, um die Greengrass-Kern-Verbindungsparameter aus der JSON-Datei abzurufen:

  • Die automatische Auswahl durchläuft alle in der JSON-Datei aufgeführten Greengrass-Kerne und verbindet sich mit dem ersten verfügbaren Kern.

  • Die manuelle Auswahl verwendet die Informationen in aws_ggd_config.h, um sich mit dem angegebenen Greengrass-Kern zu verbinden.

So verwenden Sie die Greengrass-API:

Alle Standardkonfigurationsoptionen für die Greengrass-API sind in aws_ggd_config_defaults.h definiert.

Wenn nur ein Greengrass-Kern vorhanden ist, rufen Sie GGD_GetGGCIPandCertificate auf, um die JSON-Datei mit den Greengrass-Kern-Verbindungsinformationen anzufordern. Wenn GGD_GetGGCIPandCertificate zurückgegeben wird, enthält der Parameter pcBuffer den Text der JSON-Datei. Der Parameter pxHostAddressData enthält die IP-Adresse und den Port des Greengrass-Kerns, mit dem Sie sich verbinden können.

Für weitere Anpassungsoptionen (z. B. die dynamische Zuweisung von Zertifikaten) müssen Sie die folgenden APIs aufrufen:

GGD_JSONRequestStart

Stellt eine HTTP GET-Anfrage an AWS IoT, um die Discovery-Anfrage zu starten und einen Greengrass-Kern zu ermitteln. GD_SecureConnect_Send wird verwendet, um die Anfrage an AWS IoT zu senden.

GGD_JSONRequestGetSize

Ruft die Größe der JSON-Datei aus der HTTP-Antwort ab.

GGD_JSONRequestGetFile

Ruft die JSON-Objektzeichenfolge ab. GGD_JSONRequestGetSize und GGD_JSONRequestGetFile verwenden GGD_SecureConnect_Read, um die JSON-Daten aus dem Socket abzurufen. GGD_JSONRequestStart, GGD_SecureConnect_Send und GGD_JSONRequestGetSize müssen aufgerufen werden, um die JSON-Daten von AWS IoT zu empfangen.

GGD_GetIPandCertificateFromJSON

Extrahiert die IP-Adresse und das Greengrass-Kern-Zertifikat aus den JSON-Daten. Sie können die automatische Auswahl aktivieren, indem Sie die xAutoSelectFlag auf True festlegen. Die automatische Auswahl findet das erste Kerngerät, mit dem sich Ihr FreeRTOS-Gerät verbinden kann. Um sich mit einem Greengrass-Kern zu verbinden, rufen Sie die Funktion GGD_SecureConnect_Connect auf und übergeben die IP-Adresse, den Port und das Zertifikat des Kerngeräts. Um die manuelle Auswahl zu nutzen, legen Sie die folgenden Felder des Parameters HostParameters_t fest:

pcGroupName

Die ID der Greengrass-Gruppe, zu der der Kern gehört. Mit dem CLI-Befehl aws greengrass list-groups können Sie die ID Ihrer Greengrass-Gruppen ermitteln.

pcCoreAddress

Der ARN des Greengrass-Kerns, mit dem Sie sich verbinden.