rudidevries / kaku
This library provides a basic object interface for calling a the KAKU program to switch devices with the Raspberry Pi and a 433mhz transmitter.
Requires
- php: >=5.3.3
- herzult/php-ssh: ~1.0@dev
This package is not auto-updated.
Last update: 2024-11-05 04:58:32 UTC
README
This library provides a basic object interface for calling a the KAKU program to switch devices with the Raspberry Pi and a 433mhz transmitter.
A complete description of how to setup the KAKU program on the Raspberry Pi is found here in Dutch.
Installation
The best way to add the library to your project is using composer.
$ composer require rudidevries/kaku
Usage
For more information on setting up de SSH connection and authentication take a look at herzult/php-ssh.
The main principle is to setup an SSH connection, create a switch object, and give this object the channel to switch.
The command object should be passed the path to the kaku executable, as compiled from this c++ code.
Example:
// SSH Connection setup
$config = new Ssh\Configuration($host);
$auth = new Ssh\Authentication\PublicKeyFile(
$username,
$pathToPublicKey,
$pathToPrivateKey,
$passPhrase
);
$session = new Ssh\Session($config, $auth);
// Create switcher
$command = new Kaku\Command\SshCommand(
$session,
'/path/to/kaku'
);
$switcher = new Kaku\Switcher($command);
// Create channel description
$channel = new Kaku\Channel(
'description of switch point',
'A',
10
);
// Send signals
$switcher->sendOn($channel);
$switcher->sendOff($channel);
Symfony bundle
For easy integration in a Symfony based project, the kaku-bundle is also available.