FlatBin
AP1 Code Komplett
JS - Daten abrufen:
setInterval(() => {
fetch("auslesen.php").then((result) => result.json()).then((data) => console.log(data))
}, 3000);
PHP - Daten auslesen:
$con = mysqli_connect("localhost","admin","ap1","temperaturdaten");
$res = mysqli_query($con,"SELECT * FROM daten ORDER BY timestamp DESC LIMIT 1");
while($row = mysqli_fetch_assoc($res))
echo json_encode($row)
Python - Sensor auslesen und Daten in DB schreiben:
import RPi.GPIO as gpio
import dht11
import loglib
import time
import mysql.connector as connection
#import pymysql.cursors
gpio.setwarnings(False)
gpio.setmode(gpio.BCM)
gpio.cleanup()
dht11_sensor = dht11.DHT11(pin=12)
#angeschlossene pins: "+" pin4 (5 V) "-" pin 6 (Ground) "out" pin 32 (GPIO 12)
'''
#log settings
i=0
loghaeufigkeitsekunden = 2.0 #sekunden
logart = 3 #1 temp 2feuchtigkeit 3 beides
aufbewahrungszeitsekunden = 60.0 #sekunden
'''
#con = pymysql.connect(host='localhost',user='admin',password='ap1',db='temperaturdaten',charset='utf8',cursorclass=pymysql.cursors.DictCursor)
try:
con = connection.MySQLConnection(user='admin', password='ap1',
host='localhost',
database='temperaturdaten')
cursor = con.cursor()
except mysql.connector.Error as err:
if err.errno == errorcode.ER_ACCESS_DENIED_ERROR:
print("Something is wrong with your user name or password")
elif err.errno == errorcode.ER_BAD_DB_ERROR:
print("Database does not exist")
else:
print(err)
while True:
# Messung durchführen
result = dht11_sensor.read()
# Werte ausgeben
if result.is_valid():
try:
print(f'Temperatur: {result.temperature}°C | Humidity: {result.humidity}%\n')
#cursor.execute("INSERT INTO daten (temperatur, feuchtigkeit, timestamp) VALUES ('{result.temperature}', '{result.humidity}', NOW()) ")
add_tempdata="INSERT INTO daten(temperatur,feuchtigkeit)VALUES(%s,%s)"
data_tempdata=(str(result.temperature),str(result.humidity))
cursor.execute(add_tempdata, data_tempdata)
con.commit()
except mysql.connector.Error as err:
print(err)
else:
print(f"Errorcode: {result.error_code}")
time.sleep(3.0)
con.close()
Neuen Paste erstellen