Device Core Link
The Blue Pill app called dclink-tcp is designed to provide a simple, unified TCP based ASCII interface to any broadcast or AV device supported by SKAARHOJ. It simply translates SKAARHOJs proprietary intermediate device protocol into structured ASCII commands for setting, getting and also subscribing to changes of values. This makes it incredibly easy for integrators to tap into any device, we have already written support for!
For a long time, we have provided the product "TCP Link for ATEM" (formerly known as "ATEM-TCP Link") which is the inspiration for this application. You can even run dclink-tcp in a special "TCP Link for ATEM" mode to support much of the legacy protocol of that product for drop-in replacement situations.
dclink-tcp lets one or more TCP clients connect to it and facilitates a simple, human readable way of setting and getting values from any number of devices of mixed type through the intermediate proprietary protocols SKAARHOJ has developed for Blue Pill.
Command Examples
Set the program video input on ATEM switcher (with device ID 2) on M/E 1 to input 3:
DC:bmd-atem/2/ProgramInputVideoSource/1/ = 3
Set Skin tone mode to "Low" on a panasonic PTZ camera:
DC:panasonic-ptz/1/SkinToneMode/=Low
Subscribe to any change on a Blackmagic Design video hub:
subscribe DC:bmd-videohub/1/
Above commands are sent from the same TCP connection since it can access all devices found on the devicecore-connector end-point
Setup
Install the "dclink-tcp" application
On your Blue Pill, go to Packages and search it up, install it and start it
Check that devicecore-connector is also installed and running
This could also be on another Blue Pill on which you are hosting the device cores.
Configure dclink-tcp
Click on "dclink-tcp" in Packages and you will see the config screen. Add a Link Server entry and enable it. You may leave the rest of the fields alone in the standard case with local device core hosting. Otherwise consider changing Device Core Connector IP:Port and also the server port (in case you have multiple Link Servers you will need that).
Open nc, telnet or Putty to connect to it
Type in "list" + enter to see which device cores and devices are available and whether they are connected.
See parameters with "listio"
Type "listio" + the base IOreference (fx. "DC:bmd-videohub/1/") to see which parameters you can read, write, the value types, which value ranges exists etc.
Type "help" to see commands
Subscribe to changes
It's very useful to subscribe to changes on an individual parameters or everything from a given device core. Try fx. "subscribe DC:bmd-videohub/1/" if you have a device IO reference called "DC:bmd-videohub/1/". This will immediately deliver the values of all parameters and keep sending updates if they change:
To change input on video hub output 12 you would send this string:
DC:bmd-videohub/1/routeInputToOutput/12/=1
Licensing
Notice! Right now (Jan 2023) we cannot issue licenses yet and we don't even have pricing ready. However, we are giving complementary licenses away for free to early adopters. Just send us your Blue Pill serial number to innovationlab@skaarhoj.com with a kind message to Kasper about it, tell us a bit what you will be using it for and what your expectations are. |
The dclink-tcp application will always give you about 10 minutes of free and unlimited TCP usage after a 20-60 second quarantine period from application (re-)start. After 10 minutes you won't be able to receive or send messages over TCP. Re-starting the dclink-tcp package in the Blue Pill Web UI will reset the period.