Come posso spegnere i dispositivi IoT senza un pulsante di accensione?


22

Molti dispositivi, come frigoriferi collegati, telecamere di sicurezza, Raspberry Pis, Arduinos e il mio termostato Nest, non dispongono di pulsanti di accensione.

Qual è il modo preferito per disconnetterli dall'alimentazione? E se si verifica un'interruzione di corrente?

I miei dati sono a rischio?

Devo comprare una batteria separata per alimentarli per prevenire il rischio di corruzione?

Ad esempio, se un ladro entra nella mia casa, la prima cosa che potrebbe fare è tagliare il potere principale. Come posso accedere alla mia fotocamera quindi, se il mio Wi-Fi è inattivo?


11
Anche se non ho votato al ribasso, questa Q presenta alcuni problemi. Affronta troppe cose in esso. Qual è il modo preferito per spegnere è probabilmente diverso per dispositivi specifici.
Ghanima,

2
Una domanda per post fa parte del successo di StackExchange meta.stackexchange.com/questions/222735/… Sembra opportuno rispettare anche questa regola.
Ghanima,

2
Questo è troppo vasto. Non scollegare il frigorifero, il cibo si guasterà. Non scollegare il sensore di fumo intelligente, potresti bruciare. Non scollegare il tuo radiatore intelligente, ti congelerai.
Helmar

Risposte:


21

Un dispositivo endpoint ben progettato gestirà la perdita di alimentazione di rete. Ciò può essere ottenuto utilizzando un robusto design del filesystem o mantenendo una potenza sufficiente negli alimentatori batteria / supercondensatore per completare qualsiasi operazione aperta. Non si tratta solo di mantenere la sicurezza dei dati, si tratta di mantenere un funzionamento stabile per diversi anni di utilizzo in tempo reale senza intervento di gestione attiva.


5
Sebbene sia del tutto vero, questo è ancora più ampio della domanda.
Helmar

1
Penso che vada bene. La domanda che pone questo problema è un caso speciale, e sto dicendo che no, questa è una costante progettuale che è già comune.
Sean Houlihane,

1
Si noti che più del file systemdesign è motivo di preoccupazione; a flash translation layerpuò anche fallire con inaspettata perdita di potenza e parte del problema con Raspberry Pi è che il livello di traduzione flash di una scheda SD è sepolto all'interno della scheda, non esposto a validazione o miglioramento.
Chris Stratton,

15

Qual è il modo preferito per disconnetterli dall'alimentazione? E se si verifica un'interruzione di corrente?

Presumo che tu stia parlando di dispositivi che fungono da gateway per aggregare e inviarlo al cloud (ad esempio: Raspberry Pi funziona su Debian che è un sistema operativo completo) e generalmente funziona da una fonte di alimentazione che è diversa da una batteria cellulare. Prendendo come esempio RPi, puoi direttamente togliere energia proprio come un laptop, non ci saranno perdite di dati poiché i dati verranno archiviati in unità, le possibilità di corruzione qui sono minime o rare.

Perderò i dati?

Dipende da come i dati vengono archiviati o letti dai dispositivi. La maggior parte dei sensori (forse frigoriferi o telecamere) non memorizza alcun dato se anche se memorizzano la memorizzazione dei dati sarà limitata alla quantità che il chip può offrire. I gateway o gli aggregatori chiedono ai sensori dati continuamente / periodicamente per inviare dati che verranno poi memorizzati nel gateway che non è un dispositivo limitato rispetto ai sensori (ad esempio: RPi).


Generalmente qualsiasi dispositivo IoT che è di importanza critica viene (dovrebbe arrivare) con ridondanza inserita.


1
Questo è gravemente sbagliato. Né un raspberry pi né un tipico laptop sono sicuri per la rimozione inaspettata dell'alimentazione della fonte di alimentazione effettiva, proprio perché i dati sono archiviati in unità in modi che non sono costantemente sicuri da interrompere con scritture incomplete o non arrossate. E anche quando un file system è progettato per essere robusto contro la perdita di energia, qualcosa come una scheda SD non lo è - il problema esiste a livello interno intoccabile dalla progettazione di software esterno.
Chris Stratton,

13

Molto raramente si desidera spegnere in remoto un dispositivo incorporato. Invece, lo metti in modalità di sospensione , altrimenti non potrai mai riattivarlo da remoto.

inserisci qui la descrizione dell'immagine

In modalità sospensione, la normale funzionalità è sospesa, ma è comunque possibile riattivare in remoto il dispositivo.


10

Qual è il modo preferito per disconnetterli dall'alimentazione? E se si verifica un'interruzione di corrente?

La maggior parte dei microcontrollori ha una funzione chiamata " Rilevazione brown out ". Fondamentalmente si tratta di un meccanismo di monitoraggio della tensione di alimentazione che consente di ripristinare l'MCU mentre la tensione di alimentazione è al di sotto di una determinata soglia. Questa soglia è preimpostata o può essere modificata dal software. È noto anche come blocco di sottotensione.


È vero, ma se la perdita di potenza viene gestita correttamente, l'arresto controllato viene fornito gratuitamente
Sean Houlihane,

1
Questo è vero, ma molti dispositivi IoT sono più complessi dei semplici "microcontrollori": molti sono sistemi Linux (o comparabili) incorporati con uno stato sostanziale che è sia critico per il funzionamento sia modificabile nel funzionamento.
Chris Stratton,

8

I tuoi dispositivi intelligenti (fotocamera, sensori, ...) gestiscono molto bene l'interruzione di corrente in base alla progettazione.

Per Rapsberry Pi, puoi inserire un UPS o un powerbank e monitorare (ping) il tuo gateway Internet per verificare se si verifica una perdita generale di energia e inviare un SMS con un dongle USB 3G .

Anche senza considerare l'interruzione dell'alimentazione, è necessario eseguire sempre e regolarmente il backup dei dati (database, ad esempio MySQL ha una mysqldumpfunzione per un rapido salvataggio) e clonare la scheda SD .


3

E se si verifica un'interruzione di corrente? I miei dati sono a rischio?

Per la maggior parte dei dispositivi IoT commerciali ben progettati non devi preoccuparti di improvvise perdite di potenza. Prendiamo caso sul termostato Nest. Nest Thermostat utilizza la memoria flash NAND da 2 Gb di Micron. Dato il suo flash NAND, il file system utilizzato deve essere YAFSS , poiché YAFFS è stato progettato specificamente per l'uso con il flash NAND. YAFFS utilizza tecniche come l'inserimento nel journal , la correzione degli errori e le tecniche di verifica adattate al modo in cui NAND in genere fallisce. Queste tecniche forniscono una ragionevole copertura contro la corruzione dovuta a interruzioni di corrente, crash o atti imprevisti.

Devo comprare una batteria separata per alimentarli per prevenire il rischio di corruzione?

Per dispositivi commerciali ben progettati, No. Per i tuoi progetti di hobby basati su Raspberry Pis, Arduinos, Sì, a meno che tu non abbia installato un file system con tolleranza agli errori.

Se non è presente alcun pulsante di accensione fisico sul dispositivo IoT, è possibile supporre in sicurezza che il dispositivo sia stato progettato per un'improvvisa perdita di potenza, il produttore del dispositivo deve aver utilizzato il file system di tolleranza agli errori.


1

Diverse classi di dispositivi IoT hanno requisiti diversi per quanto riguarda il funzionamento alla luce della perdita di potenza. La tua stazione meteorologica potrebbe non preoccuparsi se si interrompe l'alimentazione, ma potrebbe essere il tuo sistema di sicurezza. Il sistema di controllo della temperatura potrebbe voler funzionare localmente nonostante la perdita di potenza.

Per quanto riguarda il modo in cui controllare il tuo dispositivo, dovrebbe esserci un canale di controllo che consente uno spegnimento regolare. Come altri hanno già detto, questo deve essere pensato se fatto in remoto. Lo spegnimento è solo un caso speciale di tutte le cose che vuoi fare da remoto sul tuo dispositivo.


3
D'accordo, la domanda non è la migliore, ma questa risposta è anche piuttosto non specifica. Dire "dovrebbe funzionare in remoto" non sembra rispondere alla domanda.
Sean Houlihane,

2
Se ritieni che la domanda sia vaga o difficile da rispondere nella sua forma attuale, probabilmente è meglio lasciare prima un commento. Dovrai prima partecipare un po 'al sito (per commentare sono necessari 50 rappresentanti); sentiti libero di chiedere, rispondere o modificare per arrivare a quel punto.
Aurora0001
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.