WeatherNode - SchwapTobi/WeatherNet GitHub Wiki

WeatherNode- Automatisierte Wettermessung

Automatisierte Erfassung der aktuellen Wetterlage für das Projekt WeatherNet

alt text

Als Wetterstation dient in unserem Prototyp ein Raspberry Pi Zero w mit folgendne Sensoren:

Modul Funktion Doku
BMP180 Barometric Pressure / Temperature / Altitude Sensor Datasheet
DHT22 Humidity / Temperature Sensor Datasheet
Photoresistor Luminance measurement Datasheet
... ... ...

Diese werden auch vorerst für den Betrieb im WeatherNet vorausgestzt. Mögliche andere Sensoren werden wenn Zeit bleibt ergänzt.

Ziel:

Das Ziel ist die Messung und das Logging der erhobenen Daten um den Prototyp für ein Netzwerk zu bilden, welches dezentral an verschiedenen Orten Wetter & Umweltdaten misst. Die Daten sollen in beliebigen Zeitintervallen aufgezeichnet werden können und an unseren Backend-Server geschickt werden um sie dann in der App WeatherNet darzustellen. Dazu wird eine Internetverbindung und konstante Stromversorgung vorausgesetzt. Im Laufe unseres Projekts werden wir auch den Betrieb mit Akku-Modulen (und wenn Zeit bleibt auch mit Solar-Panels) testen um die Station eigenständig z.B im Garten mit WIFI-Empfang betreiben zu können.

Schaltungsentwurf:

Zu Beginn haben wir die Datenblätter zu den jeweiligen Sensoren nach Informationen zu Pinbelegung und Spannungen durchsucht. So hatten wir eine grobe Vorstellung, welche GPIO-Pins wir benutzen sollten. Mit demo-Skripts haben wir vor dem Zusammenstecken auf dem Steckbrett jeden Sensor auf Funktion überprüft. Dann wurden gemeinsam genutzte Spannungsquellen zusammengelegt und die Schaltung optimiert.

BMP180:

Der Sensor BMP180 wird für die Messung des Luftdrucks, der Temperatur und Höhenlage verwendet. Der Sensor hat 4 Pins: Vin und Groud, sowie die zwei Datapins SCL und SDA.

DHT22:

Beim Sensor DHT22(verbesserte Version des DHT11) haben wir nur 3 Pins, die für uns relevant sind: Vin, Ground und Data, wobei Data und Vin mittels 10Kohm Pull-Up resistor verbunden sind.

Weitere Komponenten:

Ein Photowiderstand wird zum Messen der allgemeinen Umgebungshelligkeit benutzt. Dazu ist dieser zwischen dem 3V pin und einem 100µF Kondensator geschaltet. So messen wir, wie lange es dauert, bis der Widerstand komplett aufgeladen ist, um so auf den Widerstand des Photoresistors schließen zu können. Wichtige Schwellwerte wurden dann experimentell z.B mit Taschenlampen und Test am Fensterbrett an sehr sonnigen Tagen ermittelt. Die StatusLED soll nur anzeigen wann Messungen durchgeführt werden, diese kann ganz einfach durch das Entfernen des Jumper-Headers deaktiviert werden.

Resultierender Schaltplan:

Schaltplan

Pinbelegung:

Sensor Raspberry Pin Board Pin Info
Lichtsensor
1x 3V Pin 1 26 3V für Lichtsensor
1x GND Pin 6 25 allgemeiner GND
1x DATA Pin 11 24
DHT22
1x 3V Pin 17 23 allgemeine 3V
1x GND Pin 6 25 allgemeiner GND
1x DATA Pin 7 19
BMP180
1x 3V Pin 17 23 allgemeine 3V
1x GND Pin 6 25 allgemeiner GND
2x DATA Pin 5, Pin 3 20, 21
Status LED Pin 13 22

Case design:

Links: