Due to the usual terrible documentation, It took me a while to get the shutter control working, so I'm posting the info here.
For the projector, you of course need an IP address in your subnet. PJLink commands are on port 4352. There is another control port, for older, serial-based commands that is configurable (something like 1024). This is NOT the PJlink port.
PJLink control has to be enabled:
Here's the commands available from the Panasonic manual:
Also there is some important fine print:
The factory default is to have the password set, and if you try any kind of command you will get an "ERRA" error. This error is not documented in this section of the manual but is elsewhere for the other control protocols.
It's confusing, but the password you need to change is NOT the projector "security password"; instead, it's the main web login password you use to log into the projector. I changed both logins (the user1 login gives you basic control and monitoring, but admin1 login gives you full web based control) to blank.
- Control is via TCP
- All PJLINK command lines, without exception, start with ‘%’.
- Added to the PJLINK header ‘%’ is a 1-byte ASCII numeric character that shows the PJLINK class. In the command prescribed from Class 1, 1 is added, and in the command added from Class 2, 2 is added.
- The command body is a 4-byte fixed-length string predetermined for each command.
- The separator separates the command body from the transmission parameter. In command lines, a blank character (space: 0x20) is always used as the separator.
- All command lines end with a terminator (carriage return code (CR): 0x0d).
- The command body is case-insensitive.
So that means that a full command in ASCII would be "%1AVMT 30" closed by a 0D (hex) carriage return.
So here's a successful exchange with the projector using the excellent free Essential Net Tools program:
We're controlling the projector from Watchout, and Watchout uses the $ sign to enter raw ASCII control characters:
The TCP port closes after about 30 seconds, so many watchout programmers end up sending the command multiple times.