Skip to content

julianbruegger/RasPi_Temp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RasPi Temp

Auftrag

Ich sollte für den ICT-BZ Serverraum eine Temperatur/Feuchtigkeits anzeige erstellen. Dies soll in einem Graphen visualisert werden.

Vorgehen

DS18B20

Als erstes habe ich mit einem DS18B20 Sensor gearbeitet. Das auslesen der Daten funktioniert dort über eine Shell-Schnitstelle.

Bild eines DS18B20

Die Funktionen dieses Sensores sind aber recht eingeschränkt. Das genaue Vorgehen für diesen Sensor ist HIER Dokumentiert.

DHT11

Da aber der Wunsch aufkam auch die Luftfeuchtigkeit aufzuzeigen habe ich von Joe einen DHT11 Sensor ausgeliehen. Dieser kann sowohl die Luftfeuchtigkeit als auch die Temperatur messen.

Bild eines DS18B20

Über ein Pythonmodul Adafruit_DHT kann ein solcher sensor ganz eifach ausgelesen werden.

Über nur 4 Zeilen Code kann der Sensor ganz einfach ausgelesen und geprintet werden.

# Definieren des Sensortyps
# Adafruit_DHT.DHT11
# Adafruit_DHT.DHT22
# Adafruit_DHT.AM2302
sensor = Adafruit_DHT.DHT11
    #Definieren des Verwendetens GPIO-Pin's
    pin = 21
    # Hier definiere ich aus was sich die "humidity" und die "temperature" zusammensetzt. 
    humidity, temperature = Adafruit_DHT.read_retry(sensor, pin)
    # Ausgeben der Daten im richtigen Format
    print('{0:03.1f} {1:03.1f}'.format(temperature, humidity))

Über ein weiteres Pythonmodul namens mysql.connector kann wie der Name schon sagt auf eine MySQL Datenbank zugegriffen werden.

Auch dies ist ganz simple. Das ganze ist auf der Website von w3schools.com perfekt dokumentiert.

# Hier definiere ich die Zugangsdaten der Datenbank
mydb = mysql.connector.connect(
    host="IP-Des Hostes", 
    user="DB-Username",
    password="DB-Password",
    database="database-name")
mycursor = mydb.cursor()
#Inser values into db
        sql = "INSERT INTO sensor_1 (time, humidity, temperature) VALUES (now(), %s,%s)"
        val = (humidity, temperature)
        mycursor.execute(sql, val)
        mydb.commit()

Beim längeren schreiben in die Datenbank ist aufgefallen das die Feuchtigkeit immer auf ca. dem selben wert beleibt. Anfäglich habe ich mir nichts dabe gedacht.

Time humidity temperature
2020-01-22 15:01:45 5.00 23.00
2020-01-22 15:03:50 5.00 23.00
2020-01-22 15:03:55 5.00 23.00

Nach dem ich Rainer darauf angesprochen habe, hat er mich darauf aufmerksam gemacht, das der Sensor erst ab 25℃ korrekt funktioniert.

Dies hätte ich dem Datenblatt entnehmen können, dies habe ich aber nicht durchgelesen.

Rainer hat mit mir zusammen dann ein Experiment durchgeführt, in welchem wir dann eine Tasse heisses Wasser neben den Sensor gestellt haben und einen Deckel Darüber gelegt haben. Der Anststieg der Temperatur und der Feuchtigkeit konnte dann perfekt gesehen werden.

Dort habe ich auch gelesen das es einen weiteren Sensor DHT22 gibt. Die Sensoren sind gleich aufgebaut. Der DHT22 ist einfach viel genauer und hat eine grössere Betriebstemparatur.

Hier in einem Screenshot des Datenblattes kann die Betriebstemperatur und die Genauigkit ausgelesen weden.

Datasheet

Hier is ersichtlich das die optimale Betriebstemperatur zwischen 25℃ und 50℃ liegt. Die minimale Luftfeuchtigkeit welche gelesen werden kann liegt bei 20% Luftfeuchtigkeit. Unter 25℃ können sogar nur mehr als 30% Luftfeuchtigkeit gmessen werden.

Bei der besseren Version, DHT22, sehen die Daten anderst aus. Gemäs Datenblatt kann der DHT22 auch im minusbereich Temperaturen messen. Auch ist die Genauigkeit um einiges höher.

Vergleich

Parameters DHT11 DHT22
Minimum Temperatur 0℃ -40℃
Maximum Temperatur 50℃ ~80℃
Minimum Feuchtigkeit 20% RH 0% RH
Maximum Feuchtigkeit 90% RH 100% RH
Genauigkeit Temp ±2℃ ±0.5℃
Genauigkeit Feuchtigkeit ±5% RH ±2% RH
Empfindlichkeit Feuchtigkeit 1% RH 0.1% RH
Empfindlichkeit Temperatur 1℃ 0.1℃

In der obigen Grafik ist der Unterschierd der beiden Sensoren nocheinmal dargestellt.

About

Temperature_Sensor Raspberry Pi Webui

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published