Nachdem der Sensor DHT22 angeschlossen wurde. Die notwendigen Programme installiert wurden müssen für die automatische Erfassung noch das Phyton Beispiel Script angepasst werden und ein Shellscript zur Ausführung via CRON erstellt werden. Dazu kopiert man zunächst die Datei AdafruitDHT.py. Im folgenden Beispiel nenne ich die kopierte Datei DHT22.py. Sie wird nur an einer kleinen Stelle verändert. Und zwar möchte ich die Ausgabe nur Kommagetrennt und kommentiere die umfangreichere Zeile aus und erstze sie durch „print(‚{0:0.1f},{1:0.1f}‘.format(temperature, humidity))

DHT22.py

if humidity is not None and temperature is not None:
        # print('Temp={0:0.1f}*  Humidity={1:0.1f}%'.format(temperature, humidity))
        print('{0:0.1f},{1:0.1f}'.format(temperature, humidity))
else:
    print('Failed to get reading. Try again!')
    sys.exit(1)

Im nächsten Schritt erstelle ich ein Shellscript, was ich später dann stündlich via Cron aufrufe. Ziel hierbei ist, eine CSV Datei fortzuschreiben, die ich wiederum per PHP auslesen und weiterverarbeiten kann. Denkbar sind natürlich auch Szenarien, wie das schreiben in eine MySQL Datenbank. In diesem Fall reicht aber auch zunächst eine normale Textdatei. Das Shellscript nenne ich DHT22.sh. Die Datei ruft dann day Python Script auf und stellt Datum und Uhrzeit voran. Umgeleitet wird die Ausgabe in die Datei DHT22.log. Diese Datei wird dann die Grundlage für meine kleine PHP Anwendung, die via ChartJS dann die Daten ausgibt.
DHT22.sh

#!/bin/bash
datum=`date +%Y-%m-%d`
uhrzeit=`date +%H:%M`
/bin/echo -n "$datum,$uhrzeit," >> /var/www/html/DHT22.log
/usr/bin/python /shell/DHT22.py 22 12 >> /var/www/html/DHT22.log

Die Ausgaben in der Datei DHT22.log werden dann wie nachfolgend fortgeschrieben.

DATUM, UHRZEIT, GRAD, LUFTFEUCHTIGKEIT

2019-11-18,18:45,19.3,46.6
2019-11-18,22:45,18.9,46.6
2019-11-19,20:45,19.0,47.0
2019-11-19,21:45,19.1,46.1
2019-11-19,22:45,19.1,46.2
2019-11-19,23:45,19.1,46.6
2019-11-20,00:45,19.1,46.5
2019-11-20,01:45,19.0,46.3
2019-11-20,02:45,19.1,46.4
2019-11-20,03:45,19.0,46.5
2019-11-20,04:45,19.0,46.4
2019-11-20,05:45,19.0,46.5
2019-11-20,06:45,19.0,46.7
2019-11-20,07:45,19.0,47.1
2019-11-20,08:45,19.1,47.9
2019-11-20,09:45,19.0,47.3
2019-11-20,10:45,19.1,47.1
2019-11-20,11:45,19.0,47.0
2019-11-20,12:45,19.1,46.2
2019-11-20,13:45,19.0,45.7
2019-11-20,14:45,18.9,45.8
2019-11-20,15:45,18.9,46.3

Mit diesen Daten lässt sich dann sehr gut weiterarbeiten. Im Shellscript sieht man, dass die Datei auch gleich in den Webroot kopiert wird. Dadurch kann ich auch unmittelbar darauf zugreifen.