-
Date: 25/05/2021
Languages: C#, Python
Keywords: Unity, API, Networking, Playwest, Group Project
Overview
This project is a program that can control a Vestaboard; a physical board of tiles each one being able to show a character or a colour. The aim of this project was to provide a more in-depth control system of a Vestaboard. There is already a pre-existing app that can set the tiles of a Vestaboardand board layouts. However, this project is also able to produce an effective slide show of layouts where a user can set multiple layouts after each other with a specific delay between each one.
The bodge
To control the Vestaboardoutside of the app a web-based API is provided. Web requests of board layouts can be sent to this API to change the layout of a Vestaboard. However for some unknown reason, the API always produced an error every time a web request was sent. Because of this, a workaround was done to still control the board. This workaround used a python wrapper around the API to successfully control the Vestaboard. I wrote a python program that could pass board layouts to the wrapper to control the Vestaboard. To then communicate between the program in Unity and the python program the sockets layer was used. This effectively meant that a layout created in unity would be sent locally as a packet to the python program which listened for packets and would send the packet’s contents to the wrapper. Then the unity program ran the python program using command line in C# when the program started up. Because of this, the whole system was bodged together in order to function.
Video Footage
Videos of the Vestaboard being set by the program (left) and a rundown of the program itself (right)