Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
AWS IoT Device Defender demo
Importante
Questa è una versione archiviata della FreeRTOS User Guide da utilizzare con la versione FreeRTOS 202012.00. Per l'ultima versione di questo documento, consulta la FreerTOS User Guide.
Introduzione
Questa demo mostra come utilizzare la libreria AWS IoT Device Shadow a cui connettersi AWS IoT Device Defender. La demo utilizza la libreria CoreMQTT per stabilire una connessione MQTT con TLS (autenticazione reciproca) al broker AWS IoT MQTT e la libreria CoreJSON per convalidare e analizzare le risposte ricevute. AWS IoT Device Defender La demo mostra come creare un report in formato JSON utilizzando le metriche raccolte dal dispositivo e come inviare il rapporto a. AWS IoT Device Defender La demo mostra anche come registrare una funzione di callback con la libreria CoreMQTT per gestire le risposte AWS IoT Device Defender inviate per confermare se un report è stato accettato o rifiutato.
Nota
Per configurare ed eseguire le demo di FreerTOS, segui i passaggi indicati. Guida introduttiva a FreerTOS
Funzionalità
Questa demo crea una singola attività applicativa che dimostra come raccogliere metriche, creare un report Device Defender in formato JSON e inviarlo AWS IoT Device Defender tramite una connessione MQTT sicura a MQTT Broker. AWS IoT
Il modo in cui raccogliamo le metriche dipende dallo stack TCP/IP in uso. Per FreeRTOS+TCP e configurazioni LWIP supportate, forniamo implementazioni di raccolta di metriche che raccolgono metriche reali dal dispositivo e le inviano nel rapporto. AWS IoT Device Defender Puoi trovare le implementazioni per FreeRTOS+TCP e LWip su.
Per le schede che utilizzano qualsiasi altro stack TCP/IP, vengono fornite le definizioni stub delle funzioni di raccolta delle metriche che restituiscono zeri per tutte le metriche. Per inviare metriche reali alle schede utilizzando questa implementazione stub, implementa le funzioni nel tuo stack di rete.
Il file è disponibile anche sul sito Web. GitHubfreertos
/demos/device_defender_for_aws/metrics_collector/stub/metrics_collector.c
Infatti ESP32, la configurazione LWip predefinita non utilizza il core locking e quindi la demo utilizzerà metriche stubbed. Se desideri utilizzare l'implementazione della raccolta di metriche LWip di riferimento, definisci le seguenti macro 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
Di seguito è riportato un esempio di output quando si esegue la demo.

Se la scheda non utilizza FreeRTOS+TCP o una configurazione LWIP supportata, l'output sarà simile al seguente.

Il codice sorgente della demo si trova nella directory di download o sul sito web.
GitHubfreertos
/demos/device_defender_for_aws/
Iscrizione agli argomenti AWS IoT Device Defender
La funzione subscribeToDefenderTopics sottoscrive gli argomentiDEFENDER_API_JSON_ACCEPTED
per costruire la stringa dell'argomento su cui vengono ricevute le risposte ai report di Device Defender accettati. Utilizza la macro DEFENDER_API_JSON_REJECTED
per costruire la stringa dell'argomento in base alla quale verranno ricevute le risposte ai report di Device Defender rifiutati.
Raccolta delle metriche dei dispositivi
La collectDeviceMetricsmetrics_collector.h
Le metriche raccolte sono il numero di byte e pacchetti inviati e ricevuti, le porte TCP aperte, le porte UDP aperte e le connessioni TCP stabilite.
Generazione del report AWS IoT Device Defender
La funzione generateDeviceMetricsReportreport_builder.h
. Questa funzione prende le metriche di rete e un buffer, crea un documento JSON nel formato previsto da AWS IoT Device Defender e lo scrive nel buffer fornito. Il formato del documento JSON previsto da AWS IoT Device Defender è specificato nelle metriche lato dispositivo nella Guida per gli sviluppatori.AWS IoT
Pubblicazione del rapporto AWS IoT Device Defender
Il AWS IoT Device Defender rapporto è pubblicato sull'argomento MQTT per la pubblicazione di report JSON AWS IoT Device Defender . Il report viene creato utilizzando la macroDEFENDER_API_JSON_PUBLISH
, come illustrato in questo frammento di codice
Callback per la gestione delle risposte
La funzione publishCallbackDefender_MatchTopic
API della AWS IoT Device Defender libreria per verificare se il messaggio MQTT in arrivo proviene dal servizio. AWS IoT Device Defender Se il messaggio proviene da AWS IoT Device Defender, analizza la risposta JSON ricevuta ed estrae l'ID del report nella risposta. Viene quindi verificato che l'ID del rapporto sia uguale a quello inviato nel rapporto.