I am looking to develop an app for the Mac OSX that can facilitate networked control of PJLink enabled projectors. Most all modern projectors support this. More info here: http://pjlink.jbmia.or.jp/english/
This program should be able to talk to a number of projectors over a local network. (Over the World Wide Web would be great too!)
It should be able to:
Turn a projector on or off directly
Turn on or to a schedule
Adjust Brightness
As well as allow selection of video sources
All supported in the PJLInk protocol.
I would like a simple GUI to be used to enter new projectors, enter IP address, passwords if applicable, as well as the scheduling.
It needs to run 24/7.
A program like this already exists, but is only for the PC. It is called Epson EasyMP Monitor. My installation needs to run on a Mac however. Rather than run a Virtual Machine I would like to have a stand alone app run natively on OS X. A VM, plus a Windows license, costs abut $250. So I would like to start around there for the budget on this app. I figure that instead of using the VM path we could open up folks on the Mac to interface with projectors over a network.
The program needs to be open-source and the agreement would allow for my me to host it on my Git Hub while crediting the programmer(s) fully.
The program needs to be standalone. As in an app you double click. One I can put on a thumb drive and share with a friend. No dependencies, no special drivers, libraries, etc.
I have listed some libraries and areas to start in. I would like for it to be written using the OpenFrameworks (C++) library listed but it can use any of the implementations listed - Python, Perl, or Node.js - as long as it will meet the above criteria.
Some of the programmers who have made the Windows implementations stated it was very easy and were able to accomplish this in an afternoon. I do not have these skills, however I understand it is easily possible for those who do. I would like to see if an individual or group could help facilitate this development.
Feel free to reply directly to Casey (at) Sensebellum (dot) com
Gotta love it, thank you very much for the suggestions!
I will most likely try the MIDI path and write a little bit of a timer in Processing.
Frankly, I am not as verbose in OpenFrameworks to implement many of these projects in a fresh manner. However, I do believe that the lower two links could suffice for what I need to do. I will experiment with these a bit over the weekend.
Ended up laying with the cheap and easy program you recommended. I like it. Very simple. yet I am not sure if it is connecting properly. And frankly, I am not sure if my projector actually supports the PJlink protocol.
I contacted to the maker of the software and shared this video. Just posting it here for a continuum of progress.
is this an Epson H314B ? if yes, then it is not PJLINK compliant
you need to follow the epson communication protocol and connect to the correct port (PJLNK port is 4352 if i remember) which is probably different from PJLINK port
try to find protocol specifications and connect using telnet then send command
This is an Epson Powerlite 1960, not sure if that matches with your technical descriptor.
I found something like this. Note the PDF in the lower portion. It got pretty technical quickly. But I think this might be along the right train of thought.
I have found that this product, called the PowerTail Switch, can be used to remotely turn on AC power. There is a feature in the Epson 1960 that allows for it to turn on immediately if power is cut.
I just turn it on when needed. I looked extensively and there is no cool down feature in the projector so I am fairly confident this is safe.
It works the best out of the box yet. I just need to set the projector to DHCP mode. The app allows me to turn the projector off, switch sources, etc in DHCP mode (selected in projector menu). But… I am not able to turn it back on… I believe this is because the IP address is reset so it won’t respond.
I tried turning the projector to a static IP mode. But I was not able to find a cocktail of IP addresses, subnets, and masks to get it to be recognized at all. However, I think if this works it could make a reliable connection when starting up.
i usually do that when projectors and computer are connected together.
If you are using a router or an internet box, use the router or box IP : usually 192.168.0.1 or 192.168.1.1 or something similar