Sense Bus

The Sense Bus is a system for collaboration among interactive artworks. The system is based upon the core idea expressed by the three words: sense / transform / express. The Sense Bus is very simple and can be implemented with a minimum of resources (the target implementation platform is the Basic Stamp micro-controller from Parallax). The bus allows the sharing of sense experience amoung a small group of interconnected peers.

Sense / Transform / Express
Sense Bus: Implementation
SenseBus: Using
SenseBus Hub
Activities on the Network
Sample Basic Stamp Implementation
Sense Bus Internet Bridge

Sense / Transform / Express

The flow of information in an interactive artwork can be modeled by the phrase sense / transform / express. The artwork gathers information from the outside world using various types of sensors (like video cameras, motion detectors, thermometers, etc) and transforms this raw information (with a computer perhaps) so that in turn it can, in some way, be expressed (the turning on/off of video monitors, the playing of music, etc). By defining boundaries between these stages it becomes possible for one artwork to share the sense information it gathers with other artworks. It is possible to allow the sharing of information at the sense/transform and transform/express boundaries but this is not practical for very simple systems. The Sense Bus limits the sharing of information to the sense/transform boundary:

Sense Bus: Implementation

The sense bus protocol requires that all sense types be assigned an ID (which range from 1 to 254) and that the values for those senses be expressable by a number which ranges from 1 to 254, ie:

ID # Description Value Meaning
01 temperature 1= -10 degrees; 254 = 40 degrees
02 sound volume 1 = quiet; 254 = loud
03 sound direction 1 = north; 2 = ne; 3 = e; 4 = se; 5 = s etc
etc

The SenseBus uses standard four wire telephone cable (red, black, green and yellow wires). The peers are connected with a central hub which provides a synchronizing timing signal. The hub time slices, giving each peer 5 milliseconds to write to the network each cycle. There is no negotiation or token passing, all signals on the network are content.

The SenseBus uses standard four wire telephone cable (red, black, green and yellow wires). The peers are connected with a central hub which provides a synchronizing timing signal. The hub time slices, giving each peer 5 milliseconds to write to the network each cycle. There is no negotiation or token passing, all signals on the network are content.

The wiring of the four wires is as follows:

When a peer is given the write enable, it sends 12 bytes onto the network at 38.4k baud. The peer writes 2 zero bytes then 10 bytes. The 10 bytes form a SenseBus packet:

Byte # Meaning
0 unused (should be 0)
1 peer ID (each peer is given a unique ID #)
2 sense ID
3 sense value
4 sense ID
5 sense value
6 sense ID
7 sense value
8 sense ID
9 sense value

SenseBus: Using

Using the SenseBus is easy. There are only three functions:

A typical program would have a main loop similar to this (download the sense bus code):

start:
        
        gosub ReadPacket
        if sensePacket[0] = 0 then doSomethingWithPacket
        
        gosub MakePacket
        gosub WritePacket

        goto start

SenseBus: SenseBus Hub

The SenseBus hub that I am working on will facilitate up to eight peers with full read/write privileges. In addition, it will provide eight listening ports that will allow network observers.

Sense Bus Internet Bridge


The Sense Bus Internet Bridge is a program that allows two Sense Bus networks to be connected across the Internet, sharing sense information. The bridge program acts as a peer on the network, storing all of the sense packets that have been sent since the last time the program held the token. When the bridge gets the token it sends all of its stored sense packets across the internet to its companion on the other sense network. If the companion computer has sent sense packets to the bridge, it transmits these (on the local sense network) at the same time. The bridge program runs on a computer running Windows NT or Windows 95.