Come costruire un segna presenze con Raspberry e Nios4 (seconda parte)

 

Creazione database cloud e prima sincronizzazione


In questo secondo articolo, installeremo i programmi in Python per leggere i dati degli RFID, controllare la loro validità e inviarli al proprio database cloud per l'archiviazione e la loro condivisione.

Se ti sei perso la prima parte della guida su come costruire un segna presenze con Raspeberry e Nios4, clicca qui per recuperarla.


Procedimento

Dopo aver controllato che tutti i componenti funzionino e che abbia un accesso al Raspberry, crea un account sul sito web.nios4.com.

 


  

Creato l'account, il sito chiederà di scegliere un template per creare il primo database. Nel progetto GitHub, che hai scaricato nel primo articolo, è presente il pacchetto per la creazione del database da utilizzare.

Attraverso la selezione di un template personalizzato o con il comando Installa pacchetto (presente dentro al menu Help di tutti i database aperti), seleziona e installa il file attendance_makers.nios4. Questo creerà il database con tutti i campi e le tabelle che dovrai utilizzare in questo esempio.

 

 

Installato il database, sei pronti per inserire le librerie di Python all'interno del Raspberry.


Le librerie Python per la prima sincronizzazione dei dati

Scarica il progetto del sincronizzatore dati da GitHub dal seguente indirizzo:

https://github.com/davidesbreviglieri/py_sync_nios4

A questo punto, apri il file test.py per inserire i dati del tuo account e il nome del database. Nella versione web, questo nome si trova nella parte inferiore a destra della schermata.


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
#==========================================================
#TEST SYNC NIOS4
#==========================================================
from sync_nios4 import sync_nios4

username = "username"
password = "password"
dbname = "dbname"

sincro = sync_nios4(username,password)

value = sincro.login()
if sincro.err.error == True:
    print("ERROR -> " + sincro.err.errormessage)

sincro.syncro(dbname)
if sincro.err.error == True:
    print("ERROR -> " + sincro.err.errormessage)


All'interno del file imposta le variabili username, password e dbname. I successivi comandi inizializzano la classe di sincronizzazione, eseguono un login al server per controllare l'effetiva validità delle credenziali e, come ultima cosa, eseguono una sincronizzazione del database.

Dai il comando riportato qui di seguito e lancia il programma:

    python3 test.py

Nella prima sincronizzazione il programma creerà la cartella "db" e il file del database SQLite3. Imposterà la struttura di base dei database di Nios4 e scaricherà tutti i dati.

Se l'operazione sarà eseguita con successo, avrai una copia dei dati del tuo cloud sul Raspberry.


Il programma del segna presenze

Digita il seguente comando per lanciare il programma:

    python3 attendance_makers_nios4.py

Se tutto è andato bene, il segna presenze dovrebbe presentarsi in questo modo:


 

Nella prima riga del visore LCD compare la data e l'ora attuale, mentre nella quarta riga viene riportata la scritta "D-One" e l'IP del segna presenze. In caso l'IP sia127.0.0.0, significa che il segna presenze non è collegato alla rete.

Per leggere l'ID di un RFID, avvicinalo al lettore. Se l'ID è registrato, verrà mostrato il nome del possessore, altrimenti verrà visualizzato "Scheda non valida" e il suo ID. In questo caso, ricopia il numero e inseriscilo all'interno del database per poter associare questo RFID a un tuo utente.

 

 

Ricorda sempre di risincronizzare sia il programma dove avete inserito gli utenti sia il segna presenze, per permettergli di ricevere questi dati.


Questo è il procedimento per costruire un segna presenze per l'ufficio, utilizzando un Raspberry e il gestionale Nios4 come infrastruttura per l'interscambio di dati.

Commenti