<?php require_once 'Tinkerforge/IPConnection.php'; require_once 'Tinkerforge/BrickletRealTimeClock.php'; use Tinkerforge\IPConnection; use Tinkerforge\BrickletRealTimeClock; const HOST = 'localhost'; const PORT = 4223; const UID = 'XYZ'; // Change XYZ to the UID of your Real-Time Clock Bricklet $ipcon = new IPConnection(); // Create IP connection $rtc = new BrickletRealTimeClock(UID, $ipcon); // Create device object $ipcon->connect(HOST, PORT); // Connect to brickd // Don't use device before ipcon is connected // Get current date and time $date_time = $rtc->getDateTime(); echo "Year: " . $date_time['year'] . "\n"; echo "Month: " . $date_time['month'] . "\n"; echo "Day: " . $date_time['day'] . "\n"; echo "Hour: " . $date_time['hour'] . "\n"; echo "Minute: " . $date_time['minute'] . "\n"; echo "Second: " . $date_time['second'] . "\n"; echo "Centisecond: " . $date_time['centisecond'] . "\n"; echo "Weekday: " . $date_time['weekday'] . "\n"; // Get current timestamp (unit is ms) $timestamp = $rtc->getTimestamp(); echo "Timestamp: {$timestamp} ms\n"; echo "Press key to exit\n";
// Change XYZ to the UID of your Real-Time Clock Bricklet // Callback function for date and time callback function cb_dateTime($year, $month, $day, $hour, $minute, $second, $centisecond, $weekday, $timestamp) { echo "Year: {$year}\n"; echo "Month: {$month}\n"; echo "Day: {$day}\n"; echo "Hour: {$hour}\n"; echo "Minute: {$minute}\n"; echo "Second: {$second}\n"; echo "Centisecond: {$centisecond}\n"; echo "Weekday: {$weekday}\n"; echo "Timestamp: {$timestamp}\n"; echo "\n"; } $ipcon = new IPConnection(); // Create IP connection $rtc = new BrickletRealTimeClock(UID, $ipcon); // Create device object $ipcon->connect(HOST, PORT); // Connect to brickd // Don't use device before ipcon is connected // Register date and time callback to function cb_dateTime $rtc->registerCallback(BrickletRealTimeClock::CALLBACK_DATE_TIME, 'cb_dateTime'); // Set period for date and time callback to 5s (5000ms) // Note: The date and time callback is only called every 5 seconds // if the date and time has changed since the last call! $rtc->setDateTimeCallbackPeriod(5000); echo "Press ctrl+c to exit\n"; $ipcon->dispatchCallbacks(-1); // Dispatch callbacks forever