Boxnet – A Decentralized Network

Our decentralized network “Boxnet” showcases the connectivity of everyday objects.

 

In this project we prototyped individual physical computing devices and interconnected them in a decentralized network. All devices are integrated into uniform boxes, and contain two Ethernet-Ports which enable peer-to-peer connections between them. They feature unique functionalities and run on a microcontroller, which either listens for or outputs signals to other connected boxes.

Write Boxes
Since Write Boxes have two Output ports, they can be connected to up to two boxes directly. A Write Box outputs a signal in predefined intervals or external user inputs.

Read Boxes
If Read Boxes receive a signal on their input ports, they perform an individual action. During or after this action, the received signal will be passed through via its Output ethernet port. In this way boxes can be connected and activated in a row, while being triggered from a single Write Box.

It’s an Open Network

Since the network is open and decentralized, it could be unlimitedly expanded by anyone who knows the protocol. However, each connected box has to operate on the same voltage to avoid harm to other boxes. In our prototype we agreed upon these common specifications:

Microcrontoller/Board: Adafruit Feather HUZZAH ESP8266
Power supply: 3.7 V Lithium Polymer battery
Circuit voltage: 3.3 V (GPIO pin default)
Box measurements: 20x20x20mm
Ports: Ethernet Communication
Protocol: XNodes Library

My classmates Nina Botthof, Sujing Lin and Daniel Boubet came up with a lamp box, traffic lights, an elevator, a moving surveillance camera, a ventilator and a stove. I contributed two Write boxes:

Security Gate Box

The fist box I built for the network is a “security gate”. As soon as the correct password has been entered with the keypad, the write box outputs a signal.

The “security box” outputs a signal, if the password has been entered correctly.
An Adafruit Feather HUZZAH board runs the box.
The upper surface of the box contains the 4×4 keypad, a green and red LED and a hole for the build-in piezo buzzer. Since the keypad requires more pins than available on the board, I used a PCF8574 port expander. The code reads the pressed keys and adds them to a string variable, which deletes itself if its length exceeds more than four characters. If the string equals the valid password “1234”, the red light switches off and the green LED turns on for a few seconds. In addition, the piezo provides a sound feedback according to the input.

Clock

My second write box is a digital clock and displays the current time and date on a LCD display. Once in ten seconds it outputs a signal.

The LCD displays the current time and date until the box outputs a signal. Then “OUTPUT” indicates the action.
A port expander converts the pressed keys into bytes.
The box connects to the internet using its built-in Wi-Fi module and requests the current time from a NTP server. I used the Arduino library “Time.h” to ensure that the seconds are counted correctly, while minimizing the web requests. Two more libraries from Adafruit power the LCD display. To save battery capacity, the Nokia 5110 LCD’s background light level is mapped with a photo resistor value and dimmed by pulse-width modulation (PWM).

Showcase

The final installation was showcased in 2017 at the annual exhibition of the University of Applied Sciences Potsdam. We introduced visitors to the concept of connect devices and let them to play and experiment with our abstracted physical network. On one hand it showed how decentralized networks work and how they are manipulable, on the other hand it demonstrated the enormous potential of connected objects in the Internet of Things.