Introduction
CEC is already an old technology, I think we could explore it more in Xibo’s software.
Some simple commands could greatly improve project management using XIBO. I achieved some interesting results in 1h30 of work, and I would like to leave this suggestion for the Xibo team and the Community!
User Story
I spent the weekend testing an Android BOX that has the HDMI CEC protocol support.
I managed to turn my TV on and off with simple commands through the Xibo Android app by sending the commands below:
echo "0x40 0x04" > /sys/class/cec/cmd
- turn on
echo "0x40 0x36" > /sys/class/cec/cmd
- turn off
(I am aware that the commands vary depending on the TV/Screen model; I just used an example here.)
I used this website to better understand the commands: https://www.cec-o-matic.com/
During some research, I came across this very interesting topic: HDMI CEC ( Control HDMI attached TV/device ) - Request - Kodular Community
The topic is about monitoring whether the TV devices are on or not. As we know, one of the major pains of digital signage is knowing whether my content is being displayed or not because of a turned-off Screen.
I thought it would be a great native feature for Xibo Android and Linux. A monitoring system to identify whether the TVs are on or not.
I even managed to do this (in a very basic way) by analyzing the buffer of the “dump_reg” file in the CEC control folder for Android.
cat dump_reg | grep -q "RX buffer: 04" && echo "TV On" || echo "TV Off"
if it contains the segment “RX buffer: 04” the TV is on, if not, it’s off.
(TV On)
(TV Off)
I could use this output to send the status of the TV/Screen as well as the Xibo player to my CMS.
I believe that devices with CEC and ROOT access could send these commands and analyze the output without much problem. Besides, it would be a great feature idea for the Linux player in development.
The result in the CMS will be something like this:
(The image above is just a representation of what the final result would look like.)
Here’s my suggestion!