Harmony integrates tabletop gaming utilities into a game recording and referreeing system.
- Flash Raspbian & update
sudo apt update && sudo apt upgrade
- Install python:
sudo apt install python3 python3-pip python3-dev
- Install nodejs:
curl -fsSL https://deb.nodesource.com/setup_current.x | sudo -E bash -
sudo apt-get install -y nodejs
- Install Graphviz:
sudo apt-get install graphviz libgraphviz-dev pkg-config
- Install Python Dependencies:
pip install -r requirements.txt
- Write Harmony Server configuration:
vim ./harmony/observerConfiguration.json
- Start Harmony Server:
cd harmony && python3 harmonyServer.py
- Connect NeoPixel to {NeoPixelPins}
- Install service definition file:
cp ./observer/observerEyes.service /etc/systemd/system/observerEyes.service
- Reload systemd daemon:
sudo systemctl daemon-reload
- Enable observerEyes NeoPixel service:
sudo systemctl enable observerEyes
- Start observerEyes:
sudo systemctl start observerEyes
Any USB cameras need to be setup as IP cameras for Harmony to access them. Harmony suggests ayufan's camera-streamer and offers systemd service files for it.
Instructions for debian package install from https://github.com/ayufan/camera-streamer/releases/tag/v0.2.6
PACKAGE=camera-streamer-$(test -e /etc/default/raspberrypi-kernel && echo raspi || echo generic)_0.2.8.$(. /etc/os-release; echo $VERSION_CODENAME)_$(dpkg --print-architecture).deb
wget "https://github.com/ayufan/camera-streamer/releases/download/v0.2.8/$PACKAGE"
sudo apt install "$PWD/$PACKAGE"
With camera-streamer
installed, now each camera needs its service file installed and enabled. For each camera:
- Install camera serivce file:
cp ./observer/dmaCameraServices/cam{camNum}-camera-streamer.service /etc/systemd/system/
- Reload systemctl daemon:
sudo systemctl daemon-reload
- Enable camera service:
sudo systemctl enable cam{camNum}-camera-streamer.service
- Start camera service:
sudo systemctl start cam{camNum}-camera-streamer.service
Harmony is built on:
sudo apt-get install build-essential cmake pkg-config libjpeg-dev libtiff5-dev libjasper-dev libpng-dev libavcodec-dev libavformat-dev libswscale-dev libv4l-dev libxvidcore-dev libx264-dev libfontconfig1-dev libcairo2-dev libgdk-pixbuf2.0-dev libpango1.0-dev libgtk2.0-dev libgtk-3-dev libatlas-base-dev gfortran libhdf5-dev libhdf5-serial-dev libhdf5-103 python3-pyqt5 python3-dev graphviz libgraphviz-dev -y