Stap 3: Colllecting gegevens - deel 1: MySQL
Nu de smartplug loopt, willen we het uitvoeren van de vaatwasser op een bepaald moment. Uiteindelijk om dit te doen, hebben wij enkele gegevens nodig. En de beste manier om het verzamelen, opslaan en manipuleren van gegevens is te werken met een database op een server.
Als een server ik koos voor de kleine maar toch krachtige Raspberry Pi. Het is goedkoop en compact en vooral gebruikt slechts weinig macht (ongeveer 7W). Dus eerst en vooral moet u uw Pi met Apache installeren.
Ik kies voor de database MySql. U easaly vinden pakketten te installeren Apache en MySql in één punt.
Dan setup de database. Ik noemde het SensiHome, en het veel meer dan alleen de vaatwasser draait.
In de database vinden we 5 tafels (zie foto's voor details):
Apparaten:
- slaat de instellingen van de apparaten in het netwerk.
- voor de vaatwasser zijn de cycletime en de cyclus Wh van extra belang. Ze worden gebruikt om het beste moment berekend.
Tijdinstellingen (TimeSettings):
- het is gemakkelijk om tijd in PHP te berekenen. Dus je kunt zeggen "morgen om 17.00' en PHP zal begrijpen wat je bedoelt. Deze kleine tabellen worden opgeslagen op de momenten dat ik verlang, met een extra kolom met de vertaling naar mijn taal.
Tijdsintervallen:
- In mijn geval wil ik slechts een paar momenten dat de vaatwasser klaar: vandaag wanneer ik kom terug van het werk, voor morgenochtend maar vanaf 22u, vóór morgen wanneer ik kom terug van het werk, of nu.
- Duurt de gegevens van 'Tijdsinstellingen'
Banen:
- Uiteindelijk wilt u dat de server om over te schakelen op de vaatwasser. Deze tabel wordt gevuld door datum afkomstig uit de php-programma in de volgende stap.
Wind:
- De gegevens in deze tabel is een live-feed van de webserver van onze nationale raster manager (Elia, België).
- Elke 5 minuten mijn server verzoeken een XML-bestand, met gegevens over de acctual windenergie productie en de forcast voor de komende 3 dagen.
- Over het krijgen van deze gegevens, check deze stap in mijn Instructable: XML vanuit de Manager van de Grid