WeatherNode - SchwapTobi/WeatherNet GitHub Wiki
WeatherNode- Automatisierte Wettermessung
Automatisierte Erfassung der aktuellen Wetterlage für das Projekt WeatherNet
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:
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 |