Jak zamknąć urządzenia IoT bez przycisku zasilania?

22

Wiele urządzeń, takich jak podłączone lodówki, kamery bezpieczeństwa, Raspberry Pis, Arduinos i mój termostat Nest nie mają przycisków zasilania.

Jaki jest preferowany sposób odłączenia ich od zasilania? Co się stanie, jeśli nastąpi przerwa w dostawie prądu?

Czy moje dane są zagrożone?

Czy powinienem kupić oddzielną baterię, aby zasilać je, aby zapobiec ryzyku uszkodzenia?

Na przykład, jeśli złodziej wejdzie do mojego domu, pierwszą rzeczą, jaką może zrobić, jest odcięcie głównej mocy. Jak mogę uzyskać dostęp do mojego aparatu, jeśli Wi-Fi jest wyłączone?

WayToDoor
źródło
11
Chociaż nie oddałem głosu, w tym Q są pewne problemy. Rozwiązuje w nim zbyt wiele rzeczy. Jaki jest preferowany sposób wyłączenia zasilania, może być różny dla poszczególnych urządzeń.
Ghanima,
2
Jedno pytanie na post jest częścią sukcesu StackExchange meta.stackexchange.com/questions/222735/... Wskazane wydaje się również przestrzeganie tej reguły tutaj.
Ghanima,
2
To jest zbyt szerokie. Nie odłączaj lodówki, jedzenie się zepsuje. Nie odłączaj inteligentnego czujnika dymu, możesz się poparzyć. Nie odłączaj inteligentnego grzejnika, zamarzniesz.
Helmar

Odpowiedzi:

21

Dobrze zaprojektowane urządzenie końcowe poradzi sobie z utratą zasilania sieciowego. Można to osiągnąć, stosując solidną konstrukcję systemu plików lub utrzymując wystarczającą moc w akumulatorach / superkondensatorach, aby zakończyć wszelkie otwarte operacje. Nie chodzi tylko o utrzymanie bezpieczeństwa danych, chodzi o utrzymanie stabilnego działania przez kilka lat użytkowania w czasie rzeczywistym bez aktywnej interwencji zarządzania.

Sean Houlihane
źródło
5
Choć całkowicie prawdziwe, jest to nawet szersze niż pytanie.
Helmar
1
Myślę, że to w porządku. Pytanie brzmi: ten problem jest szczególnym przypadkiem i mówię: nie, to stała projektowa, która jest już powszechna.
Sean Houlihane,
1
Należy pamiętać, że file systemniepokoi nie tylko projekt; a flash translation layermoże również zawieść z nieoczekiwaną utratą zasilania, a część problemu z Raspberry Pi polega na tym, że warstwa translacji flash karty SD jest zakopana wewnątrz karty, nie narażona na weryfikację lub ulepszenie.
Chris Stratton
15

Jaki jest preferowany sposób odłączenia ich od zasilania? Co się stanie, jeśli nastąpi przerwa w dostawie prądu?

Zakładam, że mówisz o urządzeniach, które działają jak bramy do agregacji i wysyłają je do chmury (na przykład: Raspberry Pi działa na Debianie, który jest w pełni funkcjonalnym systemem operacyjnym) i generalnie działa ze źródła zasilania innego niż bateria komórkowa. Biorąc za przykład RPi, możesz bezpośrednio pobierać energię, podobnie jak laptop, nie nastąpi utrata danych, ponieważ dane będą przechowywane na dyskach, szanse na uszkodzenie są tutaj minimalne lub rzadkie.

Czy stracę dane?

To zależy od tego, jak dane są przechowywane lub odczytywane z urządzeń. Większość czujników (np. Lodówek lub aparatów) nie przechowuje żadnych danych, nawet jeśli przechowują one dane, będą one ograniczone do ilości, jaką może zaoferować układ. Bramy lub agregatory proszą czujniki o dane w sposób ciągły / okresowy w celu przesłania danych, które następnie będą przechowywane w bramie, która nie jest ograniczonym urządzeniem w porównaniu do czujników (np. RPi).


Zasadniczo każde urządzenie IoT, które ma kluczowe znaczenie dla misji, ma (powinno przyjść) z nadmiarową obsadą.

brawokeyl
źródło
1
Jest to poważnie błędne. Ani raspberry pi, ani typowy laptop nie są bezpieczne do nieoczekiwanego odłączenia rzeczywistego źródła zasilania, właśnie dlatego, że dane są przechowywane na dyskach w sposób, który nie jest konsekwentnie bezpieczny w przypadku przerwania niekompletnych lub nierozpoznanych zapisów. I nawet tam, gdzie system plików jest zaprojektowany tak, aby był odporny na utratę zasilania, coś takiego jak karta SD nie jest - problem istnieje na poziomie wewnętrznym, którego nie da się dotknąć przy projektowaniu zewnętrznego oprogramowania.
Chris Stratton
13

Bardzo rzadko chciałbyś zdalnie wyłączać wbudowane urządzenie. Zamiast tego przełączasz go w tryb uśpienia , w przeciwnym razie nigdy nie będziesz mógł go ponownie obudzić.

wprowadź opis zdjęcia tutaj

W trybie uśpienia normalna funkcjonalność jest zawieszona, ale nadal można zdalnie obudzić urządzenie.

Mawg
źródło
10

Jaki jest preferowany sposób odłączenia ich od zasilania? Co się stanie, jeśli nastąpi przerwa w dostawie prądu?

Większość mikrokontrolerów ma funkcję o nazwie „ Wykrywanie braku zasilania ”. Zasadniczo jest to mechanizm monitorowania napięcia zasilania, który utrzymuje MCU w stanie zerowania, gdy napięcie zasilania jest poniżej pewnego progu. Ten próg jest wstępnie ustawiony lub można go zmienić za pomocą oprogramowania. Jest to również znane jako blokada podnapięciowa.

Bence Kaulics
źródło
To prawda, ale jeśli problem z zasilaniem zostanie rozwiązany OK, kontrolowane wyłączenie nastąpi za darmo
Sean Houlihane
1
To prawda, ale wiele urządzeń IoT jest bardziej złożonych niż zwykłe „mikrokontrolery” - wiele z nich to systemy Embedded Linux (lub porównywalne) ze znacznym stanem, który jest zarówno krytyczny dla działania, jak i modyfikowalny w działaniu.
Chris Stratton
8

Twoje urządzenia inteligentne (kamera, czujniki, ...) bardzo dobrze radzą sobie z zanikiem zasilania z założenia.

W przypadku Rapsberry Pi możesz umieścić zasilacz UPS lub powerbank i monitorować (pingować) bramę internetową, aby sprawdzić, czy nastąpiła ogólna utrata zasilania, i wysłać SMS z kluczem 3G USB .

Nawet bez uwzględnienia przerwy w zasilaniu należy zawsze i regularnie wykonywać kopię zapasową danych (baz danych, tj. MySQL ma mysqldumpfunkcję szybkiego zapisywania) i klonować kartę SD .

Goufalite
źródło
3

Co się stanie, jeśli nastąpi przerwa w dostawie prądu? Czy moje dane są zagrożone?

W przypadku większości dobrze zaprojektowanych komercyjnych urządzeń IoT nie musisz się martwić nagłą utratą zasilania. Weźmy sprawę z termostatu Nest. Nest Thermostat korzysta z pamięci flash Micron 2 Gb NAND. Biorąc pod uwagę pamięć flash NAND, używanym systemem plików musi być YAFSS , ponieważ YAFFS został zaprojektowany specjalnie do pracy z pamięcią flash NAND. YAFFS korzysta z technik takich jak kronikowanie , korekcja błędów i techniki weryfikacji dostosowane do tego, w jaki sposób NAND zwykle zawodzi. Techniki te zapewniają rozsądną ochronę przed zepsuciami spowodowanymi awarią zasilania, awariami lub nieprzewidzianymi działaniami.

Czy powinienem kupić oddzielną baterię, aby zasilać je, aby zapobiec ryzyku uszkodzenia?

W przypadku dobrze zaprojektowanych urządzeń komercyjnych, Nie. W przypadku własnych projektów hobbystycznych opartych na Raspberry Pis, Arduinos, Tak, chyba że masz system plików odporny na awarie.

Jeśli na urządzeniu IoT nie ma fizycznego przycisku zasilania, możesz bezpiecznie założyć, że urządzenie zostało zaprojektowane do nagłej utraty zasilania, producent urządzenia musiał użyć systemu plików odpornego na awarie.

szloch
źródło
1

Różne klasy urządzeń IoT mają różne wymagania dotyczące działania w świetle utraty zasilania. Twoja stacja pogodowa może nie przejmować się spadkiem zasilania, ale twój system bezpieczeństwa może. Twój system kontroli temperatury może chcieć działać lokalnie, pomimo utraty zasilania.

Jeśli chodzi o sposób kontrolowania urządzenia, powinien istnieć kanał kontrolny, który umożliwia pełne wyłączenie zasilania. Jak powiedzieli inni, należy to przemyśleć, jeśli zostanie to wykonane zdalnie. Wyłączanie to specjalny przypadek wszystkich rzeczy, które chcesz robić zdalnie na swoim urządzeniu.

Wsparcie Gambit
źródło
3
Zgadza się, pytanie nie jest najlepsze, ale ta odpowiedź jest również raczej niespecyficzna. Mówienie „powinno działać zdalnie” nie wydaje się odpowiadać na pytanie.
Sean Houlihane,
2
Jeśli uważasz, że pytanie jest niejasne lub trudno na nie odpowiedzieć w obecnej formie, prawdopodobnie najlepiej najpierw zostaw komentarz. Najpierw musisz trochę wziąć udział w witrynie (aby komentować potrzeba 50 powtórzeń); zapytaj, odpowiedz lub edytuj, aby przejść do tego punktu.
Aurora0001