Hallo,
ich habe ein Skript auf meinem Raspberry Pi 3 geschrieben, welches die Temperatur ausliest und (unter anderem) die Daten in eine csv-Datei schreiben soll. Ich schreibe mit Thonny und wenn ich die Datei dort ausführe, wird wie gewünscht eine neue Reihe in die csv-Datei geschrieben.
Wenn ich das Skript über crontab alle 5 Minuten ausführe wird allerdings keine neue Reihe in die csv-Datei geschrieben. Der Rest des Skipts (Daten auf thingspeak hochladen, Daten in txt-Datei schreiben) klappt alles.
Hat jemand einen Tipp für mich woran es liegen könnte?
Hier mein eintrag aus cronetab -e:
*/5 * * * * /usr/bin/python3 /home/pi/scipt.py
Hier das script:
Python
#! /usr/bin/python3
from gpiozero import OutputDevice
import pigpio
import DHT22
from time import sleep
from statistics import median
from datetime import datetime
import urllib.request
import csv
pi = pigpio.pi()
dht22 = DHT22.sensor(pi, 15)
sleep_time = 3
def readDHT22():
dht22.trigger()
hum = float(dht22.humidity())
temp = float(dht22.temperature())
return(hum, temp)
a = []
b = []
for i in range(10):
humidity, temperature = readDHT22()
a.append(humidity)
b.append(temperature)
sleep(sleep_time)
current_time = datetime.now()
time = current_time.strftime('%H:%M: ')
outside_h = (median(a))
outside_t = (median(b))
#write in txt
save_file = open('/home/pi/Desktop/log_{0}.txt'.format(current_time.strftime('%Y.%m.%d')),'a')
save_file.write('{0} Luftfeuchtigkeit: {1} % - Temperatur: {2} °C\n'.format(time, round(outside_h, 1),round(outside_t, 1)))
save_file.close()
#send to thingspeak
baseURL = 'http://api.thingspeak.com/update?api_key=ABCDEFG1234567=' +str(outside_t) + '&field2=' + str(outside_h)
f = urllib.request.urlopen(baseURL)
f.read()
f.close()
#write in csv
with open ("temp.csv", "a") as csv_file:
csv_app = csv.writer(csv_file)
csv_app.writerow([time,outside_h,outside_t])
Alles anzeigen