Como desligar dispositivos IoT sem um botão liga / desliga?

22

Muitos dispositivos, como geladeiras conectadas, câmeras de segurança, Raspberry Pis, Arduinos e meu termostato Nest, não possuem botões de energia.

Qual é a maneira preferida de desconectá-los da energia? E se houver um corte de energia?

Meus dados estão em risco?

Devo comprar uma bateria separada para alimentá-los e evitar o risco de corrupção?

Por exemplo, se um ladrão entra em minha casa, a primeira coisa que ele pode fazer é cortar a energia principal. Como posso acessar minha câmera, se meu Wi-Fi estiver desativado?

WayToDoor
fonte
11
Embora eu não tenha votado negativamente, este Q tem alguns problemas. Ele aborda muitas coisas nele. Qual é a maneira preferida de desligar provavelmente é diferente para dispositivos específicos.
Ghanima
2
Uma pergunta por post faz parte do sucesso do StackExchange meta.stackexchange.com/questions/222735/… Parece aconselhável aderir a esta regra aqui também.
Ghanima
2
Isso é muito amplo. Não desconecte sua geladeira, sua comida vai estragar. Não desconecte seu sensor de fumaça inteligente, pois poderá queimar. Não desconecte seu radiador inteligente, você irá congelar.
Helmar

Respostas:

21

Um dispositivo de terminal bem projetado gerenciará a perda de energia da rede elétrica. Isso pode ser alcançado usando um design robusto do sistema de arquivos ou mantendo energia suficiente nos suprimentos de bateria / supercapacitor para concluir qualquer operação aberta. Não se trata apenas de manter a segurança dos dados, mas de manter uma operação estável ao longo de vários anos de uso em tempo real, sem intervenção ativa do gerenciamento.

Sean Houlihane
fonte
5
Embora completamente verdade, isso é ainda mais amplo que a questão.
Helmar
1
Eu acho que está bem. A pergunta é se esse problema é um caso especial e estou dizendo que não, essa é uma constante de design que já é comum.
Sean Houlihane
1
Observe que mais do que file systemdesign é motivo de preocupação; um flash translation layertambém pode falhar com a perda inesperada de energia, e parte do problema com o Raspberry Pi é que a camada de conversão flash de um cartão SD está enterrada dentro do cartão, sem exposição a validação ou aprimoramento.
Chris Stratton
15

Qual é a maneira preferida de desconectá-los da energia? E se houver um corte de energia?

Suponho que você esteja falando de dispositivos que atuam como gateways para agregá-los e enviá-los para a nuvem (por exemplo: Raspberry Pi roda no Debian, que é um sistema operacional completo) e geralmente roda a partir de uma fonte de energia que não seja uma bateria de celular. Tomando o RPi como exemplo, você pode obter energia diretamente, assim como o laptop; não haverá perda de dados, pois os dados serão armazenados em unidades; as chances de corrupção aqui são mínimas ou raras.

Perderei os dados?

Depende de como os dados são armazenados ou lidos nos dispositivos. A maioria dos sensores (talvez geladeiras ou câmeras) não armazena dados, mesmo que eles armazenem dados limitados à quantidade que o chip pode oferecer. Gateways ou agregadores solicitam aos sensores dados continuamente / periodicamente para enviar dados que serão armazenados no gateway que não é um dispositivo limitado em comparação aos sensores (por exemplo: RPi).


Geralmente, qualquer dispositivo de IoT de missão crítica vem (deve vir) com redundância incorporada.

bravokeyl
fonte
1
Isso está seriamente errado. Nem um raspberry pi nem um laptop típico são seguros para a remoção inesperada de energia da fonte de energia real, precisamente porque os dados são armazenados em unidades de maneiras que não são consistentemente seguras para interromper com gravações incompletas ou não liberadas. E mesmo quando um sistema de arquivos é projetado para ser robusto contra a perda de energia, algo como um cartão SD não é - o problema existe em um nível interno intocável pelo design de software externo.
Chris Stratton
13

Você raramente desejaria desligar remotamente um dispositivo incorporado. Em vez disso, você o coloca no modo de suspensão , caso contrário, nunca poderá reativá-lo remotamente.

insira a descrição da imagem aqui

No modo de suspensão, a funcionalidade normal é suspensa, mas você ainda pode ativar remotamente o dispositivo.

Mawg
fonte
10

Qual é a maneira preferida de desconectá-los da energia? E se houver um corte de energia?

A maioria dos microcontroladores possui um recurso chamado " Detecção de escurecimento ". Isso basicamente é um mecanismo de monitoramento de tensão de alimentação que mantém o MCU em redefinição enquanto a tensão de alimentação está abaixo de um determinado limite. Esse limite é predefinido ou pode ser alterado por software. É conhecido como bloqueio de subtensão também.

Bence Kaulics
fonte
É verdade, mas se a perda de poder é tratado OK, encerramento controlado vem de graça
Sean Houlihane
1
Isso é verdade, mas muitos dispositivos de IoT são mais complexos do que simples "microcontroladores" - muitos são sistemas Embedded Linux (ou comparáveis) com um estado substancial que é essencial para a operação e modificável na operação.
Chris Stratton
8

Seus dispositivos inteligentes (câmera, sensores, ...) gerenciam muito bem a falta de energia por design.

Para o seu Rapsberry Pi, você pode instalar um no-break ou um banco de potência e monitorar (ping) seu gateway da Internet para verificar se há uma perda geral de energia e enviar um SMS com um dongle USB 3G .

Mesmo sem considerar a falta de energia, você deve sempre e regularmente fazer backup de seus dados (bancos de dados, ou seja, o MySQL possui um mysqldumprecurso para salvar rapidamente) e clonar seu cartão SD .

Goufalite
fonte
3

E se houver um corte de energia? Meus dados estão em risco?

Para a maioria dos dispositivos comerciais de IoT bem projetados, você não precisa se preocupar com perda súbita de energia. Vamos considerar o termostato Nest. O Nest Thermostat usa a memória flash Micron 2 Gb NAND. Dado o flash NAND, o sistema de arquivos usado deve ser YAFSS , pois o YAFFS foi projetado especificamente para uso com o flash NAND. O YAFFS usa técnicas como registro no diário , correção de erros e técnicas de verificação ajustadas à maneira como o NAND normalmente falha. Essas técnicas fornecem cobertura razoável contra corrupções devido a falhas de energia, falhas ou atos imprevistos.

Devo comprar uma bateria separada para alimentá-los e evitar o risco de corrupção?

Para dispositivos comerciais bem projetados, não. Para seus próprios projetos de hobby baseados em Raspberry Pis, Arduinos, Sim, a menos que você tenha um sistema de arquivos tolerante a falhas.

Se não houver um botão de energia físico no dispositivo IoT, você poderá assumir com segurança que o dispositivo foi projetado para perda súbita de energia, o fabricante do dispositivo deve ter usado o sistema de arquivos com tolerância a falhas.

soluço
fonte
1

Diferentes classes de dispositivos IoT têm requisitos diferentes quanto ao funcionamento à luz da perda de energia. Sua estação meteorológica pode não se importar se a energia diminuir, mas seu sistema de segurança pode. Seu sistema de controle de temperatura pode querer funcionar localmente, apesar da perda de energia.

Quanto a como controlar seu dispositivo, deve haver um canal de controle que permita o desligamento normal. Como outros já disseram, isso precisa ser pensado se feito remotamente. O desligamento é apenas um caso especial de tudo o que você deseja fazer remotamente no seu dispositivo.

Suporte Gambit
fonte
3
Concordado, a pergunta não é a melhor, mas essa resposta também é bastante inespecífica. Dizer 'deve funcionar remotamente' não parece responder à pergunta.
Sean Houlihane
2
Se você acha que a pergunta é vaga ou difícil de responder em sua forma atual, provavelmente é melhor deixar um comentário primeiro. Você precisará participar primeiro um pouco do site (são necessários 50 representantes para comentar); fique à vontade para perguntar, responder ou editar para chegar a esse ponto.
Aurora0001