PJLink experience anyone?

Hey everyone,

I’m currently working on a projection setup for a theater festival. We were looking for a way to trigger the shutter of a projector via DMX or TCP IP to use it as a follower. What I found was PJLink standard which looks promising. I was wondering if anyone has ever used it to control projectors within TD?

thanks guys,
Guido

There’s a Python PJLink package you can use. i used it externally, but shouldn’t be too troublesome to import into TouchDesigner to use.

What kind of projector is it?

Christies and Barcos have nice proprietary communications standards that let you drive a lot of this stuff with just a single TCP packet.

Yeah, I did find a PJLink python package by Peter Ward:https://bitbucket.org/flowblok/pjlink

It’s pretty easy to adapt in TD. I had the chance to play around with it a few hours ago and it worked straight ahead (we’re using Panasonic PT-D5700E DLP projectors btw). I had some misleadings with the string to byte conversion, but the whole think took about an hour or so to setup :slight_smile:

The bulk of time spent setting up equipment communication is just getting the syntax structured correctly.

Would you mind sharing a syntax sample as a reference point for the rest of us?

Thanks!


Brian

Moving this to the General Questions forum

Just to revive this thread.

I’m tired to code the command by hand everytime, so I decided to wrap it up in a sleek tox with grouping capabilities.

But…

Adapting the pjlink python library (btw, it’s in 1.1.1 version now) from pypi.python.org/pypi/pypjlink I ran into consistent hangs.

I’m posting a file. It just runs a small script to get a projector power. I tried with a real projector and without. I can’t seem to work it out what’s wrong. It just hangs on socket method readinto(b).

When you run the script dat (or just push a button), the TD will hang. When trying to terminate TD, it will propose to recover the process you should accept it. Then you will have the python console log.

I also put TCP/IP node in servermode with localhost ip and the correct pjlink port in order to see what it’s doing.

Any help would be greatly appreciated.

best
sH
PJLink.toe (8.66 KB)

Power on and off projector with pjlink
look this
change your ip adress in DAT tcpip1
may be useful)))
projectorPower.toe (4.92 KB)

Hello, i was searching how to control projector over TCP/IP and i found this topic…

both toe didn´t work for me but after little changes now works perfect.

projector_control.tox (14.3 KB)

Regards

Javo

Resurrecting an old question, but thought this might be useful to someone if you don’t wish to disable your authentication. Put this code in tcpip1_callbacks and it will authenticate and then turn on the projector. Replace the pwd variable with your web interface password.

    pwd = "panasonic"	
    resp = message.split(" ")
    if resp[0] == "PJLINK" and resp[1] == "1":
     import hashlib	
     s = ( resp[2]+pwd).encode('utf-8')
     d = (hashlib.md5( s).hexdigest())
     pjSocket1 = op('tcpip1')	
     pjSocket1.sendBytes(d,'%1POWR 1\r')