Как отключить устройства IoT без кнопки питания?


22

Многие устройства, такие как подключенные холодильники, камеры видеонаблюдения, Raspberry Pis, Arduinos и мой термостат Nest, не имеют кнопок питания.

Какой предпочтительный способ отключить их от питания? Что делать, если есть отключение питания?

Находятся ли мои данные в опасности?

Стоит ли покупать отдельную батарею для их питания, чтобы предотвратить риск повреждения?

Например, если вор входит в мой дом, первое, что он может сделать, это отключить основную власть. Как я могу получить доступ к своей камере, если мой Wi-Fi не работает?


11
Пока я не проголосовал, у этого Q есть некоторые проблемы. В нем говорится слишком много вещей. Что является предпочтительным способом отключения питания, вероятно, будет отличаться для конкретных устройств.
Ганима

2
Один вопрос на каждое сообщение является частью успеха StackExchange meta.stackexchange.com/questions/222735/… Похоже, что здесь также следует придерживаться этого правила.
Ганима

2
Это слишком широко. Не отсоединяйте холодильник, еда испортится. Не отсоединяйте смарт-датчик дыма, вы можете обжечься. Не отключайте ваш умный радиатор, вы замерзнете.
Хелмар

Ответы:


21

Хорошо спроектированное оконечное устройство будет управлять потерей сетевого питания. Это может быть достигнуто путем использования надежной конструкции файловой системы или путем поддержания достаточного питания батарей / суперконденсаторов для завершения любых открытых операций. Речь идет не просто о поддержании безопасности данных, а о поддержании стабильной работы в течение нескольких лет использования в реальном времени без активного вмешательства со стороны руководства.


5
Хотя это совершенно верно, это даже шире, чем вопрос.
Хелмар

1
Я думаю, что все в порядке. Вопрос задает, является ли эта проблема особым случаем, и я говорю, нет, это постоянная конструкции, которая уже распространена.
Шон Хулихейн

1
Обратите внимание, что не только file systemдизайн вызывает беспокойство; flash translation layerтакже может потерпеть неудачу с неожиданной потерей мощности, и частью проблемы с Raspberry Pi является то , что флэш - перевод слой из SD - карты похоронен внутри карты, неэкспонированный для проверки или улучшения.
Крис Страттон

15

Какой предпочтительный способ отключить их от питания? Что делать, если есть отключение питания?

Я предполагаю, что вы говорите об устройствах, которые действуют как шлюзы для агрегирования и отправки его в облако (например, Raspberry Pi работает на полнофункциональной ОС Debian) и, как правило, работает от источника питания, отличного от батареи аккумулятора. Взяв в качестве примера RPi, вы можете напрямую отключить питание, как и в случае с ноутбуком, без потери данных, так как данные будут храниться на дисках, вероятность их повреждения здесь минимальна или редка.

Я потеряю данные?

Это зависит от того, как данные хранятся или считываются с устройств. Большинство датчиков (может быть, холодильники или камеры) не хранят никаких данных, даже если они хранят данные, и их объем будет ограничен объемом, который может предложить чип. Шлюзы или агрегаторы непрерывно / периодически запрашивают у датчиков данные для отправки данных, которые затем будут храниться в шлюзе, который не является ограниченным устройством по сравнению с датчиками (например, RPi).


Как правило, любое IoT-устройство, которое является критически важным, поставляется (должно быть) с избыточностью.


1
Это сильно ошибается. Ни Raspberry Pi, ни обычный ноутбук не являются безопасными для неожиданного отключения питания фактического источника питания, именно потому, что данные хранятся на дисках способами, которые не всегда безопасны для прерывания при неполных или неполных записях. И даже там, где файловая система спроектирована так, чтобы быть устойчивой к потере питания, что-то вроде SD-карты не так - проблема существует на внутреннем уровне, недоступном дизайну внешнего программного обеспечения.
Крис Страттон

13

Вы очень редко бы хотели удаленно отключить встроенное устройство. Вместо этого вы переводите его в спящий режим , иначе вы никогда больше не сможете разбудить его удаленно.

введите описание изображения здесь

В спящем режиме нормальная функциональность приостановлена, но вы все равно можете удаленно разбудить устройство.


10

Какой предпочтительный способ отключить их от питания? Что делать, если есть отключение питания?

Большинство микроконтроллеров имеют функцию под названием « Обнаружение выхода из строя ». Это в основном механизм контроля напряжения питания, который сохраняет MCU в состоянии сброса, пока напряжение питания ниже определенного порога. Этот порог либо предустановлен, либо может быть изменен программно. Он также известен как блокировка под низким напряжением.


Верно, но если с потерей питания все в порядке, контролируемое отключение происходит бесплатно
Шон Хулихейн

1
Это правда, но многие устройства IoT являются более сложными, чем простые «микроконтроллеры» - многие из них являются системами Embedded Linux (или сопоставимыми) с существенным состоянием, которое является критическим для работы и изменяемым в работе.
Крис Страттон

8

Ваши интеллектуальные устройства (камера, датчики, ...) очень хорошо справляются с отключением электроэнергии.

Для вашего Rapsberry Pi вы можете установить ИБП или блок питания и контролировать (пинговать) свой интернет-шлюз, чтобы проверить, есть ли общая потеря питания, и отправить SMS с ключом USB 3G .

Даже без учета перебоев в электроснабжении вы всегда должны регулярно делать резервные копии своих данных (базы данных, т. Е. MySQL имеет mysqldumpфункцию быстрого сохранения) и клонировать свою SD-карту .


3

Что делать, если есть отключение питания? Находятся ли мои данные в опасности?

Для большинства хорошо спроектированных коммерческих устройств IoT вам не нужно беспокоиться о внезапной потере мощности. Давайте возьмем случай на гнезде термостата. Термостат Nest использует флэш-память Micron 2 Gb NAND. Учитывая NAND-флеш-память, используемая файловая система должна быть YAFSS , поскольку YAFFS была разработана специально для использования с NAND-флеш-памятью. YAFFS использует такие методы, как журналирование , исправление ошибок и методы проверки, настроенные на то, как обычно происходит сбой NAND. Эти методы обеспечивают разумное прикрытие от повреждений из-за сбоев питания, сбоев или непредвиденных действий.

Стоит ли покупать отдельную батарею для их питания, чтобы предотвратить риск повреждения?

Для хорошо спроектированных коммерческих устройств. Нет. Для ваших собственных хобби-проектов на основе Raspberry Pis, Arduinos, Да, если только у вас не установлена ​​отказоустойчивая файловая система.

Если на вашем устройстве IoT нет кнопки физического питания, вы можете с уверенностью предположить, что устройство было разработано для внезапной потери питания. Производитель устройства должен использовать отказоустойчивую файловую систему.


1

Различные классы устройств IoT предъявляют различные требования к функционированию в свете потери мощности. Ваша метеостанция может не заботиться о сбое питания, но ваша система безопасности могла бы. Ваша система контроля температуры может работать локально, несмотря на потерю мощности.

Что касается того, как управлять вашим устройством, должен быть канал управления, который позволяет плавно отключаться. Как уже говорили другие, это необходимо продумать, если это делается удаленно. Отключение питания - это особый случай всех действий, которые вы хотите выполнять удаленно на вашем устройстве.


3
Согласитесь, вопрос не самый лучший, но этот ответ также довольно неспецифичен. Сказать «это должно работать дистанционно» не похоже на ответ на вопрос.
Шон

2
Если вы чувствуете, что вопрос является неопределенным или трудно ответить в его нынешней форме, то, вероятно, лучше сначала оставить комментарий. Сначала вам нужно немного поучаствовать на сайте (для комментирования необходимо 50 представителей); не стесняйтесь спрашивать, отвечать или редактировать, чтобы добраться до этой точки.
Aurora0001
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.