PHP Classes
elePHPant
Icontem

Pure PHP PJLink class: Control data projectors via socket connections

Recommend this page to a friend!
  Info   View files Example   View files View files (5)   DownloadInstall with Composer Download .zip   Reputation   Support forum   Blog    
Last Updated Ratings Unique User Downloads Download Rankings
2017-04-28 (23 days ago) RSS 2.0 feedNot enough user ratingsTotal: 66 This week: 5All time: 8,795 This week: 162Up
Version License PHP version Categories
pjlink 1.0.01GNU Lesser Genera...5Networking
Description Author

This class can control data projectors via socket connections.

It can connect to a data projector connecting to its IP address and sending certain commands.

Currently the class can send commands for turning the power on or off, get the power state, set or get the input, get the error and lamp state, get the name of the device, product and manufacturer, device class and other information.

  Performance   Level  
Name: André Liechti <contact>
Classes: 8 packages by
Country: Switzerland Switzerland
Age: 48
All time rank: 4637 in Switzerland Switzerland
Week rank: 59 Up1 in Switzerland Switzerland Up
Innovation award
Innovation award
Nominee: 7x

Winner: 2x

Details

Pure PHP PJLink Class1 library

The PJLink PHP class is the lightest pure PHP package available for operating and controlling data projectors using the PJLink Class1 standard.

PJLink Class1 specifications are available here: http://pjlink.jbmia.or.jp/english/data/5-1_PJLink_eng_20131210.pdf

(c) 2017 SysCo systemes de communication sa http://developer.sysco.ch/php/

Current build: 1.0.0.1 (2017-04-24)

No external file is needed (no PEAR, no PECL, no cURL).

Licence

Copyright (c) 2017 SysCo systemes de communication sa SysCo (tm) is a trademark of SysCo systemes de communication sa (http://www.sysco.ch/) All rights reserved.

PJLink PHP class is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

PJLink PHP class is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with PJLink PHP class. If not, see <http://www.gnu.org/licenses/>.

Usage

Every command send to the projector return false is something is wrong. The error message can be detailed by calling the getError() method.

Public methods available:

   setDevice($host, [[[$password], $timeout], $port])
   powerOn([[[[$host], $password], $timeout], $port])
   powerOff([[[[$host], $password], $timeout], $port])
   getPowerState([[[[$host], $password], $timeout], $port])
   setInput($input, [[[[$host], $password], $timeout], $port])
   getInput([[[[$host], $password], $timeout], $port])
   getErrorState([[[[$host], $password], $timeout], $port])
   getLampState([[[[$host], $password], $timeout], $port])
   getName([[[[$host], $password], $timeout], $port])
   getManufactureName([[[[$host], $password], $timeout], $port])
   getProductName([[[[$host], $password], $timeout], $port])
   getOtherInfo([[[[$host], $password], $timeout], $port])
   getClass([[[[$host], $password], $timeout], $port])
   getError()
   getErrorNumber()
   getResponseRaw()
   getResponseText()

Examples

// Example 1

  require_once('pjlink.class.php');
  $pjlink = new PJLink();
  if (false === $pjlink->powerOn("192.168.0.1")) {
    echo $pjlink->getError();
  } elseif (false === $pjlink->setInput(11, "192.168.0.1")) {
    echo $pjlink->getError();
  }

// Example 2

  require_once('pjlink.class.php');
  $pjlink = new PJLink();
  $pjlink->setDevice("192.168.0.1", "my_pjlink_pass", 10, 4352);
  if (false === $pjlink->powerOn()) {
    echo $pjlink->getError();
  } elseif (false === $pjlink->setInput(11)) {
    echo $pjlink->getError();
  }
  echo "Device: ".$pjlink->getManufactureName().", ".$pjlink->getProductName()."<br />\n";

You can support our open source projects with donations and sponsoring. Sponsorships are crucial for ongoing and future development! If you'd like to support our work, then consider making a donation, any support is always welcome even if it's as low as $1! You can also sponsor the development of a specific feature. Please contact us in order to discuss the detail of the implementation.

Donate via PayPal by clicking here Donate via PayPal

And for more PHP classes, have a look on PHPclasses.org, where a lot of authors are sharing their classes for free.

  Files folder image Files  
File Role Description
Accessible without login Plain text file example1.php Example Example script
Accessible without login Plain text file example2.php Example Example script
Accessible without login Plain text file LICENSE.md Lic. License text
Plain text file pjlink.class.php Class Class source
Accessible without login Plain text file README.md Doc. Documentation

 Version Control Unique User Downloads Download Rankings  
 100%
Total:66
This week:5
All time:8,795
This week:162Up