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 Libreria via etere (OTA)
Nota
Il contenuto di questa pagina potrebbe non esserlo up-to-date. Consulta la pagina della libreria RTOS Free.org
Introduzione
La libreria AWS IoT Over-the-air (OTA) update consente di gestire la notifica, il download e la verifica degli aggiornamenti del firmware per RTOS i dispositivi Free utilizzando HTTP o MQTT come protocollo. Utilizzando la libreria OTA Agent, è possibile separare logicamente gli aggiornamenti del firmware e l'applicazione in esecuzione sui dispositivi. L'OTAagente può condividere una connessione di rete con l'applicazione. Condividendo una connessione di rete, è possibile potenzialmente risparmiare una notevole quantità diRAM. Inoltre, la libreria OTA Agent consente di definire una logica specifica dell'applicazione per testare, eseguire il commit o ripristinare un aggiornamento del firmware.
L'Internet of Things (IoT) estende la connettività Internet ai dispositivi integrati che tradizionalmente non erano connessi. Questi dispositivi possono essere programmati per comunicare dati utilizzabili su Internet e possono essere monitorati e controllati da remoto. Grazie ai progressi della tecnologia, questi dispositivi integrati tradizionali stanno acquisendo rapidamente funzionalità Internet negli spazi di consumo, industriali e aziendali.
I dispositivi IoT vengono in genere implementati in grandi quantità e spesso in luoghi difficili o poco pratici da accedere per un operatore umano. Immagina uno scenario in cui viene scoperta una vulnerabilità di sicurezza che può esporre i dati. In tali scenari, è importante aggiornare i dispositivi interessati con correzioni di sicurezza in modo rapido e affidabile. Senza la possibilità di eseguire OTA gli aggiornamenti, può essere difficile aggiornare anche i dispositivi geograficamente distribuiti. Affidare l'aggiornamento di questi dispositivi da parte di un tecnico sarà costoso, dispendioso in termini di tempo e spesso poco pratico. Il tempo necessario per aggiornare questi dispositivi li espone a vulnerabilità di sicurezza per un periodo più lungo. Il richiamo di questi dispositivi per l'aggiornamento sarà inoltre costoso e potrebbe causare gravi disagi ai consumatori a causa dei tempi di inattività.
Gli aggiornamenti Over the Air (OTA) consentono di aggiornare il firmware del dispositivo senza costosi richiami o interventi tecnici. Questo metodo aggiunge i seguenti vantaggi:
-
Sicurezza: la capacità di rispondere rapidamente alle vulnerabilità di sicurezza e ai bug del software scoperti dopo l'implementazione dei dispositivi sul campo.
-
Innovazione: i prodotti possono essere aggiornati frequentemente man mano che vengono sviluppate nuove funzionalità, che guidano il ciclo di innovazione. Gli aggiornamenti possono avere effetto rapidamente con tempi di inattività minimi rispetto ai metodi di aggiornamento tradizionali.
-
Costo: OTA gli aggiornamenti possono ridurre significativamente i costi di manutenzione rispetto ai metodi tradizionalmente utilizzati per aggiornare questi dispositivi.
La fornitura della OTA funzionalità richiede le seguenti considerazioni di progettazione:
-
Comunicazione sicura: gli aggiornamenti devono utilizzare canali di comunicazione crittografati per evitare che i download vengano manomessi durante il transito.
-
Ripristino: gli aggiornamenti possono non riuscire a causa di fattori come la connettività di rete intermittente o la ricezione di un aggiornamento non valido. In questi scenari, il dispositivo deve essere in grado di tornare a uno stato stabile ed evitare di bloccarsi.
-
Verifica dell'autore: è necessario verificare che gli aggiornamenti provengano da una fonte attendibile, oltre ad altre convalide come il controllo della versione e della compatibilità.
Per ulteriori informazioni sulla configurazione degli OTA aggiornamenti con FreeRTOS, consultaRTOS Over-the-AirAggiornamenti gratuiti.
AWS IoT Libreria Over the air (OTA)
La AWS IoT OTA libreria consente di gestire le notifiche di nuovi aggiornamenti disponibili, scaricarli ed eseguire la verifica crittografica degli aggiornamenti del firmware. Utilizzando la libreria client over-the-air (OTA), è possibile separare logicamente i meccanismi di aggiornamento del firmware dall'applicazione in esecuzione sul dispositivo. La libreria client over-the-air (OTA) può condividere una connessione di rete con l'applicazione, risparmiando memoria in dispositivi con risorse limitate. Inoltre, la libreria client over-the-air (OTA) consente di definire la logica specifica dell'applicazione per testare, eseguire il commit o ripristinare un aggiornamento del firmware. La libreria supporta diversi protocolli applicativi come Message Queuing Telemetry Transport (MQTT) e Hypertext Transfer Protocol (HTTP) e offre varie opzioni di configurazione che è possibile regolare in base al tipo e alle condizioni della rete.
Questa libreria fornisce le seguenti funzioni principali: APIs
-
Registrati per ricevere notifiche o sondaggi sulle nuove richieste di aggiornamento disponibili.
-
Ricevi, analizza e convalida la richiesta di aggiornamento.
-
Scarica e verifica il file in base alle informazioni contenute nella richiesta di aggiornamento.
-
Esegui un autotest prima di attivare l'aggiornamento ricevuto per garantire la validità funzionale dell'aggiornamento.
-
Aggiorna lo stato del dispositivo.
Questa libreria utilizza AWS servizi per gestire varie funzioni relative al cloud, come l'invio di aggiornamenti del firmware, il monitoraggio di un gran numero di dispositivi in più aree, la riduzione del raggio d'azione delle implementazioni difettose e la verifica della sicurezza degli aggiornamenti. Questa libreria può essere utilizzata con qualsiasi libreria. MQTT HTTP
Le demo di questa libreria mostrano over-the-air aggiornamenti completi utilizzando la MQTT libreria e i AWS servizi di base su un RTOS dispositivo gratuito.
Funzionalità
Ecco l'interfaccia completa OTA dell'agente:
OTA_Init
-
Inizializza il OTA motore avviando OTA Agent (» OTA Task») nel sistema. Può esistere un solo OTA agente.
OTA_Shutdown
-
Segnale all'OTAagente di spegnersi. Facoltativamente, l'OTAagente annullerà l'iscrizione a tutti gli argomenti relativi alle notifiche di MQTT lavoro, interromperà i OTA lavori in corso, se presenti, e cancellerà tutte le risorse.
OTA_GetState
-
Ottiene lo stato corrente dell'OTAagente.
OTA_ActivateNewImage
-
Attiva l'immagine del firmware del microcontrollore più recente ricevuta tramite. OTA (Lo stato del processo dettagliato ora dovrebbe essere self-test).
OTA_SetImageState
-
Imposta lo stato della convalida dell'immagine del firmware del microcontroller attualmente in esecuzione (testing, accettato o rifiutato).
OTA_GetImageState
-
Ottiene lo stato della convalida dell'immagine del firmware del microcontroller attualmente in esecuzione (testing, accettato o rifiutato).
OTA_CheckForUpdate
-
Richiede il prossimo OTA aggiornamento disponibile dal servizio Update. OTA
OTA_Suspend
-
Sospendere tutte le operazioni OTA dell'agente.
OTA_Resume
-
Riprendi le operazioni OTA dell'agente.
OTA_SignalEvent
-
Segnala un evento all'attività dell'OTAagente.
OTA_EventProcessingTask
-
OTAciclo di elaborazione degli eventi dell'agente.
OTA_GetStatistics
-
Ottieni le statistiche dei pacchetti di OTA messaggi che includono il numero di pacchetti ricevuti, messi in coda, elaborati e eliminati.
OTA_Err_strerror
-
Conversione da codice di errore a stringa per errori. OTA
OTA_JobParse_strerror
-
Converte un codice di errore OTA Job Parsing in una stringa.
OTA_PalStatus_strerror
-
Conversione del codice di stato in stringa per OTA PAL lo stato.
OTA_OsStatus_strerror
-
Conversione da codice di stato a stringa per lo stato del OTA sistema operativo.
APIriferimento
Per ulteriori informazioni, vedere AWS IoT Over-the-air Update: Functions
Esempio di utilizzo
Una tipica applicazione OTA di dispositivo compatibile che utilizza il MQTT protocollo guida l'OTAagente utilizzando la seguente sequenza di API chiamate.
-
Connect all'MQTTagente AWS IoT principale. Per ulteriori informazioni, consulta libreria principale MQTT Agent.
-
Inizializza l'OTAagente chiamando
OTA_Init
, inclusi i buffer, le interfacce ota richieste, il nome dell'oggetto e il callback dell'applicazione. Il callback implementa la logica specifica dell'applicazione che viene eseguita dopo il completamento di un processo di aggiornamento. OTA -
Una volta completato l'OTAaggiornamento, Free RTOS richiama il callback per il completamento del processo con uno dei seguenti eventi:, o.
accepted
rejected
self test
-
Se la nuova immagine del firmware è stata rifiutata (ad esempio a causa di un errore di convalida), l'applicazione può in genere ignorare la notifica e attendere l'aggiornamento successivo.
-
Se l'aggiornamento è valido ed è stato contrassegnato come accettato, chiama
OTA_ActivateNewImage
per ripristinare il dispositivo e avviare la nuova immagine del firmware.
Portabilità
Per informazioni sulla OTA funzionalità di portabilità sulla tua piattaforma, consulta Porting the OTA Library nella Free RTOS Porting Guide.
Uso della memoria
Dimensione del codice di AWS IoT OTA (esempio generato con GCC ARM Cortex-M) | ||
---|---|---|
File | Con ottimizzazione -O1 | Con ottimizzazione -Os |
ota.c | 8,3K | 7,5 K |
ota_interface. | 0,1 K | 0,1 K |
ota_base64.c | 0,6K | 0,6 K |
ota_mqtt.c | 2,4K | 2,2 K |
ota_cbor.c | 0,8K | 0,6 K |
ota_http.c | 0,3K | 0,3 K |
Stime totali | 12,5 K | 11,3 K |