Proyecto control de personal

Hola, buenas,

en primer lugar presentarme dado que soy nuevo en el foro y este es mi primer post. Mi nombre es Marcos (ALOHAnet para los foreros) de Madrid y estudiante de Ing. Telecomunicaciones, mis nociones de arduino son básicas, he realizado varios proyectos pero solo a nivel hobby. Soy un gran aficionado de la tecnología y me interesa sumergirme en este mundillo. :wink:

Intro:

Mi padre es propietario de una empresa en la que todas las mañanas el personal ficha para controlar la hora de entrada y salida. El otro día se les rompió la maquina que tenían para el control de personal y me comentó que una nueva era un dineral, por lo que me preguntó si podía arreglarlo (tipico de mi padre, se cree que por estudiar teleco ya puedo arreglar cualquier cacharo pero la verdad es que no tenia ni idea ejjej :-* ) Lo que le propuse fue buscar una solución con arduino y con vuestra ayuda seguro que lo conseguiré. :smiley: :smiley:

Presentación del Proyecto:

cada trabajador tendrá una tarjeta con la que fichará cada mañana o un código personal en caso de fallo o extravio de la tarjeta en el momento del fichaje la cámara capturara una imagen para verificar que no esté fichando otra persona. Los datos recogidos en el momento del fichaje deberan ser ID del trabajador, fecha y hora, y la imagen. Y esos datos deberán ser enviados mediante el ethernet shiel al servidor que los guardará en la base de datos.

Esta es la idea principal, pero me gustaría escuchar vuestras sugerencias y opiniones antes de empezar con el proyecto para ir bien encaminado desde un principio. Si hay algo que deba cambiar o mejorar. Cualquier crítica (constructiva) será de ayuda.

Muchas gracias de antemano :wink:

Saludos
Interesante proyecto. Desde mi punto de vista bastante posible aunque con una dificulta con el arduino: la foto.

Investiga sobre RFID. Seria lo mas dificil ya que no he trabajado con eso

Por experiencia personal te recomiendo que no te metas.

Depende de como sean las personas un reloj de fichar puede ser un punto de conflicto laboral.

Lo que para ti es una experiencia tecnológica, para otros es el pan nuestro de cada día.

¿Que pasa si un día no funciona a la entrada/salida del turno de las 6 mañana? ¿Vas a ir a arreglarlo para que puedan fichar?
¿Que pasa si se retrasa/adelanta un segundo al día? Suponiendo que cada día lo pones en hora y son 1000 trabajadores los que fichan, estás perdiendo 1000 segundos = un cuarto de hora diario a 30 euros la hora 7 euros aproximadamente.

¿Que pasa si alguien, "descuidadamente", te tira el café por encima del reloj?

Si los relojes de fichar son caros, será por algo.

Saludos

Eso sin contar que necesiten estar homologados (que no lo se seguro). Con lo cual, en caso de conflicto laboral, tus datos no servirían de nada.

Jopapa

  1. El problema de la cámara lo puedes solucionar con una Cámara IP de modo que el arduino al chequear el RFID le envia un dato al server y este le peticiona a la cámara para guardar la foto.
    Se puede resolver.

  2. El reloj y el atraso de los segundos lo resuelves sincronizándolo dia a día con un reloj atómico, asi que no es problema tampoco.

  3. No conozco las normas de tu país, si debe o no estar homologado, tal vez hasta eso puedas salvar.

  4. De todos modos aunque el tema RFID lo resuelves comprando un MFRC522 RFID Reader/Writer. Luego te queda mucho trabajo por hacer.
    La base de datos SQL, la conexion TCP/IP.

  5. Ya que estamos, porque no usas en lugar de la tarjeta RFID un lector biométrico?

NEGATIVO

Bien y para la parte negativa tienes lo que ya te dijeron

  1. LO QUE SI ES PROBLEMA es la gente!!!
    Tal vez que tu padre sea el dueño de la empresa equilibre las cosas.
    La gente tiene un problema, y es que tiene cerebro para no trabajar y quejarse de todo y por todo. Puede haber excepciones pero la mayoría será un fastidio.

  2. EL tiempo. Cuanto tiempo crees que te puede llevar hacerlo. Ponle precio a ese tiempo, si aún estas estudiando eso te va a quitar tiempo de tu estudio y en algún momento puede hasta ser unconclicto con tu padre.
    Si lo usas como proyecto universitario bien, sino... otro punto negativo.

Muchas gracias a todos por vuestras respuestas, lo de RFID es interesante, creo que lo usaré. Respecto a las homologaciones y posibles quejas del personal no creo que sea un problema, es una empresa con unos 20 trabajadores y el control de personal no es nada exigente, si alguien llega tarde no se le castiga descontandolo de la jornada a no ser que sea algo sistemático. El control solo esta pensado principalmente para controlar la asistencia diaria, por lo que no creo que cause problemas, ademas siempre ha funcionado este sistema en la empresa.

Respecto a la base de datos SQL no creo que tenga problemas, quizás se me va a complicar mas con el tema del protocolo TCP/IP para la comunicación.

La idea de la camara ip me ha gustado y me ahorra un gran trabajo que desconozco con arduino, que sea el propio server el que haga la petición a la cámara para que haga la foto.

Respecto a lo de el reloj atomico me gustaria que precisases un poco mas, como se puede hacer eso.

Gracias :sunglasses:

Como dicen en las publicidades en Argentina "lo pedís lo tenés"
NTP Time Server Update Code Example

No hay practicamente nada que no se pueda hacer, tu sabes que el límite es nuestra propia capacidad para resolver las cosas. Y si no puedes usa la ayuda del foro y si el foro tampoco, tal vez haya que pagar por esa ayuda o comprar algo hecho.
Claro que esto no es una verdad absoluta.
Ejemplo, en General ARduino no puede hacer cosas importantes con imágenes pero ARDUINO ya no es solamente un simple micro de 8 bits, ya ya ARM Arduino compatible entonces mi afirmación empieza a tambalear.

Bueno el ejemplo es te permite sicronizar un NTP TIME SERVER como en Windows/Linux/MAC o los routers con nuestro arduino para mantener la hora actualizada. Nadie podra decir nada e incluso estará mejor que los propios relojes.
Claro que atención con los ajustes de verano!!!!! ATENCION CON ESO.

Resuelto el tema segundos actualizados.

Hola ALOHAnet

Nota: Conozco algo de Arduino, pero no me he peleado de verdad con ello.

Si no he entendido mal tu planteamiento quizás te sería más útil un arquitectura que descargue el arduino de conectar y operar con BD, sincronizar tiempo …

Yo pensaría en un servidor web que hiciera todo eso :

BD <=> Servidor Web <=> Ethernet shield <=> Arduino <=> Periféricos.

Al servidor web le haría una petición con el ID de la tarjeta o teclado y devolvería como respuesta la hora efectiva, el “estado tras fichar” y quizás la posibilidad de mostrar algún mensaje personalizado. Si pones una cámara IP te será muy fácil obtener la imagen desde el servidor web.

Adicionalmente podrías tener otra petición en el servidor que sea para sincronizar la hora del arduino cada 30 segundos por ejemplo con la del servidor, el servidor lo puedes configurar facilmente para que se sincronice con servicios NTP y que calcule automáticamente el horario de verano.

Creo que hay librerías para hacer peticiones HTTP bajo Arduino y ethernet shield : el tiempo de desarrollo bajaría muchísimo.

Si te convence la idea te puedo echar un cable con el tema del servidor web. (Aunque no voy sobrado de tiempo).

Saludos!
Toni.

Es buen aporte pero hasta ahora que tenía que hacer el arduino:

  1. Reconocer la tarjeta RFID o bien el sensor biométrico (aunque esta era mi sugerencia).
    Una vez hecho esto, enviar datos al servidor.
    Una vez reconocida enviar un código al server el que :

  2. El servidor tendrá que pedirle a la camara IP que tome una imagen de la persona para guardarla para control posterior, supongo que no analizará caras para confrontarla. Demasiado complejo o puedes hacerse con OpenCV.

  3. Chequeadas la tarjeta deberá emitar algun mensaje en el LCD, o bien presentar la foto y datos del empleados, como asi también la hora de registro.

hola ALOHAnet y gente del foro, tengo q realizar un proyecto parecido al tuyo, tengo que detectar objetos mediante RFID y que se guarde en una base, talvez me puedes ayudar o guiar para mediante el Modulo arduino mega al momento que el objeto se detecte el objeto se guarde en una base de datos: la hora, fecha y si fuese el caso las veces que el objeto pasó.

Con este "reflote" me ha entrado curiosidad sobre cómo acabaría el proyecto. No tendremos más información por ahí ¿no?

si en algo te puedo ayudar, si es posible lo que comentas

Checador de personal

aunque este lo hice hace 1 año con lector de codigo de barras, ahora lo estoy modificando para que sea mediante etiquetas rfid

la base de datos en que lenguaje lo hiciste? me puedes guiar un poco con eso y la idea del RFID que tienes ahora.

Azul_23:
la base de datos en que lenguaje lo hiciste? me puedes guiar un poco con eso y la idea del RFID que tienes ahora.

Ps mira a grandes rasgos el arduino lee el codigo de barras este hace request a una pagina en PHP y la variable es pasada por medio del metodo GET.

/pagina.php?variable1=valordevariable1

Pagina que a su vez hace una consulta en la base de datos que tengo en MySQL, arduino recibe la informacion y la muestra en pantalla.