Skip to content
This repository was archived by the owner on Dec 19, 2019. It is now read-only.

Sensoren

Oliver edited this page Aug 21, 2015 · 15 revisions

Folgende Sensoren werden durch das SHC unterstützt:

  • 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}

Grundlegendes zu Sensoren/Sensorpunkten im SHC

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.

Sensoren am Raspberry Pi

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.

DS18x20

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.

DHT11/22 AM2302

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.

BMP085/180

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.