Zum Inhalt

Temperature Bricklet

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)
registiert die Callback-Funktion, wobei 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 False
  • option: "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: 0
  • max: 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")