Software running on the raspberry Pi 4 of the remote controlled board game
Require Python, Kivy (UI Library), pyserial, Stockfish (Chess engine) and its API for Python
- A working chess display with drag and drop piece movement
- Start a new game with human vs human
- Install Tools for creating a virtual environment for python
python -m pip install --upgrade pip setuptools virtualenv - Create a new folder on raspbian desktop named adveisor and download the code / clone the repository to the folder and activate the python virtual environment
python -m virtualenv kivy_venv source kivy_venv/bin/activate - Install Kivy
python -m pip install "kivy[base]" kivy_examples sudo apt install libsdl2-dev libsdl2-image-dev libsdl2-mixer-dev libsdl2-ttf-dev - Install Stockfish, Stockfish API for Python and pyserial
sudo apt-get install stockfish pip install stockfish==3.21.0 pip install pyserial - Follow 3.5 Inch RPI display installation guide to finish the LCD setup (Optional)
sudo rm -rf LCD-show git clone https://github.com/goodtft/LCD-show.git chmod -R 755 LCD-show cd LCD-show/ sudo ./LCD35-show 270 - To return to hdmi:
cd LCD-show/ ./LCD-hdmi
- run program by entering
python gui.py
- Path of files are correctly included (kivyLib.py, gui.py)
- Correct serial port (Commonly "/dev/ttyUSB0" or "/dev/ttyACM0") in test.py
- When running without motion system as stand alone: set enable in test.py to False
- Fully functional chess logic powered by Stockfish with en passant, castling and pawn promotion Implemented
- Fully custom written graphical interface for controlling and visualizing the game board
- Automatically linked reset, newgame, and move function
- Support Human VS Human, Human VS Human (only software), Human VS AI, AI VS AI (POG)
- Support board side switching
- Ladders and snake and monopoly game option
- drunk chess
- Integration of visual recognition model to reach autonom chesspiece position and movement detection
See Kivy examples and Kivy Documentation