- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我是一个完全没有经验的 A 级学生,试图掌握 python 来完成作业。我有一周的时间来完成它——我对做什么知之甚少,也没有编码经验——我真的被困住了,在他论坛上的人看来可能很愚蠢。
我必须使用树莓派和 DHT22 传感器创建一个温度和湿度记录器。我要编写一个脚本来生成一个休眠 10 秒的循环 - 我将运行该脚本两天以收集足以生成图表的数据。到目前为止,我拥有的代码是这样的,但它不起作用 - 可能出于某些明显的原因 - 数据需要在 leafpad 文件的两列中出现。
# Assign header details to STRING variables - change manually
txt_studentid = '999'
txt_pi_location = '999.99999'
txt_pi_latitude = '999.99999'
txt_pi_longitude = '999.99999'
import Adafruit_DHT
pin = 4
sensor = Adafruit_DHT.DHT22
# Import Time module import time
# open file to write
f = open('/home/pi/y_data.txt','w')
f.write(txt_studentid)
f.write('\n')
f.write(txt_pi_location)
f.write('\n')
f.write(txt_pi_latitude)
f.write('\n')
f.write(txt_pi_longitude)
f.write('\n')
f.close()
while True:
# store off the date and time details for this
sample num_month = time.localtime().tm_mon
num_day = time.localtime().tm_mday
num_hour = time.localtime().tm_hour
num_min = time.localtime().tm_min
num_sec = time.localtime().tm_sec
num_humidity, num_temperature = Adafruit_DHT.read_retry(sensor, pin)
txt_month = str(num_month)
txt_day = str(num_day)
txt_hour = str(num_hour)
txt_min = str(num_min)
txt_sec = str(num_sec)
txt_humidity = str(num_humidity)
txt_temperature = str(num_temperature)
f = open('('/home/pi/my_data.txt','a')
f.write(txt_month)
f.write(',')
f.write(txt_day)
f.write(',')
f.write(txt_hour)
f.write(',')
f.write(txt_min)
f.write(',')
f.write(txt_sec)
f.write(',')
# write the temperature and humidity to file
f,write(txt_humidity)
f.write(',')
f,write(txt_temperature)
f.write(',')
# write new line
f.write('\n')
# close the file
f.close()
# wait for ten seconds
time.sleep(10)
最佳答案
你快到了。您编写的代码有点不必要地长,但如果您是新手并且不知道技巧和正确的功能,那是正常的 ;)
但是,它仍在进行一些小的更改!
您需要在读取传感器的行之后缩进所有内容。否则它不会包含在您的循环中,您会继续读取值但不会写入它们。
然后两条评论搞砸了,首先你评论了你绝对需要的 import time
,然后在 while True:
你移动了 sample
之后的评论> 进入下一行。
您还写了两次 f,write(...
。请注意 ,
而不是 。
最后,您对 open
的最后一次调用仍然包含 Lambert 已经在谈论的 ('
。
最后三个问题是语法问题,其实应该由python自己指出。
我还建议将文件路径放入顶部某处自己的变量中,这样您就可以更轻松地更改它。
此外,没有必要为时间戳的所有部分的数字和字符串版本都保留一个变量。只需获取时间一次,然后在格式字符串中读取其属性。参见 format string syntax看看我的代码。
这就是我编写脚本的方式:
import time
import Adafruit_DHT
# Assign header details to STRING variables - change manually
txt_studentid = '999'
txt_pi_location = '999.99999'
txt_pi_latitude = '999.99999'
txt_pi_longitude = '999.99999'
filepath = '/home/pi/my_data.txt'
pin = 4
sensor = Adafruit_DHT.DHT22
# Import Time module import time
# open file to write
with open(filepath, 'w') as f:
f.write(txt_studentid + '\n')
f.write(txt_pi_location + '\n')
f.write(txt_pi_latitude + '\n')
f.write(txt_pi_longitude + '\n')
line_template = ('{time.tm_mon},{time.tm_mday},{time.tm_hour},{time.tm_min},' +
'{time.tm_sec},{hum},{temp}\n')
while True:
# get current time
sampletime = time.localtime()
# sample sensor values
humidity, temperature = Adafruit_DHT.read_retry(sensor, pin)
# append time and values to file
with open(filepath, 'a') as f:
f.write(line_template.format(time=sampletime,
hum=humidity,
temp=temperature))
# wait 10 seconds
time.sleep(10)
关于linux - 帮助创建温度湿度脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31919905/
谁能告诉我下面的代码是如何工作的, #define func(t, a, b){ t temp; temp=a; a=b; b=temp;} int main() { int a=3, b=4; f
private static final Group[] toGroups (String string) { int partialGroupSize = strin
我想更改 svg 的此文本部分: **--** 我想显示来自 KNX 安装的温度我已尝试使用以下代码,但没有任何反应: 以 $('#VL_temp' 开头的行有什么问题?其余代码似乎没问题,
目标 测量我的 Linux Box 的 CPU 温度。 到目前为止工作已完成 我已经安装了 lm-sensors 来检测温度,下面是命令传感器的输出: root@XXXX-XX :# sensors
我知道以某种方式获取 CPU 的温度是可能的,因为我下载了一个应用程序,它可以在没有开启Root的设备上执行此操作。它是怎么做到的? 编辑:该应用程序称为 A1 CPU 工具。我花了几天时间寻找答案。
我对如何使用一些视频卡驱动程序 API 读取 GPU 温度(图形处理单元,显卡主芯片)的方法感兴趣? 每个人都知道有两个不同的芯片制造商(至少是流行的)- ATI 和 nVIDIA - 因此有两种不同
我有一个运行 Windows 10 IoT 核心版的 Raspberry Pi 3。我的问题是;是否有可能,或者是否有一种方法可以通过远程 PowerShell 连接、在设备本地的命令行控制台中监控设
这里我真的很疑惑。我想创建一个应用程序,它在我的显卡(AMD 显卡)的不同温度下执行不同的事件。 我想制作这样一个应用程序的原因是,对于 GPU,我还没有找到一个,其次是为了确保我永远不会因为达到巨大
我想获取 CPU 温度。下面是我使用 C++ 和 WMI 所做的。我正在阅读 MSAcpi_ThermalZoneTemperature,但它总是一样的,根本不是 CPU 温度。 有没有什么办法不用写
我正在尝试使用 Raspberry Pi 上的 DS18B20 传感器读取温度。我的问题是从这个传感器读取数据需要时间。它不多,或多或少 1 秒,但我不能让我的主程序等到这完成。我不需要有“最近的值(
我正在为系统性能创建一个个人监控程序,但我在弄清楚 C# 如何检索 CPU 和 GPU 温度信息时遇到了问题。 我已经让程序通过 PerformanceCounter 检索 CPU 负载和频率信息(以
我需要使用 Swift 获取 CPU 温度,但除了 this 之外我找不到任何信息. 我认为我应该使用 IOKit.framework 但同样没有太多关于它的信息。 最佳答案 使用 https://g
我只是想知道。在 PHP 中设置一个没有过期的 cookie(意味着它在浏览器关闭时过期)和设置一个 session 变量之间有什么区别。我不是在谈论登录之类的东西;而不是需要在每次访问页面时获取不太
本文实例讲述了android电源信息查看方法。分享给大家供大家参考。具体如下: 1. PowerTestActivity: ?
我有一个通过 http 连接的温度传感器,我想每 5 秒向 Amcharts 添加一次温度。有人有一些如何向当前数据集添加新值的示例吗?我将使用折线图来表示 y 轴上的温度和 x 轴上的日期时间 谢谢
大家好,我正在尝试通过 php.wsdl Web 服务发送我的温度和湿度传感器,我需要将数据解析到 Web 服务,以便我可以将其从 Web 服务插入 mysql 数据库.. 我遇到了一些问题,请指教
如何从 Linux 上的 bash 获取平均 CPU 温度?最好是华氏度。该脚本应该能够处理不同数量的 CPU。 最佳答案 你这样做: 安装 sudo apt install lm-sensors s
这个问题在这里已经有了答案: 关闭 12 年前。 Possible Duplicate: Getting CPU temperature using Python? 最简单的方法是什么?也最好是摄氏
如何在 Linux 上获取 CPU 的当前温度? 有several questions and answers关于使用 C# 获取 CPU 温度,但它们似乎都是特定于 Windows 的。 最佳答案
我正在使用此代码获取当前 CPU 温度: 并看到了it也是 private float getCurrentCPUTemperature() { String file = readFile
我是一名优秀的程序员,十分优秀!