Wählen Sie Ihre Cookie-Einstellungen aus

Wir verwenden essentielle Cookies und ähnliche Tools, die für die Bereitstellung unserer Website und Services erforderlich sind. Wir verwenden Performance-Cookies, um anonyme Statistiken zu sammeln, damit wir verstehen können, wie Kunden unsere Website nutzen, und Verbesserungen vornehmen können. Essentielle Cookies können nicht deaktiviert werden, aber Sie können auf „Anpassen“ oder „Ablehnen“ klicken, um Performance-Cookies abzulehnen.

Wenn Sie damit einverstanden sind, verwenden AWS und zugelassene Drittanbieter auch Cookies, um nützliche Features der Website bereitzustellen, Ihre Präferenzen zu speichern und relevante Inhalte, einschließlich relevanter Werbung, anzuzeigen. Um alle nicht notwendigen Cookies zu akzeptieren oder abzulehnen, klicken Sie auf „Akzeptieren“ oder „Ablehnen“. Um detailliertere Entscheidungen zu treffen, klicken Sie auf „Anpassen“.

AWS IoT Device Defender Demo - Kostenlos RTOS

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.

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 Device Defender Demo

Wichtig

Diese Demo wird im Amazon-FreeRTOS-Repository gehostet, das veraltet ist. Wir empfehlen, dass Sie hier beginnen, wenn Sie ein neues Projekt erstellen. Wenn Sie bereits ein vorhandenes FreeRTOS-Projekt haben, das auf dem inzwischen veralteten Amazon-FreeRTOS-Repository basiert, finden Sie weitere Informationen unter. Leitfaden zur Migration des kostenlosen RTOS Github-Repositorys von Amazon

Einführung

Diese Demo zeigt Ihnen, wie Sie die Device Defender-Bibliothek verwenden, um eine Verbindung herzustellen. AWS IoT AWS IoT Device Defender Die Demo verwendet die CoreMQTT-Bibliothek, um eine MQTT-Verbindung über TLS (gegenseitige Authentifizierung) zum AWS IoT MQTT-Broker herzustellen, und die CoreJSON-Bibliothek, um die vom Dienst empfangenen Antworten zu validieren und zu analysieren. AWS IoT Device Defender Die Demo zeigt Ihnen, wie Sie einen Bericht im JSON-Format mithilfe der vom Gerät gesammelten Metriken erstellen und wie Sie den erstellten Bericht an den Service senden. AWS IoT Device Defender Die Demo zeigt auch, wie Sie eine Callback-Funktion in der CoreMQTT-Bibliothek registrieren, um die Antworten des AWS IoT Device Defender Dienstes zu verarbeiten und zu bestätigen, ob ein gesendeter Bericht akzeptiert oder abgelehnt wurde.

Anmerkung

Folgen Sie den Schritten unter, um die FreeRTOS-Demos einzurichten und auszuführen. Jetzt kostenlos durchstarten RTOS

Funktionalität

Diese Demo erstellt eine einzelne Anwendungsaufgabe, die demonstriert, wie Sie Metriken sammeln, einen Device Defender-Bericht im JSON-Format erstellen und ihn über eine sichere MQTT-Verbindung zum MQTT-Broker an den AWS IoT Device Defender Service senden. AWS IoT Die Demo umfasst sowohl die standardmäßigen Netzwerkmetriken als auch benutzerdefinierte Metriken. Für benutzerdefinierte Metriken umfasst die Demo:

  • Eine Metrik namens "task_numbers", die eine Liste von FreeRTOS-Task-IDs ist. Der Typ dieser Metrik ist „Zahlenliste“.

  • Eine Metrik mit dem Namen "stack_high_water_mark", bei der es sich um das Stack-High-Wasserzeichen für die Demo-Anwendungsaufgabe handelt. Der Typ dieser Metrik ist „Zahl“.

Wie wir Netzwerkmetriken sammeln, hängt vom verwendeten TCP/IP-Stack ab. Für FreeRTOS+TCP und unterstützte LwIP-Konfigurationen bieten wir Implementierungen zur Erfassung von Metriken an, die echte Metriken vom Gerät sammeln und sie im Bericht einreichen. AWS IoT Device Defender Sie finden die Implementierungen für FreeRTOS+TCP und lwIP auf. GitHub

Für Boards, die einen anderen TCP/IP-Stack verwenden, bieten wir Stub-Definitionen der Funktionen zur Erfassung von Metriken an, die für alle Netzwerkmetriken Nullen zurückgeben. Implementieren Sie die Funktionen freertos/demos/device_defender_for_aws/metrics_collector/stub/metrics_collector.c für Ihren Netzwerk-Stack, um echte Metriken zu senden. Die Datei ist auch auf der GitHubWebsite verfügbar.

Für ESP32 verwendet die Standard-LWiP-Konfiguration kein Core-Locking und daher verwendet die Demo Stubbed-Metriken. Wenn Sie die Referenzimplementierung zur Erfassung von LWIP-Metriken verwenden möchten, definieren Sie die folgenden Makros in: lwiopts.h

#define LINK_SPEED_OF_YOUR_NETIF_IN_BPS 0 #define LWIP_TCPIP_CORE_LOCKING 1 #define LWIP_STATS 1 #define MIB2_STATS 1

Im Folgenden finden Sie ein Beispiel für die Ausgabe, wenn Sie die Demo ausführen.

Konsolenprotokollausgabe mit MQTT-Verbindungs-, Veröffentlichungs- und Speichernutzungsereignissen für die DemoThing Anwendung.

Wenn dein Board nicht FreeRTOS+TCP oder eine unterstützte LwIP-Konfiguration verwendet, sieht die Ausgabe wie folgt aus.

Protokollnachrichten, die den Aufbau einer MQTT-Verbindung, die Abonnementversuche für Themen, die Veröffentlichung von Payloads und die Paketabwicklung für eine Demo-Anwendung zeigen.

Der Quellcode der Demo befindet sich in Ihrem freertos/demos/device_defender_for_aws/ Download-Verzeichnis oder auf der GitHubWebsite.

Themen abonnieren AWS IoT Device Defender

Mit der subscribeToDefenderThemenfunktion abonnieren Sie die MQTT-Themen, zu denen Antworten auf veröffentlichte Device Defender-Berichte eingehen werden. Sie verwendet das MakroDEFENDER_API_JSON_ACCEPTED, um die Themenzeichenfolge zu erstellen, zu der Antworten auf akzeptierte Device Defender-Berichte eingehen. Es verwendet das MakroDEFENDER_API_JSON_REJECTED, um die Themenzeichenfolge zu erstellen, zu der Antworten auf abgelehnte Device Defender-Berichte eingehen.

Erfassung von Gerätemetriken

Die collectDeviceMetricsFunktion sammelt Netzwerkmetriken mithilfe der unter definierten Funktionen. metrics_collector.h Bei den gesammelten Metriken handelt es sich um die Anzahl der gesendeten und empfangenen Bytes und Pakete, die offenen TCP-Ports, die offenen UDP-Ports und die hergestellten TCP-Verbindungen.

Der AWS IoT Device Defender Bericht wird generiert

Die generateDeviceMetricsBerichtsfunktion generiert mithilfe der unter definierten Funktion einen Device Defender-Berichtreport_builder.h. Diese Funktion verwendet die Netzwerkmetriken und einen Puffer, erstellt ein JSON-Dokument in dem von erwarteten Format AWS IoT Device Defender und schreibt es in den bereitgestellten Puffer. Das von erwartete Format des JSON-Dokuments AWS IoT Device Defender ist unter Geräteseitige Metriken im AWS IoT Entwicklerhandbuch angegeben.

Den Bericht veröffentlichen AWS IoT Device Defender

Der AWS IoT Device Defender Bericht wird zum MQTT-Thema für die Veröffentlichung von AWS IoT Device Defender JSON-Berichten veröffentlicht. Der Bericht wird mithilfe des Makros erstelltDEFENDER_API_JSON_PUBLISH, wie in diesem Codeausschnitt auf der Website gezeigt. GitHub

Rückruf zur Bearbeitung von Antworten

Die Funktion publishCallback verarbeitet eingehende MQTT-Veröffentlichungsnachrichten. Sie verwendet die Defender_MatchTopic API aus der AWS IoT Device Defender Bibliothek, um zu überprüfen, ob die eingehende MQTT-Nachricht vom Dienst stammt. AWS IoT Device Defender Wenn die Nachricht vom AWS IoT Device Defender Dienst stammt, analysiert er die empfangene JSON-Antwort und extrahiert die Berichts-ID aus der Antwort. Anschließend wird überprüft, ob die Berichts-ID mit der im Bericht gesendeten identisch ist.

DatenschutzNutzungsbedingungen für die WebsiteCookie-Einstellungen
© 2025, Amazon Web Services, Inc. oder Tochtergesellschaften. Alle Rechte vorbehalten.