RS232 on Xibo 3.x and above

Dear all,

First off, exited to use the new 4.x Xibo! But in the meanwhile I have a question as I think the new release will not solve this.

My setup is a simple one using a Samsung FHD display and a NUC running Windows 11 with the Xibo Player. I run a small server and Xibo within a docker container. The TV is connected with HDMI. Since I couldn`t figure out how to send commands using CEC I switched to RS232 to control the TV using Xibo.

Testing the RS232 communication works like a charm sending (for example) the TV off command \xAA\x11\x01\x01\x00\x13 with RealTerm.

Using the command option in the Xibo backend I get this command preview

rs232|COM4,9600,8,None,One,None,1|AA 11 01 01 00 13

I have tried others and played with the command format a bit but nothing seems to work. I guess it has something to do with windows execution policy. A solution is presented here using PowerShell, but if it would be possible to directly send the RS232 command using Xibo Player this would have my preference as I like to keep things simple and straight forward.

Anyone who could nudge me into the right direction is appreciated!

Richard

do you start your xibo with admin rights? please try that!

Yes, but this is unfortunately not the answer.

In the log I get an error saying
CommandRs232 can’t find any recognizable numbers

Very strange…

rs232|COM4,9600,8,None,One,None,1|AA 11 01 01 00 13

I don’t think there are enough HEX characters there to convert that into a byte stream - have you tried the command with HEX support disabled?

rs232|COM4,9600,8,None,One,None|AA 11 01 01 00 13

Thank you Dan for your help. Much appreciated.

I fiddled some more and decided to install a RS232 spy tool on the Xibo Player machine. This made it easier to check if there is some form of communication with the serial port instead of looking at the logging information.

Turned out that it was very silent on the serial port channel :roll_eyes:

With a lot of trail and error I came across an old topic on this forum that also discussed the possibility to place a Shell command as a widget into the layout directly. When I use this option it works!
Atleast I have some communication with the serial port


COM is open
Baud rate 9600
RTS off
DTR off
Data bits=8, Stop bits=1, Parity=None
Set chars: Eof=0x1A, Error=0x00, Break=0x00, Event=0x1A, Xon=0x11, Xoff=0x13
Handflow: ControlHandShake=(), FlowReplace=(), XonLimit=1024, XoffLimit=1024
Baud rate 9600
RTS off
DTR off
Data bits=8, Stop bits=1, Parity=None
Set chars: Eof=0x1A, Error=0x00, Break=0x00, Event=0x1A, Xon=0x11, Xoff=0x13
Handflow: ControlHandShake=(), FlowReplace=(), XonLimit=1024, XoffLimit=1024
DTR off
Set timeouts: ReadInterval=-1, ReadTotalTimeoutMultiplier=-1, ReadTotalTimeoutConstant=-2, WriteTotalTimeoutMultiplier=0, WriteTotalTimeoutConstant=0
In/out queue size 4096/2048
DTR off
Purge the serial port: RXABORT, RXCLEAR
Purge the serial port: TXABORT, TXCLEAR
COM is closed

There payload is not there yet but when I set the HEX Support to 0 I get this;

COM is open
Baud rate 9600
RTS off
DTR off
Data bits=8, Stop bits=1, Parity=None
Set chars: Eof=0x1A, Error=0x00, Break=0x00, Event=0x1A, Xon=0x11, Xoff=0x13
Handflow: ControlHandShake=(), FlowReplace=(), XonLimit=1024, XoffLimit=1024
Baud rate 9600
RTS off
DTR off
Data bits=8, Stop bits=1, Parity=None
Set chars: Eof=0x1A, Error=0x00, Break=0x00, Event=0x1A, Xon=0x11, Xoff=0x13
Handflow: ControlHandShake=(), FlowReplace=(), XonLimit=1024, XoffLimit=1024
DTR off
Set timeouts: ReadInterval=-1, ReadTotalTimeoutMultiplier=-1, ReadTotalTimeoutConstant=-2, WriteTotalTimeoutMultiplier=0, WriteTotalTimeoutConstant=0
In/out queue size 4096/2048
<20231005150929.674 TX>
\xAA\x11\x01\x01\x00\x13
<20231005150929.675 SYS>
DTR off
Purge the serial port: RXABORT, RXCLEAR
Purge the serial port: TXABORT, TXCLEAR
COM is closed

There is the payload \xAA\x11\x01\x01\x00\x13
Finally :grin:

Now I am not sure if this is a bug or the command functionality method just does not work with my combo Docker on Debian for the CMS and Windows 11 for the player? I do know that using a Shell Command Widget within the layout works for me.
If anyone has any suggestions to get the regular command functionality working I`d like to hear it.

That’s interesting - if you’re prepared to do some debugging we can collect player logs to try and see why the RS232 commands aren’t working natively.

You’d need to enable auditing on the display as per the instructions below, and then run the command.

This topic was automatically closed 91 days after the last reply. New replies are no longer allowed.