Exponiert museum automation system

     +------DEVICES-------+
     |  Keys, Switches,   |
     | Sliders, Joystick, |
     |  Lamps, Display,   |
     |  Rotary Encoders,  |
     |  Motors, Sensors   |
     +--------------------+
                |
                | Power and data
                | via short wire or even
                | 20m cable
                |
 +--EXPONIERT CIRCUIT BOARDS--+
 |      Analog, Digital       | <-- Exta power supply
 +----------------------------+
                |
                | Exponiert Bus
                | (5V high current I2C,
                |  5V 1A power supply)
                | 4 pin DIN plug (S-VHS)
                |
 +--------RASPBERRY PI--------+
 |  Exponiert Breakout Board  | <-- 5V, HDMI, Network, USB
 +----------------------------+
                |
                | Linux I2C
                |
+-------EXPONIERT SERVER-------+
| Custom Script running NodeJs |
|  Dependencies: i2c-bus, ws   |
+------------------------------+
                |
                | Websocket
                |
   +---------BROWSER---------+
   | Backend for development | <-- Web app from file://
   |  Frontend for visitors  |
   +-------------------------+

Devices

Input devices are plain voltage sources like switches, potentiometers or analog sensors.

Output devices are voltage controlled like lamps, motors.

Both the 4 pin Mini Din Exponiert Bus cable and the wires to the devices can be >10m long.

Exponiert Circuit Boards

The boards connect the Exponiert bus from Raspberry Pi to the analog and digital devices. They contain ICs that are addressed in the Node server.

There are two types of boards:

Three boards can be connected to the Raspberry Pi Breakout Board directly and one after another in a chain.

The Raspi provides 5V 1A, enough for many cases. If you need more, you can add an extra supply up to 50V to the Digital Board.

Server

The Nodejs application server connects to the boards using i2c-bus NPM package. On the other side, it connects to the browsers via Websocket on port 1337 using ws NPM package.

The server has a small custom script you have to write for the individual hardware.

Browser

If you need support with the websocket, there is a Javascript snippet binding the browser to the Node server. For everything else, use your preferred framework or Vanilla Javascript.

Changelog

Todo



Text and Photos: The MIT License 2021 Kastanie Eins GmbH