监测树莓派供电电压不足的试验 - vcgencmd get_throttled

树莓派用起来还是很方便的,不过因为电源适配器电压不足额定电流不足线损PTC的压降 或者USB接口接触电阻等因素的影响,+5V电源输入电压不足时有发生。 当+5V电源输入电压不足时,显示屏的右上角会显示一个黄色的小闪电符号作为报警。 +5V电源输入电压不足会引起很多问题,比如运行不稳定,数据丢失,甚至会导致SD卡永久损坏。 使用一个优质的、足功率、足电压的电源适配器是必须的。但即使我们使用官方电源适配器,偶尔也会因为micro USB口长期反复插拔后,导致接触不良而引起接触电阻过高,使得树莓派+5V输入电压不足。 于是我们需要有能够实时监测树莓派电压不足(Under-voltage)的方法,以便能够在所开发的应用中及时报警,或者采取相应行动。

原理

Raspberry Pi OS 中的命令 vcgencmd get_throttled 会得到一个十六进制数,这个数字反映了和当前系统频率、输入电压等相关的状态信息

$ vcgencmd get_throttled
throttled=0x50005

这个数字转换为二进制后,其中的8位,代表了8个标志的状态,我们重点看其中的两位:

  • 这个数字的第 0 位为 1 的话,表明当前发生了输入电压不足的情况;
  • 这个数字的第 16 位为 1 的话,表明启动之后曾经发生过输入电压不足的情况;

那我们只要实时检测这两个标志位,就可以监测到树莓派输入电压不足的情况。

Python 的 vcgencmd

幸运的是,python的第三方库中,有现成的库可以用来访问上面的标志位,它就是 vcgencmd 库。

安装 vcgencmd

sudo pip3 install vcgencmd -i https://mirrors.aliyun.com/pypi/simple/

安装后,在python中尝试导入 vcgencmd 库,没有报错就对了。

pi@raspberrypi:~ $ python3
Python 3.7.3 (default, Jul 25 2020, 13:03:44)
[GCC 8.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from vcgencmd import Vcgencmd

代码

因为实现起来比较简单,直接上代码了:(可按需要根据如下代码调整优化后,用于实现自己的需求)

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# cython: l
  • 8
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值