Skip to content

rudidevries/kaku

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 

KAKU - 'Klik aan Klik uit'

SensioLabsInsight

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.

About

Simple interface for executing KAKU (Klik aan - Klik uit) script on Raspberry PI.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages