树莓派设置24小时温度记录

xiaoxiao2021-02-28  70

上篇文章介绍了DHT11模块的python3驱动,这次介绍一下如何让Pi24小时记录温度数据。

功能需求分析: 1. 读取温湿度数据并写入日志中; 2. 设置定时触发。

读取温湿度数据并写入日志: 废话少说,上代码:

#!/usr/bin/env python3 import dht11 import time import traceback as tb def write_log(): # 读取模块数据有一定概率会出现错误或者各种异常,罗嗦一点多做些处理保证程序稳定 check_ok = False t = 10 while t > 0: try: tempture, humidity, check_ok = dht11.get_t_and_h() except Exception as e: tb.print_exc() # 发生异常时打印trace,方便调试,也可以删掉,不会影响功能 if not check_ok: # 如果校验出现错误,延时一段时间后再次读取,错误10次后超时,跳出循环 t -= 1 time.sleep(15) else: break s = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()) # 获取格式化的当前时间 s += ' ' + str(tempture) + ' ' + str(humidity) + ' ' + str(check_ok) + '\n' log_file = open('/home/pi/tempture/temp_log', 'a+') # 此处log文件路径自己设定 log_file.write(s) log_file.close() # 写完数据后记得关闭文件flush一下 if __name__ == "__main__": write_log()

设置定时触发: 定时触发可以参考这篇文章,用crontab可以配置任意的时间触发设置。 我把我的配置文件贴出来: 最后一句是我添加进去的内容,以空格为分隔,每个对应倒数第二行的项目,其中:*/10 的意思是指每10分钟触发一次。 配置完成后保存退出就可以了,crontab里的配置无需重启会立即生效。 最后看一下我的log咯~ 以上~

转载请注明原文地址: https://www.6miu.com/read-70230.html

最新回复(0)