ich fange gerade an mich in Python einzuarbeiten und stehe mit einer Datenbank gerade auf Kriegsfuß.
Ich verstehe die Syntax hier noch nicht so wirklich. VB ist da eher was für mich, allerdigns gibt es diese Alternative nicht :K
Also hoffe ich einfach, dass mir hier jemand auf die Sprünge helfen kann.
Zu dem Problem:
Ich schreibe gerade ein Script, dass einen DHT am Raspberry ausließt und diese Werte in eine Datenbank schreiben soll.
Dazu der folgende Code:
Code: Alles auswählen
import Adafruit_DHT
import MySQLdb
import time
con = MySQLdb.connect (host = "localhost",
user = "****",
passwd = "*********",
db = "Terra")
sensor = Adafruit_DHT.DHT11
gpio = 4
humidity, temperature = Adafruit_DHT.read_retry(sensor, gpio)
print 'Temperatur: {0:0.1f}*C Luftfeuchtigkeit: {1:0.1f}%'.format(temperature,humidity) #raus wenns klappt
Tempe = '{0:0.1f}'.format(temperature)
humi = '{0:0.1f}'.format(humidity)
SenID = 1
Zeit = time.strftime('%Y-%m-%d %H:%M:%S')
print Zeit #raus wenns klappt
print Tempe #raus wenns klappt
print humi #raus wenns klappt
#Datenbank insert
cur=con.cursor()
cur.execute("INSERT INTO Auswertung (SensorID, Datum, Temperature, humidity) VALUES (%s, %s, %s, %s)",("1", Zeit, Tempe, humi,))
cur.close
con.commit
Ich habe schon mit " und ' versucht einzelne Werte zu verändern. Dies brachte allerdings immer nur andere Fehler. Mal werden die Werte im String eingetragen, aber es wird ein Fehler erkannt im SQL oder aber es sieht so aus.pi@Terraformer:~/Terrascripts $ python sensor1.py
Temperatur: 24.0*C Luftfeuchtigkeit: 35.0%
2017-02-24 22:03:57
24.0
35.0
sensor1.py:26: Warning: Data truncated for column 'Datum' at row 1
cur.execute("INSERT INTO Auswertung (SensorID, Datum, Temperature, humidity) VALUES (%s, %s, %s, %s)",("1", Zeit, Tempe, humi,))
pi@Terraformer:~/Terrascripts $
Nur zum besseren Verständnis: Die Sensor ID soll als fest als 1 gesetzt werden und stellt keine Variable dar.
Habt ihr hierfür eine Idee?
Gruß
Virtex