-
Notifications
You must be signed in to change notification settings - Fork 18
Sensoren
- DS18B20, DS18S20, DS1820 [Temperatur] {Raspberry Pi, Arduino}
- DHT 11, DHT 22, AM2302 [Temperatur, Luftfeuchte] {Raspberry Pi, Arduino}
- BMP 085, BMP 180 [Temperatur, Lufdruck, Standorthöhe] {Raspberry Pi, Arduino}
- Hygrometer (Analog) [Feuchtigkeit] {Arduino}
- Rain Sensor (Analog) [Feuchtigkeit] {Arduino}
- LDR (Analog) [Lichtstärke] {Arduino}
Alle Sensoren werden einem Sensorpunkt zugewiesen. Zum Beispiel wird ein Raspberry Pi mit einem DS18B20 Sensor und einem DHT11 Sensor verbundden, ist der Raspberry Pi der Sensorpunkt und muss eine eindeutige Sensorpunkt ID bekommen. Die Sensoren bekommen jeweils eine eindeutige Sensor ID. Sensorpunkte die mit Batterie betrieben werden können an das SHC eine Batteriespannung melden, diese wird dann in der Sensorpunktverwaltung mit angezeigt, sowie die Zeit die seit dem letzten Kontakt vergangen ist. Die Sensorpunkt ID und auch die Sensor ID muss zwichen 1 und 998 liegen und muss Systemweit eindeutig sein. Zwei verschiedene Sensoren mit der gleichen ID würden sich überschreiben.
Sollen Sensordaten vom Raspberry Pi verwendet werden muss zuerst der Sensor Sender aktiviert werden, dazu muss die Konfiguration aufgerufen werden bei der auch der Dienst aktiviert werden kann.
/var/www/shc $ php index.php app=shc -st -c
Im Folgenden werden einige Konfigurationsdaten abgefragt. Ist das Autostartscript bereits aktiviert, startet der Dienst auch mit dem nächsten Neustart des Raspberry Pi automatisch. Wichitig ist das die Sensor Punkt ID eindeutig im gesamten Netzwerk ist, sonst können sich verschiedene Sensordaten überschreiben.
Vor Kernel 3.18 (Raspbian vor Version vom Februar 2015)
Das auslesen von DS18x20 Sensoren wird direkt vom Kernel untersützt. Es müssen lediglich die Kernel Module aktiviert werden. Dazu muss in die Datei /etc/modules eingetragen werden. Mit
sudo nano /etc/modules
wird der Editor geöffnet, in der Datei muss dann folgendes eingetragen werden:
w1-gpio
w1-therm
Nach dem speichern und einem Neustart des Raspberry Pi werden die Sensoren vom Sensor Sender Dienst automatisch erkannt und an den Sensor Empfänger gesendet. Die neu erkannten Sensoren werden dann unter raumlose Elemente in der Verwaltung der schaltbaren Elemente angezeigt.
Nach Kernel 3.18 (Raspbian vor Version vom Februar 2015)
Das auslesen von DS18x20 Sensoren wird direkt vom Kernel untersützt. Es müssen lediglich die Kernel Module aktiviert werden. Dazu muss in die Datei /boot/config.txt eingetragen werden. Mit
sudo nano /boot/config.txt
wird der Editor geöffnet, in der Datei muss dann folgendes eingetragen werden:
dtoverlay=w1-gpio
(einfach in eine leere Zeile am Ende der Datei schreiben).
Nach dem speichern und einem Neustart des Raspberry Pi werden die Sensoren vom Sensor Sender Dienst automatisch erkannt und an den Sensor Empfänger gesendet. Die neu erkannten Sensoren werden dann unter raumlose Elemente in der Verwaltung der schaltbaren Elemente angezeigt.
Das auslesen von DHT Sensoren wird nicht direkt vom Raspberry Pi unterstützt und erfordert zusätzliche Treiber. Das SHC verwendet die Adafruit DHT Python Libary die wie folgt installiert wird:
sudo apt-get install build-essential python-dev
~ $ git clone https://github.com/adafruit/Adafruit_Python_DHT
~ $ cd Adafruit_Python_DHT
~/Adafruit_Python_DHT $ sudo python setup.py install
Danach muss das Script zum auslesen von DHT Sensoren noch in der sudoers Datei eingetragen werden. Das ist im Artikel sudoers Datei anpassen beschrieben.
Nach der Installation müssen die einzelnen Sensoren noch am Sensor sender angemeldet werden dazu muss folgender Befehl aufgerufen werden:
/var/www/shc $ php index.php app=shc -st -addDHT <id (0-999)> <typ (11|22|2302)> <pin (BCMP Pin Nummer)>
Dannach werden automatisch die ausgelesenen Daten der angemeldeten DHT Sensoren an den Sensor Empfänger gesetdet.
Das auslesen von BMP Sensoren wird nicht direkt vom Raspberry Pi unterstützt und erfordert zusätzliche Treiber. Das SHC verwendet die Adafruit BMPPython Libary die wie folgt installiert wird:
~ $ git clone https://github.com/adafruit/Adafruit_Python_BMP
~ $ cd Adafruit_Python_BMP
~/Adafruit_Python_BMP $ sudo python setup.py install
Danach muss das Script zum auslesen von BMP Sensoren noch in der sudoers Datei eingetragen werden. Das ist im Artikel sudoers Datei anpassen beschrieben.
Nach der Installation müssen die einzelnen Sensoren noch am Sensor sender angemeldet werden dazu muss folgender Befehl aufgerufen werden:
/var/www/shc $ php index.php app=shc -st -enableBMP <id (0-999)>
Dannach werden automatisch die ausgelesenen Daten der angemeldeten DHT Sensoren an den Sensor Empfänger gesetdet. Es kann nur ein BMP Sensor pro Raspberry Pi verwendet werden.