Jump to content

Interactivity via RS232

From SpinetiX Wiki
Note  
Applies to all players, except HMP300 and DiVA. For DSOS players, a SYSTEMS Feature Set is required.

Introduction

Example of integration via RS232 with Qmatic

Interactivity via RS232 refers to the player quality of reacting in a user-defined manner, following the input received from external devices via serial connection. This means that the player can interact with practically any RS-232 standard compliant device connected to its serial port, both to receive and send data messages. For instance, a message received on the serial port could trigger a content switch on the screen. Or the player could send a message on the serial port when a certain event occurs, like turning the screen on in the morning.

Here are some examples of third-party devices that can used:

  • Control Systems: Crestron (e.g., MPC-M5-B-T), AMX, Extron
  • Queue Management Systems: Qmatic
  • GPS receivers: Navman, Evermore
  • contact closure / relay controllers: NCD, Quasar, Neets QueBec

On the implementation side, the RS232 communication is handled through two distinct methods:

Configuration

Peripherals → Serial
Peripherals → Serial

The first step is to enable and configure the serial port usage from Control CenterPeripherals → Serial page.

Next, if you have written a serial port protocol file, you must activate it on the player from Peripherals → Automation (Settings: Advanced).

How to create interactive content

Using JavaScript COM API

Currently, there's no interactive built-in widget included into Elementi Library for this type of interactivity, yet it should be fairly easy (though some JavaScript knowledge is required) to install a handler for com events as explained on the JavaScript COM API page.

Using a protocol file

Alternatively, an FSM protocol file can be written to translate RS232 input messages into Shared Variable update actions or into interactive events. With other words:

  1. Use the <onInput> transition to match the command sent from the external device.
    • The matching is done using either the data or match attribute. You can also change the state using the goto attribute.
  2. Inside this transition or the specified state, use either the <update> action (to update a Shared Variable) or the <fire> action (to fire an interactive event).
  3. Use one of the interactive widgets from Elementi Library to implement a reactive action.

For such FSM files examples, see Receiving commands, Sending and receiving commands and NMEA-0183 protocol file. For a sample project, see GPS test project.

Troubleshooting

See the Serial port troubleshooting section for more details.

See also