Nach langer Zeit komme ich endlich mal wieder dazu mich mit meinen Hardware-Projekten weiter zu befassen. Folgendes Projekt wird weitergeführt
Neues Hardware-Projekt – 1. Temperatur-Überwachung
Nächster Schritt: Auslesen der Sensoren über die Shell
1. Erstellen einer Sensoren-„Datenbank“ (CSV),
um die Sensoren zuordnen zu können
ID;Name 28-0416362e65ff;Server Abluft Oben 28-0416370dc2ff;Server Abluft NT 28-00043ca062ff;NAS-Fach 28-0115c263bcff;Raumtemperatur1
2. Auslesen eines Sensors
Der Pfad zum Sensor-device wird per Parameter übergeben.
#! /bin/bash # temp.sh # Temperatur auslesen tempfile=`cat $1/w1_slave` #Formatieren temperatur=`echo "scale=2; "\`echo ${tempfile##*=}\`" / 1000" | bc` sensor_id=`echo ${1##*devices/}` sensor_db_zeile=`cat sensoren.db | grep $sensor_id` sensor_name=`echo ${sensor_db_zeile##*;}` #Ausgabe echo $sensor_name":" $temperatur "°C"
Bisher wird nur die Temperatur ausgegeben.
Das Ganze geht wahrscheinlich auch eleganter/kürzer, aber dafür arbeite ich einfach zu wenig mit Shell-Scripten.
./temp.sh /sys/bus/w1/devices/28-0416362e65ff Server Abluft Oben: 30.43 °C
3. Alle Sensoren durchlaufen
kurze Schleife, die alle Geräte im w1-Verzeichnis durchläuft, die mit „28-*“ beginnen.
#! /bin/bash # alltemp.sh for f in /sys/bus/w1/devices/28-* do ./temp.sh $f done
./alltemp.sh NAS-Fach: 34.50 °C Raumtemperatur1: 25.93 °C Server Abluft Oben: 30.56 °C Server Abluft NT: 29.93 °C
4. Nächster Schritt (coming soon…):
Schreiben der Werte in eine SQL-Datenbank, dafür wahrscheinlich Erstellen eines PHP scriptes, dass „temp.sh“ ersetzt.