Seleziona le tue preferenze relative ai cookie

Utilizziamo cookie essenziali e strumenti simili necessari per fornire il nostro sito e i nostri servizi. Utilizziamo i cookie prestazionali per raccogliere statistiche anonime in modo da poter capire come i clienti utilizzano il nostro sito e apportare miglioramenti. I cookie essenziali non possono essere disattivati, ma puoi fare clic su \"Personalizza\" o \"Rifiuta\" per rifiutare i cookie prestazionali.

Se sei d'accordo, AWS e le terze parti approvate utilizzeranno i cookie anche per fornire utili funzionalità del sito, ricordare le tue preferenze e visualizzare contenuti pertinenti, inclusa la pubblicità pertinente. Per continuare senza accettare questi cookie, fai clic su \"Continua\" o \"Rifiuta\". Per effettuare scelte più dettagliate o saperne di più, fai clic su \"Personalizza\".

AWS IoT Device Defender demo - Gratuito RTOS

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à.

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 demo è ospitata nel repository Amazon-FreeRTOS che è obsoleto. Ti consigliamo di iniziare da qui quando crei un nuovo progetto. Se disponi già di un progetto FreeRTOS esistente basato sull'ormai obsoleto repository Amazon-FreerTOS, consulta il. Guida alla migrazione del RTOS repository Github gratuito da Amazon

Introduzione

Questa demo mostra come utilizzare la libreria Device Defender a cui connettersi. AWS IoT AWS IoT Device Defender La demo utilizza la libreria CoreMQTT per stabilire una connessione MQTT tramite TLS (autenticazione reciproca) a AWS IoT MQTT Broker e la libreria CoreJSON per convalidare e analizzare le risposte ricevute dal servizio. AWS IoT Device Defender La demo mostra come creare un report in formato JSON utilizzando le metriche raccolte dal dispositivo e come inviare il report costruito al servizio. AWS IoT Device Defender La demo mostra anche come registrare una funzione di callback con la libreria CoreMQTT per gestire le risposte del AWS IoT Device Defender servizio e confermare se un report inviato è stato accettato o rifiutato.

Nota

Per configurare ed eseguire le demo di FreerTOS, segui i passaggi indicati. Inizia con Free RTOS

Funzionalità

Questa demo crea un'unica attività applicativa che dimostra come raccogliere metriche, creare un report Device Defender in formato JSON e inviarlo al AWS IoT Device Defender servizio tramite una connessione MQTT sicura a MQTT Broker. AWS IoT La demo include le metriche di rete standard e le metriche personalizzate. Per quanto riguarda le metriche personalizzate, la demo include:

  • Una metrica denominata "task_numbers" che è un elenco di ID di attività FreerTOS. Il tipo di questa metrica è «elenco di numeri».

  • Una metrica denominata "stack_high_water_mark" che indica lo stack high watermark per l'attività dell'applicazione demo. Il tipo di questa metrica è «numero».

Il modo in cui raccogliamo le metriche di rete 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. GitHub

Per le schede che utilizzano qualsiasi altro stack TCP/IP, forniamo definizioni stub delle funzioni di raccolta delle metriche che restituiscono zeri per tutte le metriche di rete. Implementa le funzioni nel tuo stack di rete freertos/demos/device_defender_for_aws/metrics_collector/stub/metrics_collector.c per inviare metriche reali. Il file è disponibile anche sul sito Web. GitHub

Per ESP32, la configurazione LWip predefinita non utilizza il core locking e pertanto 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.

Output del log della console che mostra gli eventi di connessione MQTT, pubblicazione e utilizzo della memoria per l' DemoThing applicazione.

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

Messaggi di log che mostrano la creazione di una connessione MQTT, i tentativi di sottoscrizione agli argomenti, i payload di pubblicazione e la gestione dei pacchetti per un'applicazione demo.

Il codice sorgente della demo si trova nella freertos/demos/device_defender_for_aws/ directory di download o sul sito Web. GitHub

Iscrizione agli argomenti AWS IoT Device Defender

La funzione subscribeToDefenderTopics sottoscrive gli argomenti MQTT sui quali verranno ricevute le risposte ai report pubblicati da Device Defender. Utilizza la macro DEFENDER_API_JSON_ACCEPTED per costruire la stringa dell'argomento in base alla quale 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 collectDeviceMetricsfunzione raccoglie le metriche di rete utilizzando le funzioni definite in. metrics_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 generateDeviceMetricsReport genera un rapporto Device Defender utilizzando la funzione definita inreport_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 sul sito Web. GitHub

Callback per la gestione delle risposte

La funzione publishCallback gestisce i messaggi di pubblicazione MQTT in entrata. Utilizza l'Defender_MatchTopicAPI 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 dal AWS IoT Device Defender servizio, analizza la risposta JSON ricevuta ed estrae l'ID del rapporto nella risposta. L'ID del rapporto viene quindi verificato in modo che sia lo stesso di quello inviato nel rapporto.

PrivacyCondizioni del sitoPreferenze cookie
© 2025, Amazon Web Services, Inc. o società affiliate. Tutti i diritti riservati.