如何在没有电源按钮的情况下关闭IoT设备?


22

很多设备(例如连接的冰箱,安全摄像机,Raspberry Pis,Arduino和我的Nest温控器)都没有电源按钮。

断开电源的首选方式是什么?如果断电怎么办?

我的数据有风险吗?

我是否应该购买单独的电池为它们供电,以防止损坏的风险?

例如,如果一个小偷进入我家,他要做的第一件事就是切断主电源。如果我的Wi-Fi断开了,该如何访问相机?


11
虽然我没有拒绝投票,但这个问有一些问题。它解决了其中的太多问题。对于特定设备,最佳的掉电方式可能会有所不同。
加尼玛'16

2
每个帖子一个问题是StackExchangemeta.stackexchange.com/questions/222735/…成功的一部分。在这里似乎也应该遵守此规则。
加尼玛'16

2
这太广泛了。不要断开冰箱的连接,食物会变质。请勿断开智能烟雾传感器的连接,否则可能会燃烧。请勿断开智能散热器的连接,否则会冻结。
Helmar

Answers:


21

设计良好的端点设备将管理市电损耗。这可以通过使用可靠的文件系统设计或通过在电池/超级电容器电源中保持足够的功率来完成所有打开操作来实现。这不仅是维护数据安全性的问题,还在于在几年的实时使用中保持稳定的运行而无需积极的管理干预。


5
虽然完全正确,但这比问题还要广泛。
Helmar

1
我认为可以。问题是这个问题是特例,我是说,不,这是一个已经很普遍的设计常数。
肖恩·霍利哈内

1
注意,除了file system设计之外,还有更多的关注点。一个flash translation layer也可能失败,意外断电,并用树莓派的部分问题是,一个SD卡的闪存转换层埋置在卡内,未接触到验证或改进。
克里斯·斯特拉顿

15

断开电源的首选方式是什么?如果断电怎么办?

我假设您正在谈论充当网关聚合和发送到云的设备(例如:Raspberry Pi在运行完整OS的Debian上运行),并且通常使用电池以外的电源运行。以RPi为例,您可以直接断电,就像笔记本电脑不会丢失数据一样,因为数据将存储在驱动器中,此处损坏的可能性很小或很少。

我会丢失数据吗?

这取决于如何存储或从设备读取数据。大多数传感器(也许是冰箱或照相机)都不存储任何数据,即使它们存储的数据将限于芯片可以提供的数量。网关或聚合器连续/周期性地向传感器请求数据以发送数据,然后将其存储在与传感器(例如:RPi)相比不受限制的设备的网关中。


通常,任何具有关键任务的物联网设备都应该(应该带有)冗余。


1
这是严重错误的。树莓派和典型的笔记本电脑都无法安全地切断实际电源,这恰恰是因为数据存储在驱动器中的方式始终不安全,不会因写入不完整或未损坏而中断。即使文件系统被设计为具有强大的抗功耗能力,但SD卡之类的功能却并非如此-内部存在的问题是外部软件设计无法解决的。
克里斯·斯特拉顿

13

您很少需要远程关闭嵌入式设备的电源。相反,您将其放入睡眠模式,否则您将再也无法远程唤醒它。

在此处输入图片说明

在睡眠模式下,正常功能被暂停,但是您仍然可以远程唤醒设备。


10

断开电源的首选方式是什么?如果断电怎么办?

大多数微控制器具有称为“ 掉电检测 ”的功能。这基本上是一种电源电压监视机制,可在电源电压低于特定阈值时使MCU保持复位状态。此阈值是预设的,也可以由软件更改。这也称为欠压锁定。


没错,但是如果可以解决掉电问题,可以免费执行受控关闭
Sean Houlihane

1
的确是这样,但是许多物联网设备比简单的“微控制器”更为复杂-许多是嵌入式Linux(或类似产品)系统,其状态对于操作至关重要并且在操作中可以修改。
克里斯·斯特拉顿

8

通过设计,您的智能设备(相机,传感器等)可以很好地管理断电。

对于Rapsberry Pi,您可以放置​​UPS或移动电源,并监视(ping)Internet网关,以检查是否普遍断电,并通过3G USB软件狗发送SMS

即使没有停电的考虑,您也应该始终定期备份数据(数据库,即MySQL具有mysqldump快速保存的功能)并克隆SD卡


3

如果断电怎么办?我的数据有风险吗?

对于大多数设计良好的商用物联网设备,您无需担心突然断电。让我们以Nest Thermostat为例。Nest Thermostat使用Micron 2 Gb NAND闪存。考虑到其NAND闪存,使用的文件系统必须是YAFSS,因为YAFFS是专门为与NAND闪存一起使用而设计的。YAFFS使用诸如日记,纠错和验证技术调谐到NAND通常失败的方式。这些技术可以合理地防止由于电源故障,崩溃或不可预见的行为而导致的损坏。

我是否应该购买单独的电池为它们供电,以防止损坏的风险?

对于设计精良的商业设备,否。对于您自己的基于Raspberry Pis,Arduinos的业余项目,是的,除非您安装了容错文件系统。

如果IoT设备上没有物理电源按钮,则可以放心地假设设备是为突然断电而设计的,设备制造商必须使用了容错文件系统。


1

鉴于功率损耗,不同类别的IoT设备对功能的要求也不同。您的气象站可能不会在意电源是否关闭,但安全系统可能会在意。尽管断电,您的温度控制系统仍可能希望在本地运行。

关于如何控制设备,应该有一个允许正常关机的控制通道。正如其他人所说,如果远程完成,则需要考虑这一点。关机只是您要远程对设备执行的所有操作的特例。


3
同意,这个问题不是最好的,但是这个答案也不是很具体。说“它应该在远程工作”似乎没有回答这个问题。
肖恩·霍利哈内

2
如果您认为该问题含糊不清或难以回答,最好最好先发表评论。您需要先在站点周围进行一些参与(评论需要50名代表);随时提问,回答或编辑即可。
Aurora0001
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.