MySQL und Python: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Geli (Diskussion | Beiträge) |
Geli (Diskussion | Beiträge) |
||
Zeile 15: | Zeile 15: | ||
Für die Speicherung der Sensorwerte benötigen wir zwei Tabellen. In die erste (werte) schreiben wir die 5-Minuten-Daten der Sensoren und in der zweiten (hochtief) sollen die Maxima bzw. Minima Platz finden. Die Tabellen haben folgenden Aufbau:<br /> | Für die Speicherung der Sensorwerte benötigen wir zwei Tabellen. In die erste (werte) schreiben wir die 5-Minuten-Daten der Sensoren und in der zweiten (hochtief) sollen die Maxima bzw. Minima Platz finden. Die Tabellen haben folgenden Aufbau:<br /> | ||
'''Tabelle: werte''' | '''Tabelle: werte''' | ||
timestamp JJMMTTHHMM | timestamp JJMMTTHHMM CHAR(10) | ||
temp1 -99.9 (Temperatur 1 C) | temp1 -99.9 DECIMAL(2,1) (Temperatur 1 C) | ||
temp2 -99.9 (Temperatur 2 C) | temp2 -99.9 DECIMAL(2,1) (Temperatur 2 C) | ||
hum1 999.9 (Luftfeuchtigkeit 1 %) | hum1 999.9 DECIMAL(3,1) (Luftfeuchtigkeit 1 %) | ||
hum2 999.9 (Luftfeuchtigkeit 2 %) | hum2 999.9 DECIMAL(3,1) (Luftfeuchtigkeit 2 %) | ||
hpa 9999.9 (Luftdruck hpa) | hpa 9999.9 DECIMAL(4,1) (Luftdruck hpa) | ||
'''Tabelle: hochtief''' | '''Tabelle: hochtief''' | ||
timestamp JJMMTT | timestamp JJMMTT CHAR(6) | ||
temp1h -99.9 (hoch Temperatur 1 C) | temp1h -99.9 DECIMAL(2,1) (hoch Temperatur 1 C) | ||
temp1t -99.9 (tief Temperatur 1 C) | temp1t -99.9 DECIMAL(2,1) (tief Temperatur 1 C) | ||
temp2h -99.9 (hoch Temperatur 2 C) | temp2h -99.9 DECIMAL(2,1) (hoch Temperatur 2 C) | ||
temp2t -99.9 (tief Temperatur 2 C) | temp2t -99.9 DECIMAL(2,1) (tief Temperatur 2 C) | ||
hum1h 999.9 (hoch Luftfeuchtigkeit 1 %) | hum1h 999.9 DECIMAL(3,1) (hoch Luftfeuchtigkeit 1 %) | ||
hum1t 999.9 (tief Luftfeuchtigkeit 1 %) | hum1t 999.9 DECIMAL(3,1) (tief Luftfeuchtigkeit 1 %) | ||
hum2h 999.9 (hoch Luftfeuchtigkeit 2 %) | hum2h 999.9 DECIMAL(3,1) (hoch Luftfeuchtigkeit 2 %) | ||
hum2t 999.9 (tief Luftfeuchtigkeit 2 %) | hum2t 999.9 DECIMAL(3,1) (tief Luftfeuchtigkeit 2 %) | ||
hpah 9999.9 (hoch Luftdruck hpa) | hpah 9999.9 DECIMAL(4,1) (hoch Luftdruck hpa) | ||
hpat 9999.9 (tief Luftdruck hpa) | hpat 9999.9 DECIMAL(4,1) (tief Luftdruck hpa) | ||
Diese Tabelle beinhaltet | Diese Tabelle beinhaltet Datensätze mit folgenden Werten in timestamp: | ||
JJ9999 - Jahres-Hoch-Tief-Werte | JJ9999 - Jahres-Hoch-Tief-Werte | ||
JJMM99 - Monats-Hoch-Tief-Werte | JJMM99 - Monats-Hoch-Tief-Werte |
Version vom 2. Juli 2017, 16:30 Uhr
MySQL installieren und Datenbank anlegen
Zuerst müssen wir den MySQL Server und die Python-Module für den Datenbankzugriff installieren.
sudo apt-get install mysql-server python-mysqldb
Danach legen wir eine Datenbank sensor an:
$ mysql -u root -p Enter password: mysql> CREATE DATABASE sensor; mysql> USE sensor;
Jetzt legen wir einen User account für diese Datenbank an und vergeben die Zugriffsrecht. password ist unser gewünschtes Passwort.
mysql> CREATE USER 'pi'@'localhost' IDENTIFIED BY 'password'; mysql> GRANT ALL PRIVILEGES ON sensor.* TO 'pi'@'localhost'; mysql> FLUSH PRIVILEGES; mysql> quit
Tabellen definieren
Für die Speicherung der Sensorwerte benötigen wir zwei Tabellen. In die erste (werte) schreiben wir die 5-Minuten-Daten der Sensoren und in der zweiten (hochtief) sollen die Maxima bzw. Minima Platz finden. Die Tabellen haben folgenden Aufbau:
Tabelle: werte
timestamp JJMMTTHHMM CHAR(10) temp1 -99.9 DECIMAL(2,1) (Temperatur 1 C) temp2 -99.9 DECIMAL(2,1) (Temperatur 2 C) hum1 999.9 DECIMAL(3,1) (Luftfeuchtigkeit 1 %) hum2 999.9 DECIMAL(3,1) (Luftfeuchtigkeit 2 %) hpa 9999.9 DECIMAL(4,1) (Luftdruck hpa)
Tabelle: hochtief
timestamp JJMMTT CHAR(6) temp1h -99.9 DECIMAL(2,1) (hoch Temperatur 1 C) temp1t -99.9 DECIMAL(2,1) (tief Temperatur 1 C) temp2h -99.9 DECIMAL(2,1) (hoch Temperatur 2 C) temp2t -99.9 DECIMAL(2,1) (tief Temperatur 2 C) hum1h 999.9 DECIMAL(3,1) (hoch Luftfeuchtigkeit 1 %) hum1t 999.9 DECIMAL(3,1) (tief Luftfeuchtigkeit 1 %) hum2h 999.9 DECIMAL(3,1) (hoch Luftfeuchtigkeit 2 %) hum2t 999.9 DECIMAL(3,1) (tief Luftfeuchtigkeit 2 %) hpah 9999.9 DECIMAL(4,1) (hoch Luftdruck hpa) hpat 9999.9 DECIMAL(4,1) (tief Luftdruck hpa)
Diese Tabelle beinhaltet Datensätze mit folgenden Werten in timestamp:
JJ9999 - Jahres-Hoch-Tief-Werte JJMM99 - Monats-Hoch-Tief-Werte JJMMTT - Tages-Hoch-Tief-Werte
Nun steigen wir mit dem neuen User in die Datenbank ein:
mysql -u pi -p