Cómo construir un dispositivo de marcación de asistencia con Raspberry y Nios4 (segunda parte)



Creación de bases de datos en la Nube y primera sincronización


En este segundo artículo, vamos a instalar programas en Python para leer los datos de la RFID, comprobar su validez y enviarlos a su base de datos en la Nube para su almacenamiento y uso compartido.


Si se ha perdido la primera parte de la guía sobre cómo construir un dispositivo de marcación de asistencia con Raspberry y Nios4, haga clic aquí para recuperarla.


Procedimiento

Después de comprobar que todos los componentes funcionan y que tiene acceso a Raspberry, crea una cuenta en el sitio web.nios4.com.





Creado la cuenta, el sitio le pedirá que elija una plantilla para crear la primera base de datos. En el proyecto GitHub, que ha descargado en el primer artículo, está presente el paquete para la creación de la base de datos a utilizar.


A través de la selección de una plantilla personalizada o con el comando Instalar paquete (presente en el menú Ayuda de todas las bases de datos abiertas), seleccione e instale el archivo attendance_makers.nios4. Esto creará la base de datos con todos los campos y tablas que deberá utilizar en este ejemplo.





Instalado la base de datos, está listo para insertar las bibliotecas de Python dentro de Raspberry.



Las bibliotecas Python para la primera sincronización de datos

Descargue el proyecto de sincronización de datos desde GitHub desde la siguiente dirección:



En este momento, abra el archivo test.py para introducir los datos de su cuenta y el nombre de la base de datos. En la versión web, este nombre se encuentra en la parte inferior derecha de la pantalla.


 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)


Dentro del archivo, establece las variables de username, password y dbname. Los siguientes comandos inician la clase de sincronización, inician sesión en el servidor para comprobar la validez efectiva de las credenciales y, por último, realizan una sincronización de la base de datos.


Dé la orden siguiente y ejecute el programa:


    python3 test.py


En la primera sincronización, el programa creará la carpeta “db” y el archivo de base de datos SQLite3. Establecerá la base de datos de Nios4 y descargará todos los datos.


Si lo hace correctamente, tendrá una copia de los datos de su Nube en Raspberry.



El program del marcador de asistencia

Escriba la siguiente orden para ejecutar el programa:


    python3 attendance_makers_nios4.py


Si todo ha ido bien, el marcador de asistencia debería aparecer así:





En la primera línea del visor LCD aparece la fecha y la hora actuales, mientras que en la cuarta línea aparece la inscripción “D-One” y la IP de la máquina de marcación de asistencia. En caso que la IP sea 127.0.0.0, significa que el marcador de asistencia no está conectado a la red.


Ahora, coloque la placa más cerca del lector RFID. Si el número de identificación está registrado, se mostrará el nombre del propietario; de lo contrario, aparecerá “Tarjeta no válida” y su identificador. En este caso, recopile el número e ingréselo en la base de datos para asociar este RFID al usuario.





Recuerde volver a sincronizar tanto el programa donde ingresó los usuarios como la máquina de marcación de asistencia. De esta manera, el dispositivo puede recibir los datos.



Este es el proceso para construir un dispositivo de marcación de asistencia para la oficina, utilizando un Raspberry y el sistema de gestión Nios4 como infraestructura para el intercambio de datos.

Comentarios