<?php

require_once 'Tinkerforge/IPConnection.php';
require_once 'Tinkerforge/BrickletThermocouple.php';
use Tinkerforge\IPConnection;
use Tinkerforge\BrickletThermocouple;
const HOST = 'localhost';
const PORT = 4223;
const UID = 'XYZ';
// Change XYZ to the UID of your Thermocouple Bricklet
$ipcon = new IPConnection();
// Create IP connection
$t = new BrickletThermocouple(UID, $ipcon);
// Create device object
$ipcon->connect(HOST, PORT);
// Connect to brickd
// Don't use device before ipcon is connected
// Get current temperature (unit is °C/100)
$temperature = $t->getTemperature();
echo "Temperature: " . $temperature / 100.0 . " °C\n";
echo "Press key to exit\n";
fgetc(fopen('php://stdin', 'r'));
$ipcon->disconnect();
<?php

require_once 'Tinkerforge/IPConnection.php';
require_once 'Tinkerforge/BrickletThermocouple.php';
use Tinkerforge\IPConnection;
use Tinkerforge\BrickletThermocouple;
const HOST = 'localhost';
const PORT = 4223;
const UID = 'XYZ';
// Change XYZ to the UID of your Thermocouple Bricklet
// Callback function for temperature reached callback (parameter has unit °C/100)
function cb_temperatureReached($temperature)
{
    echo "Temperature: " . $temperature / 100.0 . " °C\n";
}
$ipcon = new IPConnection();
// Create IP connection
$t = new BrickletThermocouple(UID, $ipcon);
// Create device object
$ipcon->connect(HOST, PORT);
// Connect to brickd
// Don't use device before ipcon is connected
// Get threshold callbacks with a debounce time of 10 seconds (10000ms)
$t->setDebouncePeriod(10000);
// Register temperature reached callback to function cb_temperatureReached
$t->registerCallback(BrickletThermocouple::CALLBACK_TEMPERATURE_REACHED, 'cb_temperatureReached');
// Configure threshold for temperature "greater than 30 °C" (unit is °C/100)
$t->setTemperatureCallbackThreshold('>', 30 * 100, 0);
echo "Press ctrl+c to exit\n";
$ipcon->dispatchCallbacks(-1);
// Dispatch callbacks forever
<?php

require_once 'Tinkerforge/IPConnection.php';
require_once 'Tinkerforge/BrickletThermocouple.php';
use Tinkerforge\IPConnection;
use Tinkerforge\BrickletThermocouple;
const HOST = 'localhost';
const PORT = 4223;
const UID = 'XYZ';
// Change XYZ to the UID of your Thermocouple Bricklet
// Callback function for temperature callback (parameter has unit °C/100)
function cb_temperature($temperature)
{
    echo "Temperature: " . $temperature / 100.0 . " °C\n";
}
$ipcon = new IPConnection();
// Create IP connection
$t = new BrickletThermocouple(UID, $ipcon);
// Create device object
$ipcon->connect(HOST, PORT);
// Connect to brickd
// Don't use device before ipcon is connected
// Register temperature callback to function cb_temperature
$t->registerCallback(BrickletThermocouple::CALLBACK_TEMPERATURE, 'cb_temperature');
// Set period for temperature callback to 1s (1000ms)
// Note: The temperature callback is only called every second
//       if the temperature has changed since the last call!
$t->setTemperatureCallbackPeriod(1000);
echo "Press ctrl+c to exit\n";
$ipcon->dispatchCallbacks(-1);
// Dispatch callbacks forever