Raspberry PI och DHT22 temperatur och luftfuktighet-logger med lampa och e-varningar (10 / 13 steg)
Steg 10: Ställa in temperatur logger koden
TemperatureLogger Python code finns också från github, precis som de Adafruit DHT22 koderna.
Obs: om detta är första gången du gör detta, kan du hoppa till "Inrätta" några rader nedan. Men om du redan har gjort detta steg tidigare och nu finns korrigeringar i github som är efterlyst på dina inställningar, måste du åter klona koden. Tyvärr du kan inte uppdatera mapp/innehållet, det måste bort och klonade igen. För att göra så, backup konfigurationer json fil, också säkerhetskopiera SQL säkerhetskopior från DHT22-TemperatureLogger/backuper mapp, sedan bort DHT-TemperatureLogger mappen. För att ta bort mappen kontrollera att är du på den mapp som innehåller DHT22-TemperatureLogger. t.ex. Skriv:
CD/home/pi
och ta bort mappen genom att skriva
sudo rm - r DHT22-TemperatureLogger /
Nu kan du åter klona från GIT och återställa konfigurationer med de åtgärder som anges nedan. Anmärkningsvärt är att om det fanns ändringar också konfigurationer json fil (t.ex. nya konfigurationer), du inte kan kopiera den backas upp gamla filen tillbaka som är.
Ställa in.
Se till att du är i mappen där du vill installera DHT22-TemperatureLogger, standard jag skulle föreslå/home/pi /. Typ i mappen och tryck Ange.
CD/home/pi
Nu klona git arkivet genom att skriva
git klon https://github.com/jjpFin/DHT22-TemperatureLogger
Typ
LS
och tryck enter. Och du bör se att TemperatureLogger är uppackade till nya DHT22-TemperatureLogger mappen (bild bifogas). För att få detta att fungera med Adafruit koden och din MySql databas som bara var skapat, behövs nu vissa konfigurationer. Börja med att ändra inställningar. För att göra detta gå till DHT22-TemperatureLogger mappen genom att skriva enter följande och trycka
CD /home/pi/DHT22-TemperatureLogger
Nu öppna config.json i redigeraren. Skriv in följande och tryck Ange.
sudo nano config.json
Konfigurationsfil öppnar upp i redigeraren (referensbild bifogas).
Starta går igenom konfigurationerna och få dem att matcha dina konfigurationer.
MYSQL: ändra mysql del att matcha vad som skapades i mysql skapande fasen.
Sensorer: Ange namn för din sensorer, e.g. utanför, inuti, allrum, kök och så vidare. Var att sensorn kommer att vara placerad eller hur du vill namnge det i loggen. Observera att om du har endast en sensor fäst sedan du ange namn för sensor1 och kan lämna sensor 2 som är.
TRIGGERLIMITS: Ange triggerlimits. Detta är gränser för att utlösa e-varningar. T.ex. om sensor1lowlimit är 0 och temperaturen på den platsen sjunker under 0, du får varning till e-postadress som du tilldelar senare.
SENSORGPIOS: Sensor gpios. Vad är gpio där din dht22 är ansluten. Återigen, om bara 1 sensor fäst, 2: a kan ignoreras
MAILINFO: detta är för att skicka dessa e-varningar. (Jag skapade nya gmail just för detta ändamål) Obs endast GMAIL stöds
Avsändaradress: det visar mottagare inkorg som avsändare
Mottagaradress: var vill du till skickade dessa varningar
Användarnamn: användarnamn för avsändare email
Lösenord: lösenord för avsändare email
subjectMessage: kan ändras om du vill, detta är föremål för den avsändare email i normala fall
subjectWarning: detta kan också ändras, detta är sended ifall denna varning utlöses (t.ex. temperaturen är under triggerlimit)
SENSORTYPE: hålla detta som 22 med dht22 sensor, detta är här om att jag kommer att senare lägga till stöd för andra sensorer
SENSORAMOUNT: hur många sensorer du har anslutit. 1 eller 2. (mer än 2 inte stöds för närvarande, kanske senare)
SQLBACKUPBATH: SQL dump tagna varje natt kl 5 som backup, så det är den katalog där att dumpa är skrivet. Ändra detta till mappen där du vill att de tippar att skrivas. Varje dump skapas automatiskt till egen datetime-mappen i den här katalogen. Observera att mappen inte är automatiskt säkerhetskopieras till valfri plats. Behöver du kopiera den manuellt då och då.
ADAFRUITPATH: det är den väg där Adafruit_Python_DHT laddas ner från Git i början. Det var /home/pi/Adafruit_Python_DHT/Script AdafruitDHT.py detta är viktigt eftersom det är för att få avläsningar från varje ansluten sensor som standard.
SQLBACKUPDUMP: Detta är för att definiera om och när tas sql dump för säkerhetskopiering.
BackupDumpEnabled: y betyder aktiverad, något annat hjälpmedel det inaktiveras.
BackupHour: Något värde från 0 till 23. Dump tas dagligen, men du kan definiera på vilken tid av inställningen timme
CONNECTIONCHECK: Används för att definiera om anslutning kontrollen görs varje vecka (rapporter varje vecka i genomsnitt från sensorer, detta görs så att du kan vara säker att logger är igång trots varningar inte har skickats nyligen)
ConnectionCheckEnabled: y betyder aktiverad, något annat hjälpmedel det inaktiveras.
ConnectionCheckDay: Alla värden från 0-6 som representerar dagar från måndag till söndag. Dagen för veckan anslutning kontrollen är avsändare.
ConnectionCheckHour: Något värde från 0 till 23. Representerar timme av den valda dagen när kontrollen är avsändare.
När är inställda, tryck på Ctrl + x och spara när snabb med "Y".
Nu testar att avläsningar skrivs till databasen korrekt i DHT22-TemperatureLogger mapp, typ följande och tryck enter.
python DHT22logger.py
Om allt går som planerat, hallon kör python skript, får avläsningar från sensor/s och skriver dem till databasen. Om du inte kan se eventuella fel, allt verkar fungera. Nu kontrollera databasen infogas data. Gå till mysql konsolen genom att skriva följande och trycka Skriv.
MySQL -u logger -p -h localhost
Och logga in med ditt lösenord. I mysql konsolltyp enter följande och tryck.
använda temperaturer.
Och skriv sedan (och tryck enter)
välja * från temperaturedata;
Och kontrollera att avläsningar har sparats till tabell (referensbild)
Om allt verkar vara i ordning och du kan se avläsningarna, avsluta mysql genom att skriva följande och trycka in
avsluta
Observera att mailsendlog tabellen är tom på denna punkt som ingen varning Mail har skicka. Dock om du har endast en sensor fäst, men i configs sensor belopp inställning är mer än 1, kommer du få email som indikerar att sensorn inte kunde läsas. Denna typ av varningar är skicka alltid om de inträffar och loggas inte.