Temperature Bricklet¶
Temperature-Bricklet
Misst Temperaturen von -40 °C bis 125 °C mit einer Genauigkeit von 0.2 °C.
Initialisierung¶
Code um das Bricklet anzusteuern
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# Adressierung
# Diese beiden Zeilen nur 1x pro Programm nutzen:
HOST = "localhost"
PORT = 4223
# UID des Bricklets
temperatureBrickletUID = "xxx" # UID aus dem Brick Viewer
# Import der wichtigen Funktionen
from tinkerforge.ip_connection import IPConnection
from tinkerforge.bricklet_temperature_v2 import BrickletTemperatureV2
# Verbindung herstellen
ipcon = IPConnection()
tempBricklet = BrickletTemperatureV2(temperatureBrickletUID, ipcon)
ipcon.connect(HOST, PORT)
Funktionen im Hauptprogramm¶
Funktionen des Temperature-Bricklet
temperature = tempBricklet.get_temperature()
gibt die aktuelle Temperatur in der Einheit 1/100 °C zurück. Ein Wert von 2210 enspricht also 22.10 °C.
Callback-Funktionen¶
Callback-Funktion registrieren
tempBricklet.register_callback(tempBricklet.CALLBACK_TEMPERATURE, tempCallback)
tempCallback
der Name der gewünschten Funktion ist, welche aufgerufen werden soll. tempCallback
sollte dann so definiert werden: def tempCallback(temperature):
da der jeweilige Temperaturwert übergeben wird.
Callback-Funktion konfigurieren
tempBricklet.set_temperature_callback_configuration(period, value_has_to_change, option, min, max)
Bedeutung der Parameter:
period
: Wert in ms in der die Temperatur überprüft werden soll. Standardwert 0.value_has_to_change
: True oder False. Falls True, dann wird die Callbackfunktion nur aufgerufen, wenn sie die Temperatur geändert hat. Standardwert Falseoption
: "x", "o", "i", "<" oder ">". Standardwert: "x"- "x" Threshold ist abgeschaltet
- "o" Threshold wird ausgelöst, wenn der Wert außerhalb der Min und Max Werte sind
- "i" Threshold wird ausgelöst, wenn der Wert innerhalb der Min und Max Werte sind
- "<" Threshold wird ausgelöst, wenn der Wert kleiner ist wie der Min Wert (Max wird ignoriert)
- ">" Threshold wird ausgelöst, wenn der Wert größer ist wie der Max Wert (Min wird ignoriert)
min
: Temperatur in 1/100 °C. Standardwert: 0max
: Temperatur in 1/100 °C. Standardwert: 0
Anbei ein paar Beispiele für mögliche Konfigurationen:
tempBricklet.set_temperature_callback_configuration(1000, False, "x", 0, 0)
ruft die Callback-Funktion jede Sekunde auf.tempBricklet.set_temperature_callback_configuration(1000, True, "x", 0, 0)
ruft die Callback-Funktion jede Sekunde auf. Aber nur wenn sich die Temperatur zwischenzeitlich geändert hat.tempBricklet.set_temperature_callback_configuration(1000, False, ">", 0, 2600)
überprüft die Temperatur jede Sekunde und ruft die Callback-Funktion auf, falls die Temperatur von 26° überschritten wird.
Beispiel für tempCallback
def tempCallback(temperature):
print("Temperature: " + str(temperature/100.0) + " °C")