Elimina code per hackmeeting

boyska bd7891d2fb util to move counter up/down 1 month ago
pizzicore 0d31b32429 http api to just check authentication status 1 month ago
schermetto 1b3384c49a let's close the stdin (probably useless anyway?) 1 month ago
utils bd7891d2fb util to move counter up/down 1 month ago
.flake8 5c32a67fcb flake8 ignore rules 1 year ago
.gitignore 3fa81f0ae3 initial commit 1 year ago
README.md 25601d88e9 aggiorna TODO 1 month ago

README.md

Cose fatte:

  • possibilità di sapere lo stato corrente (HTTP)
  • monitorare con websocket
  • interfaccia che mostra in grande dei numeri
  • pagina web per vedere il tutto

Cose da fare:

  • annunci audio
  • altri tipi di input

Struttura

Il tutto funziona mettendo insieme vari componenti scritti in maniera abbastanza indipendente. Ad esempio un programma gestirà il display su schermo, un altro gli annunci audio... Il punto di raccordo è pizzicore, un piccolo server che mantiene lo stato del contatore e che offre semplici API HTTP o chiamate websocket (in modo da poter "seguire" i cambiamenti).

Testare

Lancia il server

Prepara i certificati in pizzicore/cert.pem e pizzicore/key.pem usando openssl:

openssl genrsa -out key.pem 4096
openssl req -new -key key.pem -out server.csr
openssl x509 -req -days 365 -in server.csr -signkey key.pem -out cert.pem

a questo punto lancia docker-compose up

GUI

apt install python3-websocket
./utils/wsclient.py -k 'ws://localhost:8000/v1/ws/counter/0' | stdbuf -o0 jq .value |  ./schermetto/num_display.py  --no-fu --inve 4 --on-key 'env USER_PASSWORD=admin:changeme! ./utils/movecounter.sh'