我正在努力为Grove Pi传感器改编Python代码,以将有关温度和湿度的数据写入JSON文件。但是,我之前从未使用过JSON文件,所以我在结构上苦苦挣扎。
当前,我已导入JSON并建立了一个数组来保存数据。我正在努力将数据写入文件中。
import json
def writeToJSONFile(path, fileName, data):
filePathNameWExt = path + fileName + '.json'
with open(filePathNameWExt, 'w') as fp:
json.dump(data, fp)
data = {}
data['weather'] = []
...
while True:
try:
# This example uses the blue colored sensor.
# The first parameter is the port, the second parameter is the type of sensor.
[temp,humidity] = grovepi.dht(sensor,blue)
if math.isnan(temp) == False and math.isnan(humidity) == False:
#Convert C to F
temp = (temp * (9/5)) + 32
print("temp = %.02f F humidity =%.02f%%"%(temp, humidity))
#Include LCD Backlight readout
setText("temp =%.02f F \nhumidity =%.02f%%"%(temp, humidity))
setRGB(0,128,64)
#Add data to JSON file
data['weather'].append({
'temp': temp,
'humidity': humidity
})
writeToJSONFile('./','file-name',data)
预期结果: 该代码的结果是,屏幕和LCD RGB背光灯应显示温度(以华氏度为单位)和湿度,并且数据也应存储在JSON文件中。
实际结果: 屏幕和LCD RGB背光打印温度和湿度。但是,数据不会存储在JSON文件中。