Monday, May 27, 2013

Introducing PJLink

PJLink is a protocol developed by JBMIA for controlling projectors via LAN connections. Aim of this blog is helping others to start with their projector controlling projects easily. I have completed one such a project and I will post what I have learned from it when I have time.

If you have a projector which supports PJLink protocol then you can on, off and do some other actions with the projector using PJLink commands.

You can find all related details from JBMIA PJLink Site but my aim is to provide more basic details about this protocol and to explain how you can start controlling your projector with your own software or scripts.

You have to use some programming or scripting language to write a program with PJLink protocol. Definitely it would be a network program and hence you should know some network programming with the  the language tool, you are going to use. I would like to list following answers for possible question someone may ask about this subject.

  1. Q: Should I really know network programming to work with PJLink?
  2. Q: What are the languages I can use for this?
  3. Q: Can I use a Telnet client to directly issue PJLink commands to a projector?
  4. Q: Do I really need a projector when I write a program using my selection of programming language?
  5. What are the programming sources on PJLink? 

Answers for these general questions as follows:

  1. A: Yes. You should know TCP/IP protocol and other network related stuff. You should know network programming with TCP/IP and there is another important thing: that is: If you don't know TCP/IP programming, then you can start learning network programming with this projector control stuff. I will show how to do that.
  2. A: You can use general programming languages like C, C++, Delphi or Visual Basic. You can also use perl and python as they have network programming support.
  3. A: No. You cannot telnet to the PJLink port (4352/TCP) and issue PJLink commands. If you connect to a projector with telnet, it will respond you but before you type any command the projector will close the connection.
  4. A: No. You can download a PJLink client program from JBMIA PJLink Site and run it on a Windows PC. It will behave as a virtual projector and accept PJLink commands and respond as if the command was executed on a real projector.
  5. A: There are several sites you can get libraries and other stuff. A Python scripting language based software module available in Controlling Projectors with PJLink location. There is a Perl Library Module for projector control using Perl scripts. All leading projector manufacturers have their own PJLink based software for projector control and there are third party software also.
If you have any other question, you can contact me through this blog and I will include your question and my answer to the above list.