BrightSign offers an extensive array of developer tools. These are listed here in alphabetical order.
BrightScript Debugger
The BrightScript Debugger is a tool that facilitates debugging of BrightScript code. It is available through the BrightSign Shell (see below). To turn the BrightScript Debugger on, type script debug on
at the console. More info can be found here.
BrightSign Shell / Console
The BrightSign Shell, also referred to as the BrightSign Console, is the command line interface that enables interaction with the BrightSign OS through a serial cable or telnet/SSH.
From the BrightSign Shell, the script
command can be used to access the BrightScript Debugger, and the node
command can be used to access Node related functions.
Commands for the BrightSign Shell can be found here.
Instructions on how to access the console via a serial connection can be found here. ← Currently creating a public page that will combine /wiki/spaces/IKB/pages/5866586 and Ben's page.
Crash Dumps
When a player encounters a non-deliberate shutdown (aka a crash), “crash dumps” are generated upon reboot. These files contain useful information that BrightSign Support can analyze and use to help troubleshoot. These files can be found in the brightsign-dumps folder located in the root folder of the player’s storage device.
Further details about crash reports can be found /wiki/spaces/IKB/pages/5876561.
Diagnostic Web Server
The Diagnostic Web Server (DWS) is a powerful tool that enables inspection of various player settings and diagnostic details. Both a Local Diagnostic Web Server (LDWS, accessible over the local network via the player’s IP address) and Remote Diagnostic Web Server (RDWS, accessible via either the Control Cloud or Content Cloud at bsn.cloud) are available. General info about the DWS can be found here and more specific info about the RDWS can be found here.
Media Analyzer
The DWS includes a useful tool that can analyze media files for playability. More info can be found here.
HTML
HTML is a common format for displaying presentations on BrightSign players. The HTML Best Practices document will likely be very useful to developers. Specific sub-sections from that document worth noting individually are listed below.
Memory
Identifying and resolving memory leaks <-- currently a draft page
Web Inspector
Web pages can be debugged over the local network using the Web Inspector.
Chromium Version
The Chromium version that BrightSign players use is likely several versions behind that version that most users are using in their web browsers. Find the Chromium version for the specific firmware version of your player here.
During development and testing, it is useful to have the correct version of Chromium on your Mac or PC. More information about this can be found /wiki/spaces/IKB/pages/5893564 and here.
Logs / Diagnostics
Logs contain important diagnostic information about players. System logs (sometimes referred to as player logs) from the player are available and can be gathered via a syslog server, telnet or SSH, or an RS-232 serial cable. More info can be found here.
Refer to this article on obtaining player logs and this one for interpreting player logs. Logs can easily be accessed via the RDWS as described here.
Node
The node prompt is a command-line interface (CLI) that allows you to interact with Node.js. It is used to run JavaScript code and execute Node.js commands. Info about the Node prompt as well as the Node Inspector/Debugger can be found here.
Registry
The registry object allows you to read from and write to the player registry (the player’s persistent memory). More info about the registry can be found here.
Serial Ports
Brightsign players have serial ports for diagnostic purposes as well as to provide interactive capabilities. More info about serial ports can be found here.
Telnet and SSH
Telnet and SSH can be used to communicate with BrightSign players. More info can be found here.
VSCode Extension
The popular BrightScript Language extension for VSCode facilitates coding in BrightScript and is used by thousands of developers around the world. Note that Brightsign’s BrightScript is a fork of Roku’s BrightScript. The forks have diverged and while they are similar, they are technically not the same. Nevertheless, developers may find value in this extension.
Next, we provide a recommended developer setup to help maximize efficiency in developing for the BrightSign platform.