Spook station is a role-playing tool controlling ghost-hunting equipment wirelessly. The idea is to have real-life ghost-hunting-like equipment used by the players that are remotely controlled by the game organizer (or Dungeon master). The Dungeon master can trigger behaviors in the devices in correspondence to events in the game.
(If you are trying to follow these steps for the first time, PLEASE let us know if you run into any problems so we can update the setup process)
- Python 3.9 (preferably installed from the Microsoft store)
- Mosquitto MQTT broker (https://mosquitto.org/download/)
- git (https://git-scm.com/download/win)
- GitHub Desktop if you prefer GUI for git (https://desktop.github.com/)
- Visual Studio Code (https://code.visualstudio.com/)
- Clone this repository to your Windows machine using git
- Run setupDevEnvironmentWindows.bat
- In Visual Studio Code: Select 'Open Folder...' and select the cloned repository
- Hit Ctrl + Shift + P and write 'select interpreter' and click 'Python: Select Interpreter'
- Select the Python executable found in <cloned repository>/venv/Scripts/python.exe
- Open the main GUI python file in Visual Studio Code: <cloned repository>/SpookStation/SpookStationGui/main.py
- Hit F5 to start debugging
- Run runGuiWindows.bat
- Python 3.9 or Python 3.10
- GitKraken Client if you prefer GUI for git (https://www.gitkraken.com/)
- Visual Studio Code (https://code.visualstudio.com/)
- Clone this repository to your Ubuntu machine using git
- Run 'bash setupDevEnvironmentUbuntu.sh'
- In Visual Studio Code: Select 'Open Folder...' and select the cloned repository
- Hit Ctrl + Shift + P and write 'select interpreter' and click 'Python: Select Interpreter'
- Select the Python executable found in <cloned repository>/venv/Scripts/python
- Open the main GUI python file in Visual Studio Code: <cloned repository>/SpookStation/SpookStationGui/main.py
- Hit F5 to start debugging
- Run 'bash runGuiUbuntu.sh'
There are two types of hardware involved in this project: The Spook station and the devices.
The device known as the spook station, is a Raspberry Pi 3B+ enclosed in a touchscreen case. One or more devices connect to the Raspberry Pi's access point and connect to the locally hosted MQTT server on the Raspberry Pi. The main device runs a touchscreen GUI based on KIVY and sens control commands to the connected devices.
Devices automatically connect to the spook station and start listening for control signals and publish state signals. The communication used is MQTT over locally hosted access point so there are no requirements for what hardware is used for the devices.
Currently, we only support a modified EMFReader that has been modified to be controlled by an ESP32-S2 microcontroller instead of the actual electromagnetic frequency sensing equipment. The EMFReader automatically connects to the spook station and can be controlled through the GUI.
The following can be controlled from the spook station:
- How many lights should be lit up
- Select the fluctuation magnitude
- Select how much the lights fluctuate from the selected number of lights from (1.)
- Select how fast the lights should fluctuate
- Select if there should be sound played on the EMFReader when EMF levels 4 and 5 is detected
The GUI implementation is not done yet for SpiritBox. The SpiritBox uses Raspberry Pi Zero 2W.
The following can be controlled from the spook station:
- Set speech volume level
- Set speech rate
- How fast the voice should be
- Say sentence/word
- The voice is synthesized to the connected speaker on the Raspberry Pi zero 2W
- Set language
- Set background static volume
- Set static volume while speaking
No work has been done on the flashlight implementation yet