Raspberry Pi Wetterstation

6 Schritt:Schritt 1: Supplies Schritt 2: Bauen Sie die Schaltung Schritt 3: Erstellen Sie das Gehäuse Schritt 4: Programmieren der Feuchtesensor Schritt 5: Code Schritt 6: Test

Raspberry Pi Wetterstation

Erstellen Sie eine persönliche Wetterstation mit Raspberry Pi, dass E-Mails Sie die Temperatur, Luftfeuchtigkeit und Niederschlag.
* In ein paar Wochen werde ich das Hinzufügen einer Luftdrucksensor zur Chance rain.Step 1 berechnen: Supplies



Raspberry Pi Wetterstation

Du wirst brauchen:
Raspberry Pi b und Stromversorgung
Ethernet-Kabel
Breadboard Kabel
Brotbrett
Feuchtigkeits- und Temperaturmodul (Ich bin mit dem DHT11 Modul)
Regen Manometer (nicht abgebildet)
Gehäuse für Ihre Wetterstation (nicht abgebildet)
Heißklebepistole mit Klebstoff
Bohren Sie mit verschiedenen bitsStep 2: Bauen Sie die Schaltung

Raspberry Pi Wetterstation

Schließen Sie das Stromzapfen des Feuchtesensors und die Kraft für den regen Messer an den 3,3 V-Pin des Raspberry Pi.
Verbinden Sie den Erdungsstift des Feuchtesensors auf dem Raspberry Pi gemahlen.
Schließen Sie die Datenstift der Feuchtesensor und Datenleitungen von der regen Messgerät zur GPIO-Pins (Ich bin mit GPIO-Pins 7,13,15,18 und 16) .Schritt 3: Erstellen Sie das Gehäuse

Raspberry Pi Wetterstation

Raspberry Pi Wetterstation

Die Bohrungen in der Lehre an 1in, 1.5in, 2in, 2,5 Zoll, und an der Unterseite.
Bohrungen im Gehäuse für das Ethernet-Kabel, Netzkabel und Datenleitungen für den regen Manometer und Feuchte-Sensor.
Kleben Sie den regen Manometer an der Rückseite des Gehäuses.
Führen Sie die Adern von den Transistoren und Strom aus dem Gehäuse heraus und in den regen Manometer, der Dichtung die Löcher mit Heißkleber.
Setzen Sie den Raspberry Pi und Schaltung im Inneren des Gehäuses und schließen Sie das Ethernet, Macht und Feuchtesensor.
Schalten Sie den Raspberry Pi und verbinden Sie es über Ethernet cable.Step zum Internet 4: Programmierung der Feuchtesensor


Bevor wir beginnen Programmierung müssen Sie die Python-Bibliotheken herunterzuladen, um den Sensor zu verwenden. Verwenden Sie den Befehl git-clone https: //github.com/adafruit/Adafruit_Python_DHT.g ... dann wechseln Sie in diesen Ordner, indem Sie cd Adafruit_Python_DHT und sudo apt-get install build-essential python-dev zu 2 wichtigsten Module installieren zur Programmierung des Sensors. während in der Adafruit_Python_DHT Ordner, sudo python setup.py installieren, um die Bibliotheken in Python installieren. Die Bibliotheken sind nun installiert.
Wir werden ein Demo-Programm, um den Sensor zu testen.
Import Adafruit_DHT als DHT
h, t = dht.read_retry (dht.DHT11, 16)
print 'Luftfeuchtigkeit = {1: 0.1f}% Temp = {0: 0.1f} * C'.format (h, t)
führen Sie dieses Programm, um sicherzustellen, dass der Sensor funktioniert. Wenn es nicht funktioniert, stellen Sie sicher, dass alles, was in der rechten gesteckt und haben alle in right.Step 5 eingegeben Code: Code


Importzeit
Import RPi.GPIO als GPIO
Import Adafruit_DHT als DHT
Import smtplib
import os
GPIO.setmode (GPIO.BOARD)
GPIO.setup (18, GPIO.IN)
GPIO.setup (13, GPIO.IN)
GPIO.setup (15, GPIO.IN)
GPIO.setup (16, GPIO.IN)
timeset_HH = Eingang ("Geben Sie die Stunde Sie gerne per e-Mail an: ') #Enter Zeit per e-Mail an in 24-Stunden-
timeset_MM = Eingang ("Geben Sie die Minute, die Sie möchten auf gemailt werden: ')
mail = smtplib.SMTP ('smtp.gmail.com', 587) #SET und anmelden, um eine E-Mail
mail.ehlo ()
mail.starttls ()
mail.login ("Ihre E-Mail", "vergessen")
h, t = dht.read_retry (dht.DHT11, 4)
humid_temp = 'Temp = {0: 0.1f} * C Luftfeuchtigkeit = {1: 0.1f}%. Format (t, h) # Lesen der Sensor
while True: #Dies Schleife wartet, bis die eingestellte Zeit zu senden und E-Mail-
Jetzt time.localtime = ()
wenn now.tm_hour == int (timeset_HH) und now.tm_min == int (timeset_MM):
Unterbrechung
sonst:
bestehen
timeout = 60 - now.tm_sec
if (GPIO.input (16)): # Lesen Sensor und dann E-Mail-Lesungen
mail.sendmail ("Ihre E-Mail", "Ihre E-Mail", "2in der regen '+ humid_temp)
elif (GPIO.input (18)):
mail.sendmail ("Ihre E-Mail", "Ihre E-Mail", "1.5in der regen '+ humid_temp)
elif (GPIO.input (13)):
mail.sendmail ("Ihre E-Mail", "Ihre E-Mail", "1in ofrain '+ humid_temp)
elif (GPIO.input (15)):
mail.sendmail ("Ihre E-Mail", "Ihre E-Mail", ". 5in der regen '+ humid_temp)
sonst:
mail.sendmail ("Ihre E-Mail", "Ihre E-Mail", "0in ofrain '+ humid_temp)
mail.close ()
GPIO.cleanup () Schritt 6: Test


Richten Sie die Wetterstation und führen Sie das Programm. Stellen Sie die Zeit, um per E-Mail, wenn Sie dazu aufgefordert (Set Zeit in 24-Stunden-Zeit). Zum festgelegten Zeitpunkt, sollten Sie eine E-Mail erhalten. Wenn nicht, stellen Sie sicher, dass Sie alle E-Mail-Informationen eingegeben