Upload files to ''
This commit is contained in:
parent
89d4df5524
commit
3ab2ae2ddc
104
README.md
104
README.md
@ -1,74 +1,30 @@
|
|||||||
# Wetterdaten mit dem Raspberry Pi messen
|
# Wetterstation
|
||||||
|
Aufbau einer Wetterstation mit Raspberry Pi und mehreren Sensoren - Programmiersprache: Python
|
||||||
**Ziel:** Mit zwei Sensoren und einem Raspberry Pi soll die Temperatur,
|
|
||||||
Luftdruck und Luftfeuchtigkeit an zwei Stellen (outdoor/indoor9 gemessen werden.
|
## Bauteile:
|
||||||
|
|
||||||
## Hardware
|
Raspberry Pi 3 (funktioniert auch mit Version 2)
|
||||||
|
BME280 - Sensor zur Erfassung von Temperatur, Druck, Luftfeuchtigkeit (Bezug: Watterott.com)
|
||||||
- Raspberry Pi 3 (geht auch mit älteren Modellen + WLAN-Modul)
|
BMP280 - Sensor zur Erfassung von Temperatur, Druck (Bezugs: Adafruit)
|
||||||
- BOSCH BME280 (Bezugsquelle: watterott.com)
|
|
||||||
- Adafruit BMP280 (Versuchsweise, ohne Luftfeuchtigkeit)
|
Die Sensoren gibt es auch sehr preisgünstig über ebay aus China
|
||||||
|
|
||||||

|
## Messung
|
||||||
|
|
||||||
## Anschluss der Sensoren
|
Die Wetterdaten werden alle 15 Minuten gemessen und in einer externen MySQL-Datenbank gespeichert. Ein Webserver liest diese Daten aus und stellt die Daten grafisch dar.
|
||||||
|
|
||||||
```
|
Beispiel: https://gussmann-berlin.de/wetter/wetterhome.php
|
||||||
Sensor Raspberry Pi
|
|
||||||
GND ------- GND
|
|
||||||
NC -------
|

|
||||||
VCC ------- +3.3V
|
|
||||||
SCL/SCK ------- SCL
|
## Ergänzungen
|
||||||
SDA/SDI ------- SDA
|
|
||||||
SD0 ------- *
|
|
||||||
CS -------
|
1. Über einen kleinen OLED-Screen sollen auf Tastendruck die aktuellen Werte
|
||||||
```
|
angezeigt werden.
|
||||||
|
|
||||||
Mit SD0 kann die I2C-Adresse geändert werden. Standardmäißg besitzt der Chip
|
2. Ergänzung um einen Feinstaubsensor
|
||||||
die Adresse 0x77. Wird SD0 auf HIGH gelegt, so ändert sich die Adresse zu 0x76.
|
|
||||||
|
3. Ergänzung um den günstigeren Chip BMP280 mit angepasster Bibliothek
|
||||||
## Software
|
|
||||||
|
|
||||||
Über Adafruit kann eine Bibliothek zu diesem Chip installiert werden. Diese
|
|
||||||
Bibliothek setzt die Installation von Adafruit_GPIO voraus. Weitere
|
|
||||||
Informationen über https://github.com/adafruit.
|
|
||||||
|
|
||||||
Mit dieser Bibliothek können die Messdaten einfach eingelesen werden:
|
|
||||||
|
|
||||||
```
|
|
||||||
#!/usr/bin/python
|
|
||||||
# -*- coding: utf-8 -*-
|
|
||||||
|
|
||||||
from Adafruit_BME280 import *
|
|
||||||
import time
|
|
||||||
import urllib
|
|
||||||
|
|
||||||
sensor = BME280(mode=BME280_OSAMPLE_8)
|
|
||||||
|
|
||||||
degrees = sensor.read_temperature()
|
|
||||||
pascals = sensor.read_pressure()
|
|
||||||
hectopascals = pascals / 100
|
|
||||||
humidity = sensor.read_humidity()
|
|
||||||
|
|
||||||
print ("Temperatur (in C) = {0:0.3f} C".format(degrees))
|
|
||||||
print ("Luftdruck (in hPa) = {0:0.2f} hPa".format(hectopascals))
|
|
||||||
print ("Luftfeuchtigkeit = {0:0.2f} %".format(humidity))
|
|
||||||
```
|
|
||||||
|
|
||||||
## Speicherung der Messdaten auf (externer) Datenbank
|
|
||||||
|
|
||||||
Die gemessenen Werten sollen in einer Datenbank gespeichert werden, die sich
|
|
||||||
irgendwo auf einem Server befindet. Dazu wird auf diesem Server eine
|
|
||||||
upload-php-Seite angelegt, über die mit angehängten Parametern die Speicherung
|
|
||||||
erfolgt (näheres unter mysql).
|
|
||||||
|
|
||||||
Ergänzungen des Pythonprogramms:
|
|
||||||
|
|
||||||
```
|
|
||||||
import urllib
|
|
||||||
|
|
||||||
url = "http://<server>/upload.php?m=outdoor&t=" +str(round(degrees, 2)) + "&p=" +str(round(hectopascals, 2)) + "&f=" + str(round(humidity, 2))
|
|
||||||
urllib.urlopen(url)
|
|
||||||
```
|
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user