Beispiel #1
0
<?php

require_once 'Tinkerforge/IPConnection.php';
require_once 'Tinkerforge/BrickletIO16.php';
use Tinkerforge\IPConnection;
use Tinkerforge\BrickletIO16;
const HOST = 'localhost';
const PORT = 4223;
const UID = 'XYZ';
// Change to your UID
$ipcon = new IPConnection();
// Create IP connection
$io = new BrickletIO16(UID, $ipcon);
// Create device object
$ipcon->connect(HOST, PORT);
// Connect to brickd
// Don't use device before ipcon is connected
// Get current value from port A as bitmask
$value_mask = $io->getPort('a');
echo "Value Mask (Port A): " . sprintf("%08b", $value_mask) . "\n";
echo "Press key to exit\n";
fgetc(fopen('php://stdin', 'r'));
$ipcon->disconnect();
Beispiel #2
0
<?php

require_once 'Tinkerforge/IPConnection.php';
require_once 'Tinkerforge/BrickletIO16.php';
use Tinkerforge\IPConnection;
use Tinkerforge\BrickletIO16;
const HOST = 'localhost';
const PORT = 4223;
const UID = 'XYZ';
// Change to your UID
$ipcon = new IPConnection();
// Create IP connection
$io = new BrickletIO16(UID, $ipcon);
// Create device object
$ipcon->connect(HOST, PORT);
// Connect to brickd
// Don't use device before ipcon is connected
// Set pin 0 on port A to output low
$io->setPortConfiguration('a', 1 << 0, 'o', FALSE);
// Set pin 0 and 7 on port B to output high
$io->setPortConfiguration('b', 1 << 0 | 1 << 7, 'o', TRUE);
echo "Press key to exit\n";
fgetc(fopen('php://stdin', 'r'));
$ipcon->disconnect();
require_once 'Tinkerforge/IPConnection.php';
require_once 'Tinkerforge/BrickletIO16.php';
use Tinkerforge\IPConnection;
use Tinkerforge\BrickletIO16;
const HOST = 'localhost';
const PORT = 4223;
const UID = 'XYZ';
// Change to your UID
// Callback function for interrupt callback
function cb_interrupt($port, $interrupt_mask, $value_mask)
{
    echo "Port: {$port}\n";
    echo "Interrupt Mask: " . sprintf("%08b", $interrupt_mask) . "\n";
    echo "Value Mask: " . sprintf("%08b", $value_mask) . "\n";
    echo "\n";
}
$ipcon = new IPConnection();
// Create IP connection
$io = new BrickletIO16(UID, $ipcon);
// Create device object
$ipcon->connect(HOST, PORT);
// Connect to brickd
// Don't use device before ipcon is connected
// Register interrupt callback to function cb_interrupt
$io->registerCallback(BrickletIO16::CALLBACK_INTERRUPT, 'cb_interrupt');
// Enable interrupt on pin 2 of port A
$io->setPortInterrupt('a', 1 << 2);
echo "Press ctrl+c to exit\n";
$ipcon->dispatchCallbacks(-1);
// Dispatch callbacks forever