Q: How to automate Crestron control via RS232

Applies the following product:

- 4x4 HDMI Matrix + Video-Wall Processor (part # CE-H24C11-S1)

Solution:

RS232 Protocol:

Baud Rate 9600 bps
Data bit: 8 bits
Parity: None
Stop Bit: 1 bit
Telnet Protocol
Port:23
Username: admin
Password 123

ASCII Command & telnet command [terminal command]
All command must Carrier Return (0x0d)

>>POFF    // Turn off all output and front pannel
  Echo. poff

>>PON    // Turn on matrix
  Echo. pon

>>VR + CR    // Version command
  VR
    Echo
    88V_01.02  (show version number 01.02)
   VM-DB1.00.01      (show DB board version)

44V_01.02  (show version number 01.02)
VM-DB1.00.01      (show DB board version)
>> P**I** + CR  Single Output Set
Example:
    P01I02 // input 1 to output2

Echo
   p01i02
>> P**I00+ CR //Close Output Set
Example:
    P01I00 // close to output1
   Echo
   p01i00

>> P**L + CR  open Output
Example:
    P01L // open output1 [orginal set to source 2]
   Echo
   p01i02

>> P**+ + CR increase source
Example:
    P01+ //  next source for output1 [orginal set to source 1]
   Echo
   p01i02  [source change to source 02]
>> P**- + CR deccrease source
Example:
    P01- //  next source for output1 [orginal set to source 1]
   Echo
   p01i08  [source change to source 08]

>>MAP+ CR        // show 8 output port mapping
    p01i02
p02i02
….
p08i02
 
>> FSET+ CR
   FSET
   echo
DEFAULT

Software command[Hex mode]
len 0x4d 0x41 0x52 0x88 0x43 0x48 0xff cmd cm1 cm2 cm3 cm4 cm5 cm6 cm7 … cm* checksum
0x52 0x88 for 8x8 matrix
0x52 0x44 for 4x4 matrix
len is the length from len to checksum
cmd is command index
cm1 to cm* is  setting value
checksum = sum from len to cm*
example:
set output mapping
0x12 0x4d 0x41 0x52 0x88 0x43 0x48 0xff 0x02 0x01 0x01 0x01 0x01 0x01 0x01 0x01 0x01 0xe
Cmd = 2 for set port mapping
Port1 1 port 2 1 port3 1 port4 1 port5 1 port6 1 port7 1 port8 1  
Check sum 0x0e
Echo 0xaa 

4x4 example:
0x0f 0x4d 0x41 0x52 0x44 0x43 0x48 0xff 0x02 0x01 0x01 0x01 0x01 0xc3
Cmd = 2 for set port mapping
Set Port1 1 port 2 1 port3 1 port4 1
Echo: 0xaa
1.>
Cmd =0  power on or idle
0x0b 0x4d 0x41 0x52 0x88 0x43 0x48 0xff 0x00 cm1 checksum
Cmd1: 0x55  idle 0xaa power on

2.>
Cmd =1  get port mapping
0x0a 0x4d 0x41 0x52 0x88 0x43 0x48 0xff 0x01 0xfd
Echo :
0xaa  0x13 p1 p2 p3 p4 p5 p6 p7 p8 s1 s2 s3 s4 s5 s6
s7 s8 pwd checksum
0xaa is the echo for receive command
0x13 is the data length [from p1 to checksum]
p1~p8 is the port mapping. 1~8 or 0[port off]
s1~s8 is the source status. 1: source exist 0: source off
pwd is the matrix status. 1: power on. 0: idle
example
0xaa 0x13 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x01 0x38

3.>
Cmd = 2 for set port mapping 0x12 0x4d 0x41 0x52 0x88 0x43 0x48 0xff 0x02 Port1 1 port 2 1 port3 1 port4 1 port5 1 port6 1 port7 1 port8 + checksum Port1~port8: source value from 1~8 0x80+source for close output port. Ex 0x81 port select source 1 but set close. Echo 0xaa If the port value is the same, the output port will keep the video. Add 0x10 to source. The output port will re trigger (including off/on and do hdcp) For example: Now port1 select source 1 Port1 = 0x01 : video not change Port1 = 0x01 : video turn off/on and do hdcp again.

3.>
Cmd = 3 for set port mapping
0x12 0x4d 0x41 0x52 0x88 0x43 0x48 0xff 0x03 Port_NUM  Port_Value + checksum
Port_NUM: port  1~8
Port_Value: source  0 to 8. 0 for close port

4.>
Cmd =5  get firmware version
0x0a 0x4d 0x41 0x52 0x88 0x43 0x48 0xff 0x05 0x01

5.>
Cmd =10  read edid output port
0x0b 0x4d 0x41 0x52 0x88 0x43 0x48 0xff 0x0a cm1 + checksum
Cm1: port number 1~8
Echo:
Read ok :0xaa + 256 byte hex value.
Read fail: 0x55.

6.>
Cmd =11  read edid of input
0x0b 0x4d 0x41 0x52 0x88 0x43 0x48 0xff 0x0b cm1 + checksum
Cm1: input number 1~8
Echo:
Read ok :0xaa + 256 byte hex value.
Read fail: 0x55.

7.>
Cmd =12  edid learning of cm2 to cm3
0x0c 0x4d 0x41 0x52 0x88 0x43 0x48 0xff 0x0c cm1 cm2 cm3 checksum
Cm1: input number 1~8
cm1: 0x03: read port edid and write to source
 0x06: read default edid and write to source
cm2: input number:
        1~8: input 1 to 8
        0xf1: all input
Echo: 0xaa: OK  0x55 fail
Ex:
0x0c 0x4d 0x41 0x52 0x88 0x43 0x48 0xff 0x0c 0x01 0xf1 0xfc
Read port1 edid and write to all input

7.>
Cmd =32  factory reset
0x0a 0x4d 0x41 0x52 0x88 0x43 0x48 0xff 0x20 0x1c

8.>
Cmd =49  read IP and network information
0x0a 0x4d 0x41 0x52 0x88 0x43 0x48 0xff 0x31 0x2d
Echo:
    0xaa + 0x16 + ip1 ~ip4 mask1~4 gateway1~4 dns11~dns14 dns21~dns22  sumvalue

9.>
Cmd= 50 wirte ip,maskvalue,gateway,dns1,dns2
0x22 0x4d 0x41 0x52 0x88 0x43 0x48 0xff 0x32 ip1 ~ip4 mask1~4 gateway1~4 dns11~dns14 dns21~dns22 checksum
Ex: ip1~4= 192.168.1.14
     ip1=192
ip2=168
ip3=1
ip4=14
mask1~4 = 255.255.255.0
mask 1=255
mask 2=255
mask 3=255
mask 4=0

Please note that you must be logged in to submit questions.