Esistono servizi cloud o framework pronti per l'aggiornamento del firmware via etere?


9

Ho un prototipo del dispositivo a risorse limitate (MCU a 8 bit con firmware senza sistema operativo), che interagisce con un server Web. Mi chiedo se ci sono soluzioni, framework o servizi cloud per l'aggiornamento del firmware del mio dispositivo dal web. Dalla mia ricerca c'è l'hub Microsoft IoT, ma temo che non si adatti a tali dispositivi con risorse limitate. Ho trovato un'altra soluzione, il portale mbed Cloud, ma non sono sicuro di come funzioni. Qualcuno può aiutarmi con qualche consiglio, forse ci sono alcune migliori pratiche per implementare l'aggiornamento del firmware via etere per i dispositivi integrati in modo sicuro e robusto?


Al momento non esistono tali servizi. L'implementazione di uno in generale è molto noiosa, è possibile implementare un servizio mirato a un tipo di dispositivo specifico.
bravokeyl,

C'è mender.io , che è approssimativamente quello che vuoi. Ma credo che sia indirizzato verso dispositivi embedded "di fascia alta" e per nodi a 8 bit.
mat

Risposte:


4

Risponderò solo a questa parte, poiché non conosco un sistema "pronto all'uso" per un ignoto incendio.

forse ci sono alcune migliori pratiche per implementare l'aggiornamento del firmware via etere per dispositivi embedded in modo sicuro e robusto?

In termini di pratica, quello che vorrei fare è il seguente:

1) Avere un boot loader molto minimale, qualcosa di stupido possibile solo responsabile del caricamento del firmware con i seguenti vincoli:

  • Possibilità di registrare l'esito positivo / negativo dell'ultimo avvio (per ripristinare una versione funzionante in caso di errore)
  • Qualche tipo di processo di emergenza per accettare un nuovo firmware in caso di guasto catastrofico (facoltativo, potrebbe essere evitato se è consentito un dispositivo "bricked")

2) Impostare lo spazio di archiviazione su due "boot bank" di dimensioni ragionevoli per gestire l'evoluzione futura e la crescita del firmware.

3) Esegui il checksum dell'immagine del firmware dopo il download per assicurarti che sia corretto prima della masterizzazione, esegui il checksum del banco di destinazione dopo la masterizzazione per assicurarti che non fallisca l'avvio per un bit mancante da qualche parte.

Il punto trascurato è di solito il checksum dell'immagine scaricata prima e dopo la masterizzazione, con conseguente danneggiamento del sistema scritto sul dispositivo. L'uso di due banchi e l'alternanza di solito facilitano il processo di aggiornamento.


5

mbed cloud offre funzionalità complete di aggiornamento del firmware, ma penso che avresti problemi a portarlo sulla tua piattaforma se stai funzionando senza un sistema operativo. Non credo che la fonte sia aperta oggi, quindi non puoi nemmeno usarla come riferimento. Inoltre, non sono sicuro di quali siano i criteri per ottenere l'accesso in questo momento.

Devi pensare alle funzionalità di cui hai bisogno: si tratta di una distribuzione su larga scala in cui devi essere in grado di eseguire roll-out di firmware graduali, ti interessa firmare il firmware o la tua piattaforma è completamente aperta a chiunque abbia accesso fisico? Quanto ti importa di riuscire a recuperare un dispositivo in muratura senza JTAG?

Realisticamente, funzionalità come gli aggiornamenti OTA sono probabilmente qualcosa che guida il sistema operativo e la selezione dei dispositivi, una volta considerati i costi di sviluppo.


5

Dai un'occhiata a OTA che è l'abbreviazione di Over The Air. Arduino ha quella proprietà .

Puoi effettuare l'aggiornamento con Arduino IDE, Web Browser o HTTP Server.

L'opzione IDE di Arduino è destinata principalmente alla fase di sviluppo del software. Le altre due opzioni sarebbero più utili dopo la distribuzione, per fornire manualmente al modulo gli aggiornamenti dell'applicazione con un browser Web o utilizzando automaticamente un server http.


Una delle cose più spiacevoli di quella biblioteca e di Arduino in generale è la mancanza di sicurezza. Questa soluzione è adatta per progetti fai-da-te o scolastici, ma non per dispositivi commerciali. Una cosa particolare che non mi piace è l'assenza di alcuna autenticazione: non è protetto dalla sostituzione del firmware con uno dannoso, con digest MD5 corretto.
Vadimchik,


3

Un'altra piattaforma interessante, ho scoperto è DeviceDrive . Ecco il video che spiega come funzionano le cose. Il loro sistema OTA sembra essere piuttosto flessibile.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.