Maddin-619 / DartsVisionApp

The app uses a camera to detect the fields hit on a dartboard. Via a webapp you can start a game that then automatically counts the points.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

DartsVisionApp

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.

Description

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.

Requirements

Hardware

Software

  • Linux OS on the Raspberry Pi (Debian, Ubuntu, ...)
  • Python 3
  • Open CV for Python 3
  • NodeJS
  • Mongodb
  • RabbitMQ

Install

  1. Set up Raspberry Pi with OS and connect it to your local network.

  2. Install Python 3

sudo apt-get install python3 
  1. Install Open CV with instructions form here

  2. Install NodeJS from https://nodejs.org.

  3. Install Mongodb:

sudo apt-get -y install mongodb
  1. Install RabbitMQ
sudo apt-get install rabbitmq-server
  1. Build the project:
npm install
  1. Run the server:
npm start
  1. Connect with your smartphone via browser:
raspberrypi:3000

Operation manual

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.

About

The app uses a camera to detect the fields hit on a dartboard. Via a webapp you can start a game that then automatically counts the points.

License:GNU General Public License v3.0


Languages

Language:Python 41.2%Language:HTML 37.8%Language:JavaScript 20.2%Language:CSS 0.9%