Cum se construieste un registru de prezenta cu Raspberry si Nios4 (partea a doua)

 

 

Crearea bazei de date Cloud si prima sincronizare

 

In acest al doilea articol, vom instala programele in Python pentru a citi datele RFID, pentru a verifica validitatea acestora si a le trimite in baza de date Cloud proprie pentru stocare si partajare.

Daca ai ratat prima parte a ghidului despre cum se construieste un registru de prezenta cu Raspberry  si Nios4, apasati aici pentru a-l parcurge.

 

Metoda de construire

Dupa ce ai verificat daca toate componentele functioneaza si ai acces la Raspberry, creaza un cont pe site-ul web.nios4.com.

 

 

 

Odata ce contul a fost creat, site-ul va cere sa alegi un sablon pentru a crea prima baza de date. In proiectul GitHub, pe care l-ai descarcat in primul articol, exista pachetul pentru crearea bazei de date de utilizat.

Selectand un sablon personalizat sau cu comanda Instalare pachet (prezenta in meniul Ajutor al tuturor bazelor de date deschise), selecteaza si instaleaza fisierul attendance_makers.nios4. Aceasta va crea baza de date cu toate campurile si tabelele pe care va trebui sa le utilizezi in acest exemplu.

 

 

 

Odata ce baza de date este instalata, esti pregatit sa introduci bibliotecile Python in cadrul Raspberry.


Librariile Python pentru prima sincronizare a datelor

Descarca proiectul sincronizatorului de date din GitHub de la urmatoarea adresa:

https://github.com/davidesbreviglieri/py_sync_nios4

In acest moment, deschide fisierul test.py pentru a introduce datele contului tau si numele bazei de date. In versiunea Web, acest nume se afla in partea dreapta jos a ecranului.

 

 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)


In interiorul fisierului seteaza variabilele: nume utilizator, parola si dbname. Comenzile ulterioare initializeaza clasa de sincronizare, efectueaza conectarea la server pentru a verifica validitatea efectiva a datelor de identificare si, in cele din urma, efectueaza sincronizarea bazei de date.

Lanseaza comanda de mai jos si apoi programul:

    python3 test.py

In prima sincronizare, programul va crea folderul „db” si fisierul bazei de date SQLite3. Va configura structura de baza a bazelor de date ale Nios4 si va descarca toate datele.

Daca acest lucru este efectuat cu succes, vei avea o copie a datelor din Cloud tau pe Raspberry.

 

Programul registrului de prezenta

Tasteaza urmatoarea comanda pentru a lansa programul:

    python3 attendance_makers_nios4.py

Daca totul a mers bine, registrul de prezenta ar trebui sa arate astfel:

 

 

 

Pe prima linie a afisajului LCD apare data si ora curente, in timp ce pe a patra linie este afisat „D-One” si IP-ul registrului de prezenta. In cazul in care IP-ul este 127.0.0.0, inseamna ca registrul de prezenta nu este conectat la retea.

Pentru a citi ID-ul unui RFID, tine-l aproape de cititor. Daca ID-ul este inregistrat, va fi afisat numele proprietarului, altfel, va fi afisat „Card nevalid” si ID-ul acestuia. In acest caz, recopiaza numarul si introdu-l in baza de date pentru a putea asocia acest RFID cu unul dintre utilizatorii tai.

 

 

De retinut: intotdeauna resincronizeaza atat programul in care ai introdus utilizatorii, cat si registrul de prezenta, pentru a-i permite sa primeasca aceste date!

Aceasta este procedura pentru construirea unui registru de prezenta pentru birou, folosind un Raspberry si sistemul de management Nios4 ca si infrastructura pentru schimbul de date.

Comentarii