Competenza

4 minuto di lettura

5 Ottobre 2023

5 Ottobre 2023

Guida per sviluppatori su come garantire la manutenzione del prodotto per 10 anni

logo TEKTELIC
By Ultimo aggiornamento: 29 febbraio 2024
Guida per sviluppatori su come garantire la manutenzione del prodotto per 10 anni
Guida per sviluppatori su come garantire la manutenzione del prodotto per 10 anni
Sintesi

Mentre Dispositivi IoT Le nuove tecnologie stanno diventando sempre più parte integrante della vita quotidiana, offrendo numerosi vantaggi, ma comportano anche una serie di rischi, alcuni prevenibili, altri inevitabili. Questi potrebbero influire sullo sviluppo, compromettere il funzionamento dei dispositivi e ostacolare la manutenzione ordinaria. Di conseguenza, per fidelizzare la clientela, gli sviluppatori devono garantire un funzionamento impeccabile nel lungo periodo.

La sicurezza come fattore determinante nella progettazione dell'architettura del firmware.

Una tendenza a cui gli sviluppatori IoT dovrebbero dare priorità nella progettazione dell'architettura del firmware è la gestione dei requisiti di sicurezza.

Alla fine di 2022, stime suggeriva che ci fossero 14.3 miliardi di dispositivi connessi. Ora, il mercato è previsto Si prevede che il mercato raggiungerà i 483 miliardi di dollari entro il 2027, il che potrebbe tradursi in oltre 29 miliardi di dispositivi connessi. Tuttavia, gli attacchi informatici e i bug continuano ad alimentare le preoccupazioni dei consumatori, mentre l'adozione di questi dispositivi prosegue. Ciò significa che gli sviluppatori sono chiamati ad aumentare l'affidabilità dei loro prodotti.

In materia di sicurezza, gli sviluppatori percepiscono la pressione sia degli utenti finali che degli enti regolatori. In primo luogo, le vulnerabilità sono numerose nei sistemi operativi, nei microcontrollori e negli stack di connettività. In secondo luogo, gli utenti finali si aspettano che i dispositivi proteggano i loro dati. Pertanto, è probabile che i governi emanino requisiti di conformità e regolamentari più rigorosi. Esempi di tali normative includono l'IoT Cybersecurity Improvement Act negli Stati Uniti e il Cybersecurity Act dell'UE.

Utilizzo degli strumenti DRE per l'ottimizzazione dei dispositivi IoT

Per facilitare la manutenzione a lungo termine di Prodotti IoTGli sviluppatori possono ora sfruttare gli strumenti di ingegneria dell'affidabilità dei dispositivi (DRE). Il DRE fornisce agli ingegneri hardware dati sia a livello di singolo dispositivo che a livello di flotta, semplificando la fornitura di dispositivi IoT e edge e riducendo i rischi.

Bug corretti

Anziché affidarsi alle segnalazioni di bug degli utenti il ​​giorno del rilascio, è più efficace integrare correzioni e aggiornamenti regolari nel ciclo di vita del dispositivo. Questa soluzione garantirà che:

  • I dispositivi possono essere ripristinati alle impostazioni di fabbrica.
  • In caso contrario, è possibile ripristinare una versione precedente del firmware.
  • È possibile stabilire un percorso firmware minimo.
  • I team sono autorizzati a seguire un flusso di lavoro "Giorno 0".
  • Il firmware può essere mantenuto allo stato minimo indispensabile.

Questo approccio consente ai team di rilasciare prodotti con la certezza che gli algoritmi possano essere continuamente migliorati e che i dispositivi possano ricevere aggiornamenti anche dopo la commercializzazione.

Tradizionalmente, il debug è stato un processo lungo e costoso che richiedeva ai team di supporto di rispondere alle telefonate o alle e-mail, alle organizzazioni di raccogliere feedback e convertirli in log per i clienti, e infine di rispedire i dispositivi agli ingegneri.

In alternativa, è possibile farlo da remoto, consentendo ai dispositivi di segnalare automaticamente i problemi tramite una pipeline cloud, dove i dati vengono analizzati, organizzati in istanze di errore eliminando i duplicati e successivamente distribuiti al team di ingegneri.

Una tecnica di debug comune è nota come core dump, che prevede l'acquisizione automatica di dati diagnostici dettagliati per qualsiasi problema. Include la raccolta di log, la generazione di tracce di stack e la raccolta di informazioni sulla memoria, fornendo agli ingegneri i dati necessari per la risoluzione dei problemi. In genere, il compito degli sviluppatori è quello di raccogliere i dati diagnostici, caricarli e renderli leggibili.

Migliorare la sicurezza

La commercializzazione di un prodotto richiede un piano per gli aggiornamenti, necessari in caso di violazioni o vulnerabilità che necessitano di essere corrette.

Ulteriori misure di sicurezza includono:

  • Richiesta di convalida del firmware sul dispositivo.
  • Verificare che siano presenti meccanismi anti-rollback.
  • Garantire una consegna sicura e uno stato non crittografato durante il transito.
  • Verificare che le librerie di terze parti siano sempre aggiornate.

L'importanza del codice di terze parti deriva dal suo ampio utilizzo e dal suo frequente coinvolgimento in funzioni critiche, come la connettività e la crittografia. Gli sviluppatori devono possedere una conoscenza approfondita del codice di terze parti, che includa la conoscenza delle relative licenze e la disponibilità di risorse di supporto.

Controllo

Garantire l'efficienza della flotta e soddisfare le crescenti esigenze degli utenti dipende in larga misura dalla pratica fondamentale del monitoraggio remoto dei dispositivi sul campo. L'esigenza di monitoraggio si concretizza quando il ciclo di sviluppo si estende alla fase di post-produzione.

Ad esempio, l'individuazione e la risoluzione dei problemi potrebbero essere ottenute con un impatto minimo sull'utente, spesso prima ancora che questi se ne accorga. Ciò è possibile grazie al monitoraggio over-the-air (OTA) di parametri quali:

  • Durata della batteria.
  • Connettività Bluetooth.
  • Utilizzo della memoria.
  • Prestazioni del sensore.
  • Ore senza incidenti.
  • Tempo medio tra i guasti.

OTA Aggiornamenti

Un modo efficace per mantenere la funzionalità dei dispositivi connessi è rappresentato dagli aggiornamenti OTA, ovvero la distribuzione wireless di nuovi software, firmware e altri dati. Questi aggiornamenti possono essere effettuati tramite gruppi di supporto, implementazioni graduali e firma del firmware.

I gruppi di supporto prevedono che gli sviluppatori raggruppino i propri dispositivi e aggiornino ciascun gruppo separatamente. Ciò consente di testare le release, effettuare test A/B e sperimentare in vari modi. Inoltre, i gruppi di supporto sono efficaci quando si collabora con numerosi clienti industriali che richiedono aggiornamenti con tempistiche diverse.

Il rollout graduale consiste nell'introdurre gli aggiornamenti in modo incrementale sulla flotta di dispositivi. Questo approccio impedisce che eventuali problemi si verifichino contemporaneamente su tutti i clienti. In questo contesto, gli sviluppatori possono configurare il sistema in modo da convogliare i problemi segnalati nel sistema OTA (Over-The-Air). Se non vengono segnalati problemi, si può procedere con l'espansione incrementale del rollout fino a quando l'intera flotta di dispositivi non riceve gli aggiornamenti.

Quando è necessario certificare l'autenticità di un file, assicurandosi che provenga da una fonte attendibile e che non sia stato alterato in alcun modo, la firma del firmware rappresenta un metodo adeguato. Assegnando una firma verificabile al file, gli sviluppatori controllano la legittimità di un aggiornamento del firmware. Questo processo è integrato nel bootloader, che decide se avvisare l'utente o intraprendere un'altra azione.

Conclusioni

In sintesi, garantire il mantenimento a lungo termine di Prodotti IoT richiede agli sviluppatori di adattarsi alle tendenze in continua evoluzione e di dare priorità agli aspetti principali dello sviluppo del prodotto.

In un mercato in rapida crescita, trovare il giusto equilibrio tra firmware ed elementi di design per soddisfare le aspettative degli utenti e rispondere alle esigenze di sicurezza è fondamentale. Allo stesso tempo, l'utilizzo di strumenti di ingegneria dell'affidabilità dei dispositivi (DRE) può ottimizzare la gestione dei dispositivi e ridurre i rischi. Questo include il debug, le misure di sicurezza, il monitoraggio e gli aggiornamenti over-the-air (OTA).

La correzione periodica dei bug durante tutto il ciclo di vita del dispositivo migliora l'affidabilità e la soddisfazione del cliente. Allo stesso tempo, misure di sicurezza come la convalida del firmware sul dispositivo e la protezione anti-rollback sono essenziali per salvaguardare i dispositivi IoT.

Il monitoraggio ha lo scopo di garantire l'efficienza della flotta e soddisfare le esigenze degli utenti. Infine, gli aggiornamenti OTA consentono una manutenzione continua dei dispositivi, mantenendoli operativi e aggiornati e, in definitiva, rafforzando la fiducia e la fedeltà degli utenti.

Per rimanere informato sulle nostre ultime novità, iscriviti alla nostra newsletter.

articoli Correlati