Creato lo scheletro dell'app e documentazione

parent ccaf8a0e
# robogroup
SDA connects to Pin 24.
SCK connects to Pin 23.
MOSI connects to Pin 19.
MISO connects to Pin 21.
GND connects to Pin 6.
RST connects to Pin 22.
3.3v connects to Pin 1.
Tutorial from here:
https://pimylifeup.com/raspberry-pi-rfid-rc522/
![alt text](image.png)
```
sudo apt install python3-dev python3-pip python3-venv
```
Poi nell'ambiente virtuale del progetto:
```
python3 -m pip install spidev
python3 -m pip install mfrc522
```
Il db è già compreso in python come anche la libreria os e time
Per colorare le scritte servirà installare termcolor
```
python3 -m pip install termcolor
```
import time
import os
from termcolor import colored
os.system('cls' if os.name == 'nt' else 'clear')
def mostra_menu():
os.system('cls' if os.name == 'nt' else 'clear')
#print(chr(27) + "[2J") # questa riga serve per cancellare il terminale
#Qui sotto creiamo il menù
print(colored("\nSeleziona l'operazione da effettuare selezionando il numero del menù:\n","green", attrs=["bold"]))
print(colored(" [1] Registrazione nuovo cliente","cyan", attrs=["bold"]))
print(colored(" [2] Acquisto prodotto","cyan", attrs=["bold"]))
print(colored(" [3] Restituzione prodotto","cyan", attrs=["bold"]))
print(colored(" [4] Ricerca numero cliente per nome","cyan", attrs=["bold"]))
print(colored(" [5] Ricerca proprietario di un prodotto","cyan", attrs=["bold"]))
print(colored("\n [0] Esci","magenta", attrs=["bold"]))
n = input("") #leggiamo il tasto inserito dall'utente
if n.isnumeric() : #se è stato inserito un numero entriamo nella funzione che lo controlla
if int(n) in [1,2,3,4,5,0]: #il numero è tra le possibilità ipotizzate?
if int(n) == 0: #se è stato schiacciato lo 0 scrivo arrivederci e esco
print("Arrivederci!")
return 0 #serve per uscire dalla funzione
else:
print("ok")
time.sleep(2)
mostra_menu()
else:
print("Numero selezionato non valido. Riprova!") #se il numero non è tra quelli previsti
time.sleep(3) #aspetto tre secondi
mostra_menu() #faccio ripartire la funzione del menù
else:
print("Scelta non corretta. Deve essere un numero. Riprova!") #se l'immissione non è un numero
time.sleep(3) #aspetto tre secondi
mostra_menu() #faccio ripartire la funzione del menù
if __name__=="__main__": #se sto chiamando il programma principale
mostra_menu() # avvia la funzione per mostrare il menù
\ No newline at end of file
image.png

249 KB

......@@ -2,17 +2,30 @@ import RPi.GPIO as GPIO
from mfrc522 import SimpleMFRC522
import sqlite3
def leggi_codice_rfid():
def leggi_cliente():
reader = SimpleMFRC522()
try:
print("Ciao, avvicina il tag RFID al ricevitore!")
print("Ciao, avvicina il tag del cliente al ricevitore!")
id,text = reader.read()
#print(id)
#print(text)
except:
print("C'è stato un errore di lettura. Ripetere l'operazione!")
pass
finally:
GPIO.cleanup()
return int(id)
def leggi_prodotto():
reader = SimpleMFRC522()
try:
print("Ciao, avvicina il tag del prodotto al ricevitore!")
id,text = reader.read()
#print(id)
#print(text)
except:
print("C'è stato un errore di lettura. Ripetere l'operazione!")
pass
finally:
GPIO.cleanup()
return int(id)
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment