python控制风扇_如何使用Python在Raspberry Pi 3上使用GPIO控制风扇?

本文档介绍了如何通过Python在Raspberry Pi 3上使用GPIO来控制风扇。首先修复了获取系统温度时的字符串与整数比较问题,然后使用正则表达式解析温度值。代码中包含了当温度超过65摄氏度时启动风扇,否则关闭风扇的逻辑。为了实现恒温器功能,使用while循环不断检查温度,并在两次检查之间添加了sleep()以避免频繁开关风扇。
摘要由CSDN通过智能技术生成

你很亲密这两行是有问题的:

temp = os.popen('vcgencmd measure_temp').readline()

if temp > 65:

在这里,temp是一个字符串.您需要先将temp转换为整数,然后再尝试将其与整数进行比较.假设您正在读取的行只是对应于某个温度的十进制字符串,则只需调用int()即可,如下所示:

temp = os.popen('vcgencmd measure_temp').readline()

temp = int(temp)

更新由于您发布了实际上要解析的输出,因此我们可以使用正则表达式将输出与re module匹配.我们还将其放在函数中:

def measure_temp():

raw = os.popen('vcgencmd measure_temp').readline()

m = re.match("temp=(\d+\.?\d*)'C", raw)

if not m:

raise ValueError("Unexpected temperature string: " + raw)

return float(m.group(1))

temp = measure_temp()

请注意,我在字符串中的实际温度小数点附近使用了一个捕获组,并使用m.group(1)对其进行了访问.

让我们现在放在一起.另外,当您的代码未达到预期的效果时,包含一些“调试打印”非常有帮助,例如:

def measure_temp():

raw = os.popen('vcgencmd measure_temp').readli

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值