21.04.2016, 20:00
(This post was last modified: 21.04.2016, 20:02 by Erwin van der Zwart.)
Hi,
Try this to set IP config over RS232 (if needed):
And after reboot try this to control:
Not tested so i hope it works for you (;
BR,
Erwin van der Zwart
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