断电 0 秒恐慌!树莓派 UPS 终极指南!

博主:旭日财富者旭日财富者 2025-09-01 3940

不间断电源(UPS)是一种备用电源系统,在主电源故障时为设备供电。它通常包含一个可充电电池和电路,确保从主电源到备用电源的平稳过渡,避免中断。

树莓派设备在执行关键或连续任务(如作为服务器、传感器或自动化中心)时,缺乏内置的断电保护功能。

为何要为树莓派使用UPS?

防止数据损坏:

突然断电可能会中断文件系统操作,导致SD卡损坏,进而引发系统不稳定或启动失败。

确保安全关机:

UPS允许树莓派在电池电量低时安全关机或触发恢复操作,保护硬件和软件。

确保远程或关键部署中的持续运行:

如果树莓派是远程传感器设置、网络附加存储(NAS)、气象站或智能家居系统的一部分,UPS可确保在断电时继续运行,维持数据记录、网络访问或自动化功能。

支持系统监控与恢复:

先进的UPS系统允许您监控电池状态,并自动化执行记录事件、发送警报或恢复供电后重启等操作。

适用于无头或便携式项目:

对于没有显示器或键盘的树莓派设置(无头模式),UPS可确保在移动或离网环境中的系统完整性,让您高枕无忧。

树莓派UPS的类型

树莓派有多种UPS选项,每种都有其优势,具体取决于您的使用场景、预算和技术水平。

HAT(硬件附加顶层板)

HAT式UPS板专为树莓派设计,可直接安装在树莓派顶部,连接到GPIO接口。这些板卡紧凑高效,与树莓派外壳和堆叠式设置集成良好。流行的型号如PiPower 3、PiJuice HAT、和Geekworm X728/X750提供电池电量监控、通过I2C或GPIO安全关机以及实时时钟(RTC)模块等功能。它们非常适合嵌入式系统、无头服务器或需要紧密集成和节省空间设计的物联网设备。

ed121c38-7b16-11f0-9080-92fbcf53809c.jpg

外部USB UPS移动电源

这些是最简单的使用方式,无需GPIO或软件配置。您只需将一个具有直通充电功能(也称为“UPS模式”)的USB移动电源插入树莓派,即可在断电时为树莓派供电,并在有电时充电。虽然功能不如HAT丰富,但非常适合便携式设置、快速原型制作或不需要关机自动化的情况。请确保选择切换时间快且输出充足(大多数树莓派型号至少需要5V 2.5A)的移动电源。

自定义DIY解决方案

对于高级用户,构建自定义UPS提供了最大的灵活性。这可能涉及将锂电池组与电池管理系统(BMS)、升压/降压转换器以及可能的微控制器(如ArduinoESP32)结合,以监控电压并触发基于GPIO的关机。这种设置允许创意设计、更大的电池容量,甚至太阳能供电的树莓派系统。虽然功能强大,但DIY UPS系统需要对电子和电力安全有深入的了解。

选择树莓派UPS时应关注的关键功能

ed3d6424-7b16-11f0-9080-92fbcf53809c.jpg

为树莓派选择UPS时,重要的是要寻找能够确保可靠备用电源和系统安全的功能。优质的UPS应在断电时提供无缝电池备份,支持安全关机功能,允许树莓派在电池电量达到临界水平时优雅关机。监控功能也至关重要;好的UPS应通过GPIO、I2C或USB提供电池状态、电压和电量水平的实时数据。集成可充电电池(如锂离子或磷酸铁锂电池)提供紧凑高效的电源,内置保护电路防止过充或过放。一些型号还包括OLED显示屏、RTC(实时时钟)或可编程电源计划。与树莓派外壳兼容并能与其他HAT堆叠,对于更复杂的设置也大有裨益。最后,寻找软件支持,无论是通过供应商提供的工具还是社区维护的脚本,以确保您能有效配置和管理UPS。

树莓派UPS HAT的安装与设置

硬件安装

启用I2C/GPIO通信

首先关闭树莓派电源并断开所有电源。如果您使用的是UPS HAT(如PiJuice),请小心将其与GPIO接口对齐,并轻轻但牢固地按下。确保引脚正确连接,以避免电气故障。

如果您的UPS使用外部连接(通过USB或专用电源线),请将电源输入连接到UPS板,并将UPS输出连接到树莓派的电源接口(通常是USB-C或微型USB,取决于您的型号)。

接下来,按照制造商的说明将电池(锂离子或磷酸铁锂电池)连接到UPS模块。一些HAT板配有预焊接的电池连接器或JST接口,便于设置。请确保仅使用支持的电池,以避免过压或热风险。

许多UPS模块通过I2C或GPIO引脚与树莓派通信。这一步对于监控电池状态和触发安全关机至关重要。

1.启动树莓派并打开终端。

2.启动树莓派配置工具:

sudoraspi-config

3.导航至:接口选项 → I2C → 启用。如果您的UPS使用SPI或串行接口,也请同样启用。

ed602e8c-7b16-11f0-9080-92fbcf53809c.jpg

4.安装Ollama后,下载兼容的DeepSeek模型:

ollamapull deepseek-r1:1.5b

此命令获取15亿参数的DeepSeek-R1版本,大约需要1.8GB存储空间。

ed6b8cfa-7b16-11f0-9080-92fbcf53809c.jpg

5.退出并重启系统以应用更改。要验证I2C是否已启用且UPS被检测到,请运行:

sudoapt install -y i2c-toolsi2cdetect-y1

您应看到一个对应于UPS的地址(如0x14或0x36)。如果没有地址出现,请重新检查连接和电源状态。

对于基于GPIO的关机信号,请确保使用Python、Bash或systemd服务设置关机脚本以监控正确的引脚。一些HAT板为此目的提供了预配置脚本。

电池监控与管理

CLI工具:许多UPS模块通过I2C暴露其数据,您可以使用i2c-tools、upower或自定义Python脚本进行查询。例如:

i2cget-y10x360x02

此命令(使用适当的I2C地址)可根据UPS返回电压或电量状态。

ed7c4374-7b16-11f0-9080-92fbcf53809c.jpg

GUI工具:对于像PiJuice这样的型号,提供了图形界面来监控电池状态、配置关机阈值和查看日志。这对于在树莓派上运行桌面环境的用户非常有用。

ed8941c8-7b16-11f0-9080-92fbcf53809c.jpg

使用Node-RED + MQTT + HomeAssistant的Web仪表板(可视化选项)

步骤1:使用Node-RED从I2C或GPIO收集UPS数据。

步骤2:将此数据发送到MQTT代理(本地或云如HiveMQ、Mosquitto)。

步骤3:使用HomeAssistant(在另一台服务器或同一台树莓派上)可视化电池电压、电量百分比和电源事件。

示例:https://github.com/dalehumby/PiJuice-MQTT

ed99ae32-7b16-11f0-9080-92fbcf53809c.jpg

树莓派UPS的定期测试

定期测试您的UPS设置可确保在实际断电时按预期运行。定期测试有助于您提前发现问题,如电池故障、连接松动或关机脚本配置错误,避免它们成为关键问题。

什么是定期测试?

这是一种计划内的、自动化的(或手动的)过程,用于模拟断电或评估电池行为。这包括:

• 测试树莓派切换到电池电源的能力

• 验证安全关机脚本是否正确触发

• 测量电池放电和充电时间

• 记录切换过程中的系统行为

安排测试的最佳实践

1.频率:每月测试一次或在UPS设置进行重大更新后测试。

2.手动测试:拔掉电源适配器,观察电池续航时间。观察系统是否优雅关机,并在恢复供电后重新启动。

3.自动化日志记录:cron作业系统应每隔X分钟运行一次日志记录过程,以检索电压和当前电量信息。

监测电池性能恶化需要比较多个时间间隔内积累的测试结果。

示例:简单的测试日志记录器(基于cron)

创建脚本battery_test.sh:

#!/bin/bashtimestamp=$(date'+%Y-%m-%d %H:%M:%S') voltage=$(i2cget -y 1 0x36 0x02 w)voltage_swapped=$(( (voltage &0xFF) << 8 | (voltage >>8) ))voltage_v=$(echo"scale=3;$voltage_swapped* 78.125 / 1000000"| bc)echo"$timestamp,$voltage_vV">> /home/pi/battery_log.csv

使其可执行:

chmod+x battery_test.sh

使用cron安排:

crontab-e

添加此行以每10分钟记录一次:

*/10 * * * /home/pi/battery_test.sh

使用场景和应用示例

用例 不间断电源(UPS)为何重要
家庭或小型办公室服务器 防止断电期间出现停机及SD卡损坏。
家庭自动化中枢 保持自动化设备持续运行,并在必要时安全关机。
安全监控摄像头系统 确保录像连续性,保护监控录像资料。
远程传感器网络 在实地部署中维持数据记录和系统可靠性。
工业物联网网关 在关键环境中避免数据丢失,保持系统在线运行。
便携式项目设备 提供移动电源,保护项目文件免遭损坏。

UPS维护的最佳实践

定期更新UPS固件和相关软件或脚本

制造商经常发布更新,以改进电池管理、修复错误或添加功能。定期更新可确保兼容性和稳定性。

通过模拟断电定期测试UPS

断开主电源,验证树莓派是否切换到电池供电并能安全关机。这有助于您确认UPS按预期运行。

使用可用工具或脚本定期监控电池健康状况

关注电量水平、电压和温度。随着时间的推移,可充电电池会退化,因此当容量显著下降时,请更换电池。

避免将UPS和电池暴露在高温下。

将树莓派放置在通风良好的区域,特别是如果它与其他HAT板或电子设备一起封装在外壳中。

如果UPS包含此功能,请调整电池电量传感器校准。

这确保读数准确,并有助于在正确的时间触发安全关机。

使用高质量电池和兼容电源适配器。

廉价或不匹配的组件可能导致运行不稳定或安全风险。

安排定期维护检查。

包括对连接器的物理检查、必要时清洁触点,并确保系统仍符合您的电源备份需求。

常见问题排查

树莓派意外关机

这通常表明电池电量耗尽、未充电或树莓派耗电超过UPS供电能力。检查电源适配器额定值——确保树莓派4/5至少为5V 3A。同时验证电池是否连接、充电且未损坏或老化无法充电。

UPS未切换到电池供电

如果拔掉主电源后树莓派立即关机,UPS可能未正确切换。检查电池连接,并尝试直接从电池为UPS供电以验证功能。一些较便宜的板卡缺乏快速切换能力,可能会短暂断电。

电池未充电

如果电池即使插着电源也保持低电量,请检查板载充电电路。确保连接器或充电组件没有物理损坏。尝试使用不同的USB-C/微型USB线,并确认电池在其预期电压范围内(锂离子电池通常为3.7–4.2V)。

电池耗电过快

这可能是由于外设(外部驱动器、显示器等)耗电过多。尝试移除配件并再次测量电池续航时间。同时考虑电池容量是否足够满足您的设置——较小的电池组在高负载下续航时间不会很长。

无电池监控数据

如果i2cdetect未显示地址或工具返回错误,请检查:

• I2C是否已启用(sudo raspi-config)

• UPS是否正确安装在GPIO接口上

• 是否有其他I2C设备冲突

对于基于GPIO的状态LED或关机触发器,请确保您正在监控正确的引脚,并且脚本已激活且可执行。

UPS或电池过热

如果UPS摸起来很热或电池膨胀,请立即断开连接。这可能表明过充、散热不良或短路。请始终使用UPS制造商推荐的电池和电源。

安全关机未触发

如果您的树莓派一直运行到完全断电,请验证:

• 关机脚本是否在启动时运行(systemd、rc.local或cron @reboot作业)

• 是否正在监控正确的I2C值或GPIO引脚

• 关机阈值电压是否配置正确

您可以通过模拟临界条件来手动测试关机逻辑。

结论

无论您是在构建家庭自动化中心、部署远程传感器还是运行无头树莓派服务器,添加可靠的UPS解决方案对于长期稳定性和数据保护都至关重要。从基于HAT的模块到简单的USB移动电源和DIY配置,都有适合每个项目和技术水平的UPS选项。通过正确安装、安全关机脚本和定期电池监控,您的树莓派即使在意外断电时也能保持韧性。投资UPS不仅关乎正常运行时间,还关乎保护树莓派所驱动的一切的完整性。

原文地址:https://www.sunfounder.com/blogs/news/raspberry-pi-ups-best-backup-power-solutions-and-setup-guide