WSReadLIB (Weather Sensor Read library) für den Raspberry Pi
WSReadLIB ist eine kleine in C geschriebene Library um die Sensoren AM2302 (Temperatur und Luftfeuchte) und BMP085 (Temperatur und Luftdruck) auslesen zu können.
Ein Webinterface ist derzeit in der Entwicklung
Die Library benötigt die bcm2835 Library (http://www.airspayce.com/mikem/bcm2835/).
Installation:
- make all
- make install
Die Header Files werden unter /usr/local/include und die Library unter /usr/local/lib installiert. Zusätzlich wird ein kleines Testprogram "wsread" compiliert. Das Beispielprogramm liest den AM2302 aus, sofern er an Pin 1 angeschlossen ist und den bmp085.
Benutzung:
Sensor AM2302:
Um diesen Sensor benutzen zu können muss das HeaderFile am2302.h includiert werden.
bool readAM2302 (int pin, float *temp, float *hum)
Gibt die Temperatur und die relative Luftfeuchte zurück. Der GPIO pin an dem der Sensor angeschlossen ist, wird mit pin übergeben (im wiringPi numbering scheme http://wiringpi.com/pins/).
Liefert true zurück, wenn der Sensor erfolgreich ausgelesen wurde.
Sensor BMP085:
Um diesen Sensor benutzen zu können muss das HeaderFile bmp085.h includiert werden.
Gibt die Temperatur in Celsius und den Luftdruck in hPa zurück. Der Parameter oss ist das Oversampling Setting:
- BMP085_ULTRALOWPOWER
- BMP085_STANDARD
- BMP085_HIGH_RESOLUTION
- BMP085_ULTRA_HIGH_RESOLUTION
Liefert true zurück, wenn der Sensor erfolgreich ausgelesen wurde.
float convertToSeaLevel (float pressure, float alt)
Konvertiert den lokalen Luftdruck in den Luftdruck auf Seehöhe. Dazu muss die Höhe des Sensors über normal Null angegeben werden.