Hi,
Will mit meinem Arduino Messdaten des DHT22 auf einem Raspberry Pi 4 in eine MariaDB speichern.
Verbunden sind sie via USB.
Dies ist der Code auf meinem Raspberry.
Und hier tritt auch das Problem auf. Die Daten in der DB sind immer gleich, also immer der gleiche t-Wert und immer der gleiche h-Wert (wobei t nicht gleich h ist). Mir kommts fast so vor, als würde dieses Programm die werte nicht neu einlesen.
Bin wirklich am Ende mit meinem Kontingent und würde mich über schnelle, einfache Hilfe extremst freuen.
Code
#!/usr/bin/env python3
import serial
import mysql.connector
import time
def store_to_database(t, h):
# Connect to the database
mydb = mysql.connector.connect(
host="localhost",
user="oxypureUSER",
password="passme",
database="oxypureDATABASE"
)
mycursor = mydb.cursor()
# Insert the value into the database
sql = "INSERT INTO oxypure (Temp, LF, inserttime) VALUES (%s, %s, now())"
val = (t, h,)
mycursor.execute(sql, val)
# Commit the changes to the database
mydb.commit()
# Close the database connection
mycursor.close()
mydb.close()
if __name__ == '__main__':
ser = serial.Serial('/dev/ttyACM0', 9600, timeout=1)
while True:
line = ser.readline().decode('utf-8').rstrip()
t = line.split("\n")[0]
line = ser.readline().decode('utf-8').rstrip()
h = line.split("\n")[0]
store_to_database(t,h)
ser.reset_input_buffer()
time.sleep(30)
Alles anzeigen
(hier noch mein Arduino Code)
Code
#include <DHT.h>
#define DHTPIN 2
#define DHTTYPE DHT22
DHT dht(DHTPIN, DHTTYPE);
int HUM;
int TEMP;
void setup() {
Serial.begin(9600);
dht.begin();
}
void loop() {
getDHT22();
Serial.println(TEMP);
Serial.println(HUM);
}
void getDHT22() {
HUM = dht.readHumidity();
TEMP = dht.readTemperature();
}
Alles anzeigen