Ich habe ein script mit Thonny getestet und schreibe einige Daten in eine Web Datenbank .Die Daten sollen alle 1 min. geschrieben werden.
Wenn ich das script mit crontab starte kommen ein paar Meldungen in die Logdatei und die Daten kommen nicht zur Web Datenbank.
Hier die Meldungen:
/home/pi/MSR/dsct2.py: 4: /home/pi/MSR/dsct2.py: import: not found
/home/pi/MSR/dsct2.py: 9: /home/pi/MSR/dsct2.py: masterFolder: not found
/home/pi/MSR/dsct2.py: 11: /home/pi/MSR/dsct2.py: Syntax error: "(" unexpected
Anschliessend der Code des Scrptes, kann jemand helfen?
# Temp1
#import time
import datetime
#from py7seg import Py7Seg # xxx
masterFolder = "/sys/devices/w1_bus_master1/"
def getSlaveFolders():
# Get list of all 1-Wire slave folders
file = open(masterFolder + "w1_master_slaves")
slaveFolders = file.read().splitlines()
file.close()
return slaveFolders
def getTemperature(slaveFolder):
# Read content of corresponding w1_slave file. Format:
# 6f 01 4b 46 7f ff 01 10 67 : crc=67 YES
# 6f 01 4b 46 7f ff 01 10 67 t=22937
file = open(masterFolder + slaveFolder + '/w1_slave')
lines = file.read().splitlines()
file.close()
# Extract temperature from second line
temperature = float(lines[1][29:]) / 1000
return temperature
import socket
#import time
#import math
slaveFolders = getSlaveFolders()
#while True:
x=1
#for x in range(0,100):
# Extract temperature from first slave
temp = getTemperature(slaveFolders[0])
print("T1 = %6.2f deg" %temp)
#print '{:%d-%m-%Y %H:%M:%S.}'.format(datetime.datetime.now())
T1 = "%4.3f" %temp
print (T1)
# Extract temperature from 2. slave
temp = getTemperature(slaveFolders[1])
print("T2 = %6.2f deg" %temp)
#print '{:%d.%m.%Y %H:%M:%S}'.format(datetime.datetime.now())
T2 = "%4.3f" %temp
print (T2)
# WebServer2.py
host = "http://www.geomo.dx.am"
port = 80
date='{:%Y-%m-%d_%H:%M:%S}'.format(datetime.datetime.now())
#der Unterstrich vor %H muss sein sonst versteht die Datenbank das Format timestamp nicht ???
x=T1
y=T2
T3=33
T4=44
T5=55
T6=66
T7=77
LF=11
print (date, T1, T2, T3, T4, T5, T6, T7, LF)
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((host , port))
request = "GET /insert.php?date=" + str(date) + "&T1=" + str(T1) + "&T2=" + str(T2) + "&T3=" + str(T3) + "&T4=" + str(T4) + "&T5=" + str(T5) + "&T6=" + str(T6) + "&T7=" + str(T7)+ "&LF=" + str(LF) + \
" HTTP/1.1\r\nHost: " + host + "\r\n\r\n"
# variable request in byte format umwandeln für Datenbank lesefähigkeit
request_as_byte = str.encode(request)
s.send(request_as_byte)
s.shutdown(1)
s.close()
#time.sleep(8)
print ("Done")