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 Seite der RTOS Free.org-Bibliothek
Übersicht
Die AWS IoT Greengrass Discovery-Bibliothek wird von Ihren Mikrocontroller-Geräten verwendet, um einen Greengrass-Kern in Ihrem Netzwerk zu erkennen. Mithilfe von AWS IoT Greengrass Discovery APIs kann Ihr Gerät Nachrichten an einen Greengrass-Core senden, nachdem es den Endpunkt des Cores gefunden hat.
Abhängigkeiten und Anforderungen
Um die Greengrass Discovery-Bibliothek verwenden zu können, müssen Sie ein Objekt erstellen AWS IoT, einschließlich eines Zertifikats und einer Richtlinie. Weitere Informationen finden Sie unter Erste Schritte mit AWS IoT.
Sie müssen in der Datei „
“ Werte für die folgenden Konstanten festlegen:freertos
/demos/include/aws_clientcredential.h
clientcredentialMQTT_BROKER_ENDPOINT
-
Ihr AWS IoT Endpunkt.
clientcredentialIOT_THING_NAME
-
Der Name Ihres IoT-Objekts.
clientcredentialWIFI_SSID
-
Das SSID für Ihr Wi-Fi-Netzwerk.
clientcredentialWIFI_PASSWORD
-
Ihr WLAN-Passwort.
clientcredentialWIFI_SECURITY
-
Der von Ihrem WLAN-Netzwerk verwendete Sicherheitstyp.
Sie müssen darüber hinaus in der Datei „
“ Werte für die folgenden Konstanten festlegen:freertos
/demos/include/aws_clientcredential_keys.h
keyCLIENT_CERTIFICATE_PEM
-
Das mit deinem Ding PEM verknüpfte Zertifikat.
keyCLIENT_PRIVATE_KEY_PEM
-
Der private Schlüssel, der mit deinem Ding PEM verknüpft 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 MQTT Core-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.
APIReferenz
Eine vollständige API Referenz finden Sie unter Greengrass API Reference.
Beispielverwendung
Greengrass-Workflow
Das MCU Gerät initiiert den Erkennungsprozess, indem es von AWS IoT einer JSON Datei abfragt, die die Greengrass-Core-Konnektivitätsparameter enthält. Es gibt zwei Methoden, um die Greengrass-Core-Konnektivitätsparameter aus der JSON Datei abzurufen:
-
Bei der automatischen Auswahl werden alle in der JSON Datei aufgelisteten Greengrass-Kerne durchlaufen und eine Verbindung zum ersten verfügbaren hergestellt.
-
Die manuelle Auswahl verwendet die Informationen in
aws_ggd_config.h
, um sich mit dem angegebenen Greengrass-Kern zu verbinden.
Wie benutzt man das Greengrass API
Alle Standardkonfigurationsoptionen für den Greengrass API sind in aws_ggd_config_defaults.h
definiert.
Wenn nur ein Greengrass-Core vorhanden ist, rufen Sie an, GGD_GetGGCIPandCertificate
um die JSON Datei mit den Greengrass-Core-Konnektivitätsinformationen anzufordern. Wenn zurückgegeben GGD_GetGGCIPandCertificate
wird, enthält der pcBuffer
Parameter 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, wie z. B. die dynamische Zuweisung von Zertifikaten, müssen Sie Folgendes APIs aufrufen:
GGD_JSONRequestStart
-
Stellt eine HTTP GET Anfrage, AWS IoT um die Discovery-Anfrage zur Erkennung eines Greengrass-Kerns zu initiieren.
GD_SecureConnect_Send
wird verwendet, um die Anfrage an zu AWS IoT senden. GGD_JSONRequestGetSize
-
Ruft die Größe der JSON Datei aus der HTTP Antwort ab.
GGD_JSONRequestGetFile
-
Ruft die JSON Objektzeichenfolge ab.
GGD_JSONRequestGetSize
undGGD_JSONRequestGetFile
verwendetGGD_SecureConnect_Read
, um die JSON Daten aus dem Socket zu holen.GGD_JSONRequestStart
,GGD_SecureConnect_Send
,GGD_JSONRequestGetSize
muss aufgerufen werden, um die JSON Daten von zu empfangen AWS IoT. GGD_GetIPandCertificateFromJSON
-
Extrahiert die IP-Adresse und das Greengrass-Core-Zertifikat aus den JSON Daten. Sie können die automatische Auswahl aktivieren, indem Sie die
xAutoSelectFlag
aufTrue
festlegen. Durch die automatische Auswahl wird das erste Core-Gerät gefunden, mit dem Ihr RTOS Free-Gerät eine Verbindung herstellen kann. Um sich mit einem Greengrass-Kern zu verbinden, rufen Sie die FunktionGGD_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 ParametersHostParameters_t
fest:pcGroupName
-
Die ID der Greengrass-Gruppe, zu der der Kern gehört. Sie können den
aws greengrass list-groups
CLI Befehl verwenden, um die ID Ihrer Greengrass-Gruppen zu ermitteln. pcCoreAddress
-
Der ARN des Greengrass-Kerns, mit dem Sie eine Verbindung herstellen.