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.
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.
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 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.
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 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).
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.