Raspberry PI och DHT22 temperatur och luftfuktighet-logger med lampa och e-varningar (9 / 13 steg)
Steg 9: Installera MySql för datalagring temperatur
Hämta Mysql och krävs addons för det. För att göra det typ följande och tryck enter.
sudo lämplig-få installera mysql-server python-mysqldb
Under installationen kommer du bli tillfrågad om lösenordet för ROOT-användaren kan ange vad du vill och minns det för senare användning.
Efter lösenord är inställd och installationen har slutförts. Det är dags att ställa in den faktiska databas och tabeller för att lagra data. Detta måste göras i mysql konsolen. För att komma in i konsolltyp i följande och tryck Ange.
MySQL -u root -p -h localhost
Ange lösenordet som du anger under installationen och sedan bör du i MySql konsolen (kolla referensbild)
I MySQL konsolen
Först skapa databas som kallas temperaturer. Typ följande och tryck enter.
SKAPA databas temperaturer.
Välj den skapade databasen genom att skriva följande och trycka på Ange.
ANVÄNDA temperaturer.
Nästa behöver du skapa databasanvändare och bevilja åtkomst till databasen. (Ändra lösenord till något annat om du vill). Gör den typen i följande rader och separat efter varje tryck anger (kolla referens bild 2).
SKAPA användaren "logger" identifieras av 'lösenord';
GRANT alla privilegier på temperatures.* till "logger"
FLUSH PRIVILEGIER;
Nu användaren har skapats och privilegier lagt till. Dags att ändra användare från roten till denna nya logger. Logga ut genom att skriva följande och trycka på enter.
avsluta
Och logga igen med denna nya användare genom att skriva följande och trycka på enter
MySQL -u logger -p -h localhost
Och ge lösenord som du tilldelats efter identifieras av när du skapar användaren (som standard det var lösenord).
Nu är det tid t ocreate två tabeller. Temperaturedata för lagring av sensorn information och tid för mätning och även mailsendlog som innehåller information när temperaturgräns utlöst mail varningar har skickats. Mailsendlog används i koden för att kontrollera när sista varningen skickades och det har begränsats att begränsa varning kan skickas en gång i varje 2 timmar / sensor. Denna begränsning krävs så postlådan inte är översvämmad i fall där mätningar görs ofta, e.g. varje minut. Men det finns lite undantag när kontrollen ignoreras och det är i fall när temperaturen ökar eller minskar 5 grader mellan mätningarna. Tänk på fallet när du loggar hem temperatur via denna logger och det finns plötsligt 5 graders sänkning av temperaturen mellan mätningar, det skulle vara trevligt att få information om att även om 2 timmar inte har gått ännu.
Några varningar, som sensorn kan inte läsas eller databas infoga misslyckades är sända varje gång när de inträffar och inte loggat till tabellen. Dessa varning anger att det är något fel med Raspberry Pi eller sensorer och bör kontrolleras.
Om du vill börja skapa ange tabeller, skriv in följande och tryck.
ANVÄNDA temperaturer.
Skapa första tabellen med kolumner dateandtime, sensor, temperatur och fuktighet. För att göra det Skriv in följande och tryck Ange.
CREATE TABLE temperaturedata (dateandtime DATETIME, sensor VARCHAR(32), temperatur dubbel, luftfuktighet dubbel);
Skapa andra tabellen med kolumner dateandtime, triggedsensor, triggedlimit och lasttemperature. För att göra det Skriv in följande och tryck Ange.
CREATE TABLE mailsendlog (mailsendtime DATETIME, triggedsensor VARCHAR(32), triggedlimit VARCHAR(10), lasttemperature VARCHAR(10));
Du kan confim, att Tom uppsättningar finns genom att skriva in följande och tränga in.
VÄLJA * från mailsendlog;
VÄLJA * från temperaturedata;
Om tabeller finns, bör du se "tom uppsättning (0,00 SEK)"
Databas och tabeller är nu setup, avsluta MySql konsolen genom att skriva in följande och trycka enter.
avsluta
Sedan starta om mysql att ändringarna börjar gälla. För att göra det Skriv in följande och tryck Ange
sudo /etc/init.d/mysql restart
Thats it, mysql och databasen är klar. Nästa sak är att ladda ner DHT22-TemperatureLogger för att läsa sensorer, och att infoga data till dessa nya tabeller.