BoxeeBox Remote Control PHP SDK using Boxee/XBMC Remote Control Interface (HTTP API)
PHP
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
Connections
Examples
Services
BoxeeBoxPHPRCI.class.php
README

README

BoxeeBox PHP Remote Control Interface SDK by Nicholas Robinson

This project houses a fully functional and re-usable PHP SDK for the BoxeeBox Remote Control Interface (HTTP API). The SDK encompasses both the UDP discovery protocol and the HTTP Remote Control API (which is now deprecated). Although the Remote Control API can be implemented in pure HTML/javascript (as illustrated in javascript.php / keypress.php and keypress.html), the use of PHP gives added flexibility / command line utility and permits use outside of a browser.

Several examples are included as suggestions for possible uses and to help get you started. My hope is that given the prevalence of PHP and the ease of access to web server technologies this SDK will increase and diversify the number of devices that can interact with the BoxeeBox. 

To see it in action go here (sockets/cURL are disabled for safety):
http://www.nicholassavilerobinson.com/BoxeeBox-PHP-RemoteControlInterface/Examples/browser.php

The soon-to-be-deprecated HTTP API can easily be combined with the new JSONRPC API to create a robust and future-proof BoxeeBox remote control web application. Why not have a look at https://github.com/nicholasrobinson/BoxeeBox-PHP-JSONRPC to see what differences exist between the two APIs?

Requirements:
- PHP 5.2+
- Web Server (optional)

Installation:
- Download/Clone project folder
- Place in your web root (optional)
- Run the the example scripts (found in the "Examples/" folder) in your web browser or from the command line
- Make sure to utilize Examples/browser.php to get familiar with the API

Please Note: 

For simplicity of cross-platform implementation/compatibility there is no attempt to handle state within the SDK. As a result connection settings (address, port, authentication) must be handled by your implementation (examples are included with the SDK).

To maintain connection settings there are many options, including:
- Browser Cookies
- PHP Sessions
- Local Storage
- Databases
- HTML Form submission [POST/GET]
- Javascript (as shown in Examples/browser.php, Examples/javascript.php and Examples/keypress.php)

Please let me know if you find this useful or come up with any novel implementations.

Enjoy!

Nicholas Robinson
me@nicholassavilerobinson.com

P.S. You 'could' host your BoxeeBox Remote Control Interface application on the public internet and control your BoxeeBox from anywhere. If you choose to go this route, please consider the security implications of potentially allowing anyone on the internet to control your BoxeeBox.

References:
http://developer.boxee.tv/Remote_Control_Interface