44 lines
1.6 KiB
Python
44 lines
1.6 KiB
Python
#!/usr/bin/env python
|
|
# -*- coding: utf-8 -*-
|
|
|
|
HOST = "localhost"
|
|
PORT = 4223
|
|
UID = "c8w" # Change to your UID
|
|
|
|
from tinkerforge.ip_connection import IPConnection
|
|
from tinkerforge.bricklet_temperature_ir import TemperatureIR
|
|
obj=0.0
|
|
amb=0.0
|
|
# Callback functions for object/ambient temperature callbacks
|
|
# (parameters have unit °C/10)
|
|
def cb_object(temperature):
|
|
amb=tir.get_ambient_temperature()/10.0
|
|
obj=temperature/10.0
|
|
print('Object Temperature: ' + str(temperature/10.0) + ' °C '+str(obj-amb))
|
|
print('Ambient Temperature: ' + str(amb) + ' °C '+str(obj-amb))
|
|
|
|
def cb_ambient(temperature):
|
|
amb=temperature/10.0
|
|
obj=tir.get_object_temperature()/10.0
|
|
print('Ambient Temperature: ' + str(temperature/10.0) + ' °C '+str(obj-amb))
|
|
|
|
if __name__ == "__main__":
|
|
ipcon = IPConnection() # Create IP connection
|
|
tir = TemperatureIR(UID, ipcon) # Create device object
|
|
|
|
ipcon.connect(HOST, PORT) # Connect to brickd
|
|
# Don't use device before ipcon is connected
|
|
|
|
# Set Period for temperature callbacks to 1s (1000ms)
|
|
# Note: The callbacks are only called every second if the
|
|
# value has changed since the last call!
|
|
tir.set_object_temperature_callback_period(1000)
|
|
tir.set_ambient_temperature_callback_period(1000)
|
|
|
|
# Register object temperature callback to function cb_object
|
|
tir.register_callback(tir.CALLBACK_OBJECT_TEMPERATURE, cb_object)
|
|
# Register ambient temperature callback to function cb_ambient
|
|
#tir.register_callback(tir.CALLBACK_AMBIENT_TEMPERATURE, cb_ambient)
|
|
|
|
raw_input('Press key to exit\n') # Use input() in Python 3
|
|
ipcon.disconnect() |