Home » Deve­lo­p­ment » Exhibits API

Exhibits API

The Exhibits API was deve­loped speci­fi­cally for monitoring and control­ling digital exhibits in exhi­bi­tions and museums.

Stan­dard media controls can turn an exhi­bit’s PC on or off, but many museum opera­tors want more control options, such as monitoring the soft­ware on the PC.

The exhibit does not work anymore!

NeuroomNet can deter­mine whether the PC or the soft­ware has stopped respon­ding. In that case, you can use NeuroomNet Monitoring to restart the soft­ware. This is faster than restarting the entire PC.
It is also helpful to know where the error origi­nated in order to resolve it perma­nently.

How does it work?

The exhibit appli­ca­tion connects to the NeuroomNet server via a network using the provided inter­face. Exhibits are uniquely iden­ti­fied via Vend­orIDs.

There are stan­dard actions that NeuroomNet has imple­mented for this, for example:

  • User login/logout
  • Restart Exhibits Soft­ware
  • Restart soft­ware

The deve­lo­pers of the exhibits can imple­ment the func­tion­a­lity of these actions in their soft­ware. NeuroomNet only sends the trigger for this.

In addi­tion, individual events and actions can be regis­tered. These then become visible and execu­table in the NeuroomNet monitoring and NeuroomNet script blocks.

Notice.

Here is the distinc­tion from soft­ware API. The soft­ware API also offers on a low-level protocol the possibility to log events and actions, but just that and no prede­fined proto­cols for user logins, etc.

Technical details

The API is imple­mented on the NeuroomNet server, to which the exhibit manu­fac­tu­rers’ appli­ca­tions connect. The WebSo­cket protocol (ws:// accor­ding to RFC 6455) is used for commu­ni­ca­tion, which offers a number of advan­tages: The protocol is based on TCP (connec­tion-oriented) and ensures the bidi­rec­tional exch­ange of message packets. In addi­tion, ready-made libra­ries are already available for a wide range of runtime envi­ron­ments (opera­ting systems and programming languages).
The server listens for connec­tion requests on a prede­fined port. Appli­ca­tions must connect to the server as soon as they are ready.
The trans­mitted data packets consist of JSON strings.
It is recom­mended to store the server’s IP address—or rather, its name, which can be resolved via DNS—and the port in an appli­ca­tion-specific confi­gu­ra­tion file so that any neces­sary adjus­t­ments can be made easily.

PING — Are you still there?

After connecting/logging in an exhibit to the server, the server will query the status of the application/exhibit at regular inter­vals to be able to visua­lize error states in the media control and thus allow the exhi­bi­tion staff to correct the error. If the appli­ca­tion hangs and does not respond or the WebSo­cket connec­tion is discon­nected, the exhibit is reported as “OFFLINE”. On the other hand, the appli­ca­tion may only return an “Ok” if all compon­ents are working properly. However, exhibit soft­ware can also report individual errors such as “No more paper” or “Connected camera not working”.

Visitor identification via RFID or QR code

The system is desi­gned to manage visitor login information. This is described here as an example of regis­tra­tion using an RFID wrist­band.
The visitor checks in at an exhibit by holding their RFID wrist­band up to the exhibit’s RFID reader. The RFID reader trans­mits the wristband’s ID to the system, which then commu­ni­cates this via API to the assi­gned appli­ca­tion from the exhibit manu­fac­turer. The appli­ca­tion will then initiate the visitor’s inter­ac­tion with the exhibit (game, information, etc.). Once this inter­ac­tion is complete (whether normally upon comple­tion of all actions, through an explicit, manual termi­na­tion, or due to a timeout), corre­spon­ding information is sent to the system.

If, in the course of visitor inter­ac­tion, it is neces­sary to confirm a tran­sac­tion via RFID wrist­band, this information is trans­mitted to the appli­ca­tion in the same way. The appli­ca­tion must decide based on its status whether it is a confir­ma­tion, a new regis­tra­tion, or a change of visitor.

Imple­ment visitor identification yourself

What is the advan­tage of using the NeuroomNet Exhibits API?

Finally, each appli­ca­tion could also imple­ment its own commu­ni­ca­tion with an RFID or QR code reader.

  • It is often the case that several compa­nies write the exhibit soft­ware for an exhi­bi­tion. So that would mean that each company would have to build the appli­ca­tion once itself — so the same work would have to be done multiple times.
  • There is no central autho­rity to decide whether the ID is valid at all.
  • Central statis­tics can be created through the use of exhibits.
  • In the event of a device repla­ce­ment (RFID defec­tive) and changed hard­ware or firm­ware, all appli­ca­tions would have to be adapted.
  • The same tech­no­logy can be used in the building for other appli­ca­tions such as access control or to control visitor tours.

For more examples and expl­ana­tions take a look at our documentation.