This app serves to digitize the steel darts sport. You get the advantages from the e-darts with the steel darts. The app is based on the fact that the darts are recognized by a camera and the points are evaluated automatically. This eliminates the annoying calculation and note the points.
The system hardware is a raspberry pi with a raspberry pi camera. This is located above the dartboard on the ceiling. This software is designed for such a system.
Core element of the app is the python programm. It is responsable for the darts reconginizion via the camera. It sends the scored points over AMQP middleware to the NodeJs web app. DartsVisionApp is a web application based on the MEAN stack. It is the user interface. Connecting to the website via Smartphone makes it possible to create players and starts a darts match.
- Raspberry Pi (3)
- Raspberry Pi camera
- Raspberry case
- 2 x Dart Board (lights to avoid shadows sometihing like that)
- Relais for Dart Board lights (install instructions here)
- Linux OS on the Raspberry Pi (Debian, Ubuntu, ...)
- Python 3
- Open CV for Python 3
- NodeJS
- Mongodb
- RabbitMQ
-
Set up Raspberry Pi with OS and connect it to your local network.
-
Install Python 3
sudo apt-get install python3
-
Install Open CV with instructions form here
-
Install NodeJS from https://nodejs.org.
-
Install Mongodb:
sudo apt-get -y install mongodb
- Install RabbitMQ
sudo apt-get install rabbitmq-server
- Build the project:
npm install
- Run the server:
npm start
- Connect with your smartphone via browser:
raspberrypi:3000
The root page gives an overview about the created players. Here you can create/delete players and look into the statistics. By clicking new game you can create a new game. Select the players and chose the game mode and click on create. Now the game starts. The arrow indicates the players turn. When pulling out the darts from the board is recognized that the next player is on the row. If no dart has hit the disk then the hand must once through the aperture of the camera.