First, you need to have the External Communications feature enabled on your account - if you don't, just reach out to us so we can add it for you (it's free!)
With this enabled, there is a three step process to follow:
Create a new External Communication setup
Add the relevant commands to the Ext Comms setup
Configure the commands in a Layout to perform the actions you want (send + receive commands)
Let's dive in...
Set up the New Communication:
Go to the External Communications section and add a new comms setup by clicking 'Create New':
Give it a name that is relevant to you and hit 'Create'
Under 'Type' select 'TCP':
The TCP Receiving Port can be left as the default '49152'. This is only used for embed signage devices to listen to / receive TCP commands and is the default port for the TCP server running on the device. If you need to alter this port for any reason, you can do so if required.
If you plan to run both UDP and TCP on the same device in the same layout. You will need to make sure that the UDP and TCP ports are not the same. So we would recommend leaving the TCP port as '49152' and then setting the UDP port as '49153'. Then send your UDP traffic to the '49153' port.
Now we need to set up the various connection endpoints i.e. what hardware we want to send TCP commands to. In this example, we're going to setup a Novastar 600 Pro LED controller, so we press 'Add Connection':
We can now give our Endpoint Connection a name / label:
Then we specify its IP address:
And finally the TCP connection port for the hardware - which for a Novastar 660 Pro controller is '5200':
We can continue to add as many other endpoint connections we want by repeating the above steps but in our example, we'll just set up the one.
We can now hit 'Save Changes'
Set up the Communication Commands:
Click the 'Commands' tab:
Then click, 'Add New Command'
Give the command a 'Label' - this is just a UI name that will make it easy for you to recognise the command in the layout builder. In this example, we're going to sending TCP commands to change the brightness of the Novastar 660 Pro LED controller, so we need to add various brightness levels. The first we'll add is for 80%:
The 'Command Encoding' we set as HEX:
Then we add the 'Command String' which we'll set as '[ 0x55, 0xaa, 0x00, 0x15, 0xfe, 0x00, 0x01, 0xff, 0xff, 0xff, 0x01, 0x00, 0x01, 0x00, 0x00, 0x02, 0x05, 0x00, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0x6b, 0x5d ]'
Line Ending (EOL) we can leave as 'None'.
With the command set up, we can go and click 'Save Changes'
Now, the Ext Comms configuration is complete, we can head over to the Layout builder to start to configure the actions we want.
Using Commands in a Layout with an example:
We will presume that you are familiar with Layouts already but if not, head over to our Layout Builder articles to learn more.
In our example, we're going to setup two zones and add touch interactions to send the 80% or 5% brightness commands to the Novastar controller.
With the two zones created, we select the 'Send 80%' zone and click on the 'Interactivity / Touch' tab to add a touch interaction to this zone:
Then click 'Add New'
Select a 'Gesture', in our example we'll choose 'Tap'
Then on the 'Action' we will choose to 'Send External Comm Command'
Here we click on 'Configure'
To add a command, click 'Add Command'
We choose the 'Connection' as the TCP we set up earlier:
And select the command we want to send which is the 'Brightness 80%' command
Now, we need to specify the end points this command is broadcast to:
When we click into the Connection Endpoints box we'll be presented with a drop down of all the connections setup on this TCP connection. We can select the one(s) we want to send the command to:
Our configuration will look like the below where we can click 'Save Changes'
We can then repeat this process for all other zones and commands we want to send. Once done, the layout can be saved and published to the device.
With the layout running on the device, whenever the relevant zones are tapped , the associated brightness commands will be sent to the Novastar 660 Pro controller.
This is just one example of how to use TCP connections with embed signage but it can be applied to any external devices that can communicate via TCP.
Have fun! 😃
Should you have any questions about using this feature, please reach out to us via [email protected]