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.

Gefen Integration
#1
Hello again,


I need to setup a Gefen 4x2 UHD Matrix on a installation and I like to know if someone installed it before, I read it is possible to control the Matrix via IP... I add a user manual and I try to make a scrip to control it. BR.

Attached Files
.pdf   GTB-HD4K2K-442.pdf (Size: 6.43 MB / Downloads: 10)
Reply
#2
Hi,

Try this to set IP config over RS232 (if needed):

Code:
-- To set up IP control, the network settings for the 4K Ultra HD 4x2 Matrix for HDMI must be configured via RS-232.

-- RS232 Script to set IP control

-- Load Modules
require('serial')

-- Open connection
port = serial.open('/dev/RS232', {
 baudrate = 115200,
 databits = 8,
 stopbits = 1,
 parity = 'none',
 duplex = 'full'
})

-- Function to read until carier return is received or timeout
function readline(port, timeout)
 local char, buf
 buf = {}
 while true do
   char = port:read(1, timeout or 0.2)
   -- error (timeout) or newline, stop
   if char == nil or char == '\n' then
     break
   -- ignore cr char
   elseif char ~= '\r' then
     table.insert(buf, char)
   end
 end
 return table.concat(buf)
end

-- Function to write to port and return a reply
function writetoport(port, timeout, command)
    -- Write data to port as HEX
 port:write(command)
    -- Call function to read data
 line = readline(port, timeout)
 if #line > 0 then
     return line
 else
   return "No reply received"
 end
end

-- Send command to port and wait for reply or timeout
reply = writetoport(port, 1, '#sipadd 192.168.2.190')-- Timeout is set to 1 second (default = 0.2)
log(reply)

-- Send command to port and wait for reply or timeout
reply = writetoport(port, 1, '#snetmask 255.255.0.0')-- Timeout is set to 1 second (default = 0.2)
log(reply)

-- Send command to port and wait for reply or timeout
reply = writetoport(port, 1, '#sgateway 192.168.1.5')-- Timeout is set to 1 second (default = 0.2)
log(reply)

-- Send command to port and wait for reply or timeout
reply = writetoport(port, 1, '#set_telnet_port 23')-- Timeout is set to 1 second (default = 0.2)
log(reply)

-- Send command to port and wait for reply or timeout
reply = writetoport(port, 1, '#set_http_port 80')-- Timeout is set to 1 second (default = 0.2)
log(reply)

-- Send command to port and wait for reply or timeout
reply = writetoport(port, 1, '#set_udp_remote_ip 192.168.1.227')-- Timeout is set to 1 second (default = 0.2)
log(reply)

-- Send command to port and wait for reply or timeout
reply = writetoport(port, 1, '#set_udp_port 56')-- Timeout is set to 1 second (default = 0.2)
log(reply)

-- Send command to port and wait for reply or timeout
reply = writetoport(port, 1, '#set_udp_remote_port 50008')-- Timeout is set to 1 second (default = 0.2)
log(reply)

-- REBOOT MATRIX NOW

And after reboot try this to control:
Code:
-- Control over UDP

-- Function Udp Send
function udpsend(message,ip,port)
 require('socket')
 local client = socket.udp()
 if client then
   client:sendto(message,ip,port)
   client:close()
 end
end

result, err = udpsend('#power 0','192.168.1.227', 50008) -- Command to power on
log(result)

result, err = udpsend('#power 1','192.168.1.227', 50008) -- Command to power off
log(result)

Not tested so i hope it works for you (;

BR,

Erwin van der Zwart
Reply


Forum Jump: