Controlling a Projector with PJLink using Processing?

Is it possible to control a projector using the PJLink Protocol within Processing?

I think it is and I would like to pose some ways to do this and solicit support along the way.

For those unaware the PJLink protocol can be used to talk to projectors using Ethernet over a LAN. You can check projector status, turn on, turn off, change source, etc.

This can be very helpful for art installations where the Processing Sketch can also turn on the projector without needing other software.

Some projector manufacturers make this software but it is often not very usable or extensible in other programs.

Other IDEs, like Python, have PJLink libraries but the IDE of Processing is much easier to use and can export the sketch as a cross-platform application about 100x easier.

Okay… where to start?

I checked but did not find any PJLink libraries for Processing.

It looks like there is pretty thorough documentation from PJLink in this PDF.

I recall that in the past it was possible to use the command line to access the projectors and send PJLink commands. I think Telnet was used?

In any case what is the best way to approach this?

Is there some sort of network sender in Processing where I can send out the commands in the reference? Can Processing handle sending username and password data to login?

Overall I am trying to get a gut check as to how possible this all might be and what types of libraries or methods would enable me to glue all of this together?

My aim would be to have a simple program that you could press a key or button and the projector would turn on, then another key to have it turn off.

Then share and open-source the whole thing.

Thanks for the tips everyone!