当树莓派单板机 最早在2012年宣布,我怀疑很多人是否正在考虑 Pi 在完全离网环境中的效用,尤其是考虑到当时的电池技术状态。
快进到今天。 虽然我们还没有精确地将家庭核反应堆作为一种选择(还),但我们确实可以获得强大的电池和太阳能技术以及新的理由 边缘计算场景部署树莓派.
为什么是树莓派?
有许多微控制器和精简的单板计算机 (SBC),例如 树莓派零 这比完整的 Raspberry Pi 4 更节能。但就减少的特性和功能而言,这种效率会带来其自身的成本。
也许我们应该问的问题是,“我们到底为什么要远程部署 Raspberry Pi?”
答案? 通常,你不会!
但是,这有一些合法的例外:
CPU电源
如果你是 运行机器学习模型 对于需要以最小延迟进行处理的远程处理,运行在 72GHz 的 ARM Cortex-A1.5 CPU 很难被击败。 具体的 微型机器学习 工作负载可以在 MCU 上以毫秒为单位运行,但如果您的项目需要进行机器视觉工作,则 SBC 更合适。
易于扩展
Pi HAT 生态系统已经成熟,并为几乎所有场景提供了生产就绪的扩展选项。 举个例子, Notecard 和 Notecarrier Pi HAT Blues Wireless 允许插入式蜂窝通信(空闲时功耗为 8mA),适用于远程数据中继是关键要求的场景。
蟒蛇
Raspberry Pi OS 附带完整的 Python 发行版。 虽然 CircuitPython 和 MicroPython 对于大多数物联网项目是可以接受的,但一些 Python 库不支持这两个派生类。
电源优化技巧
树莓派脖子上的锚是它的估计 600mA 有源电流消耗.
以下是我们可以使用的一些技术,通过一些简单的配置更改将其缩减为可管理的值:
禁用 USB 控制器
估计省电:约 100mA。
如果您在无头配置中运行 Raspberry Pi,则可能不会为板载 USB 控制器供电。 请注意,即使您不使用鼠标或键盘,它们仍然有电!
要禁用 Raspberry Pi 上的 USB 控制器,请执行以下命令:
echo '1-1' |sudo tee /sys/bus/usb/drivers/usb/unbind
然后在再次需要时重新启用 USB 控制器:
echo '1-1' |sudo tee /sys/bus/usb/drivers/usb/bind
重新启动后,USB 控制器将自动启用。
禁用 HDMI 输出
估计省电:约 30mA。
在无头配置中使用 Raspberry Pi 时,根据定义,您也不需要连接显示器。 如果是这种情况,您也可以禁用 HDMI 输出。
要禁用 Raspberry Pi 上的 HDMI 输出,请执行以下命令:
sudo /opt/vc/bin/tvservice -o
然后,要在再次需要时重新启用 HDMI 输出,请使用以下命令:
sudo /opt/vc/bin/tvservice -p
与禁用 USB 控制器一样,重新启动后启用 HDMI 输出。
禁用 Wi-Fi 和蓝牙
估计省电:约 40mA。
如果您的解决方案不使用 Wi-Fi 或蓝牙,您也可以禁用它们。 但是请注意,如果您同时禁用 HDMI、USB 和 Wi-Fi,您将无法与 Pi 连接!
要禁用 Wi-Fi 和蓝牙,请打开 /boot/config.txt
,添加这些参数,然后重新启动:
[all]
dtoverlay=disable-wifi
dtoverlay=disable-bt
要重新启用 Wi-Fi 和蓝牙(或仅启用其中之一),只需从文件中删除参数并重新启动即可。
关闭 CPU
预计节电:根据应用而变化。
如果您不需要 Raspberry Pi CPU 的全部功率(无论如何,这对于许多远程监控情况来说都是多余的),您可以通过降低 CPU 的频率来节省几毫安。
例如,要将 CPU 时钟速度设置为最大 900MHz,您可以更新 /boot/config.txt
并更改以下参数:
[all]
arm_freq=900
arm_freq_max=900
你也可以玩转 core_freq_min
, over_voltage
, over_voltage_min
以及许多其他参数,这些参数在 树莓派超频选项.
请注意,在某些情况下您可能看不到节能效果。 例如,如果您的进程在较慢的时钟速度下运行时间更长,而在较快的时钟速度下运行时间较短,则您不会看到功耗的净变化。
禁用板载 LED
估计省电:约 10mA。
我们可以通过再次编辑来禁用 Pi 上的板载 LED /boot/config.txt
文件,添加以下内容,然后重新启动:
[pi4]
# Disable the PWR LED
dtparam=pwr_led_trigger=none
dtparam=pwr_led_activelow=off
# Disable the Activity LED
dtparam=act_led_trigger=none
dtparam=act_led_activelow=off
# Disable ethernet port LEDs
dtparam=eth_led0=4
dtparam=eth_led1=4
请注意,这些配置特定于 Raspberry Pi 4 Model B; 可用于变量的文档 /boot/config.txt
可以找到文件 点击此处.
永久更改(或重置为默认值)
对您所做的任何更改 /boot/config.txt
文件将在重新启动后保留。 如果您想在启动时发出 USB、HDMI、Wi-Fi 和蓝牙禁用命令,请编辑您的 .bashrc
文件并添加这些命令。
同样,删除您所做的更改并重新启动会将您的 Raspberry Pi 重置为默认状态。
补充电源
对于远程部署,其中最明显的提示可能是 从太阳获得额外的能量. 通过为您的 Raspberry Pi 添加一个合理大小的太阳能电池阵列,您可以显着延长电池寿命(甚至使其成为在充满阳光的环境中理论上完全可持续的解决方案)。
使用 果汁帽子 是一种将太阳能电池阵列添加到 Raspberry Pi 的简单方法。 它还提供了在预定义的电池充电水平下正常关机(和启动)的机制。
你可以看到这个 Hackster 项目中使用的 PiJuice: 使用 Raspberry Pi 进行太阳能加密挖掘.
或者,您可以使用带直通充电功能的 USB 移动电源。 这允许移动电源为 Pi 供电,太阳能电池阵列同时为电池充电。
这种安排在另一个 Hackster 项目中进行了测试: 使用 TensorFlow Lite 和 Raspberry Pi 进行远程观鸟.
用于 Raspberry Pi 的功率优化蜂窝网络
远程监控解决方案通常超出 Wi-Fi 等传统网络通信选项的范围。 这就是 Blues Wireless 创建开发人员友好的原因之一 记录卡 为物联网解决方案提供具有成本效益的蜂窝。
Notecard 是一个 30 毫米 x 35 毫米的微型系统模块 (SoM),可随时通过其 M.2 连接器嵌入到项目中。 为了使原型制作更容易,Blues Wireless 还提供了一系列扩展板(称为 Notecarriers)。
Notecarrier-Pi 充当 Notecard 的主机 HAT。 它提供了 Raspberry Pi 和 Notecard 之间的接口。 使用直通标头,它适合您使用的任何其他 Pi HAT(如上图的 PiJuice HAT)。
Notecard 的魅力可以归结为:
- API 的简单性(JSON 输入和 JSON 输出)。
- 完全 SBC 和 MCU 兼容性的不可知性。
- 定价(49 年 10 美元和 500MB 数据)。
- 带有通过 VPN 隧道传输的加密流量的内置安全模型。
- 闲置时耗电 8mA
柏拉图重新构想的 Web3。 数据智能放大。
单击此处访问。
来源:https://www.iotforall.com/optimizing-raspberry-pi-power-consumption