This forum uses cookies
This forum makes use of cookies to store your login information if you are registered, and your last visit if you are not. Cookies are small text documents stored on your computer; the cookies set by this forum can only be used on this website and pose no security risk. Cookies on this forum also track the specific topics you have read and when you last read them. Please confirm that you accept these cookies being set.

Panasonic projector IP control
#1
Hello,

I need help to control Panasonic PT-VZ580 with LM.
There is IP control in this projector and I have all necessary commands from manual (I attached it), but I don't know how to send them from LM.
Maybe someone have similar control example or smth.

   

Full manual
Reply
#2
Make sure that password is disabled on the projector and command port is set to 1024. Change 192.168.1.111 to projector's IP.

For command with a parameter try it either like IIS:HD1 or IISHD1 (documentation is not clear on this point).

Code:
function tcpsend(data, ip, port)
  local sock = require('socket').tcp()
  sock:settimeout(3)

  local res, err = sock:connect(ip, port or 1024)
  
  if res then
    res, err = sock:send('00' .. data .. '\r')

    if res then
      res, err = sock:receive('*a')
    else
      alert('send failed: ' .. tostring(err))  
    end
  else
    alert('connect failed: ' .. tostring(err))
  end

  sock:close()

  return res, err
end

-- send Power ON
res, err = tcpsend('PON', '192.168.1.111')
log(res, err)
Reply
#3
Ok, thank you for help!

We also need to control other projector over IP - Cineversum.
Could you please help with this one too?

Heres some examples from manual, and full manual:

   

Full manual
Reply
#4
Any thoughts?
Reply
#5
Code:
function tcpsend(data, ip, port)
  local sock, res, err

  sock = require('socket').tcp()
  sock:settimeout(5)

  res, err = sock:connect(ip, port or 20554)
  
  if res then
    res, err = sock:receive(5)

    if res == 'PJ_OK' then
      sock:send('PJREQ')
      res, err = sock:receive(5)

      if res == 'PJACK' then
        sock:send(data)
        res, err = sock:receive(6)
      else
        alert('invalid/no ack: ' .. tostring(res))  
      end
    else
      alert('invalid/no init: ' .. tostring(res))  
    end
  else
    alert('connect failed: ' .. tostring(err))
  end

  sock:close()

  return res, err
end

cmdon = string.char(0x21, 0x89, 0x01, 0x52, 0x43, 0x37, 0x33, 0x30, 0x35, 0x0A)
cmdoff = string.char(0x21, 0x89, 0x01, 0x52, 0x43, 0x37, 0x33, 0x30, 0x36, 0x0A)

res, err = tcpsend(cmdon, '192.168.1.111')
Reply


Forum Jump: