caracterizaciÓn de un handpunch para la activaciÓn de un …

122
CARACTERIZACIÓN DE UN HANDPUNCH PARA LA ACTIVACIÓN DE UN SISTEMA DOMÓTICO: CASO DE ESTUDIO. CÓDIGO DE PROYECTO PG-17-2-09 Cindy Carolina Solano Caycedo CÓDIGO: 1410666 IDENTIFICACIÓN: C.C. 1026292451 Carlos Julio Rey Díaz CÓDIGO: 1410902 IDENTIFICACIÓN: C.C. 1015453833 Johan Michael Andrés Martínez CÓDIGO: 1411193 IDENTIFICACIÓN: C.C. 1033796786 UNIVERSIDAD PILOTO DE COLOMBIA FACULTAD DE INGENIERÍA PROGRAMA DE INGENIERÍA MECATRÓNICA BOGOTÁ, D.C. 2019

Upload: others

Post on 20-Jul-2022

13 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: CARACTERIZACIÓN DE UN HANDPUNCH PARA LA ACTIVACIÓN DE UN …

CARACTERIZACIÓN DE UN HANDPUNCH PARA LA ACTIVACIÓN DE UN SISTEMA DOMÓTICO: CASO DE ESTUDIO.

CÓDIGO DE PROYECTO PG-17-2-09

Cindy Carolina Solano Caycedo

CÓDIGO: 1410666

IDENTIFICACIÓN: C.C. 1026292451

Carlos Julio Rey Díaz

CÓDIGO: 1410902

IDENTIFICACIÓN: C.C. 1015453833

Johan Michael Andrés Martínez

CÓDIGO: 1411193

IDENTIFICACIÓN: C.C. 1033796786

UNIVERSIDAD PILOTO DE COLOMBIA

FACULTAD DE INGENIERÍA

PROGRAMA DE INGENIERÍA MECATRÓNICA

BOGOTÁ, D.C.

2019

Page 2: CARACTERIZACIÓN DE UN HANDPUNCH PARA LA ACTIVACIÓN DE UN …

CARACTERIZACIÓN DE UN HANDPUNCH PARA LA ACTIVACIÓN DE UN SISTEMA DOMÓTICO: CASO DE ESTUDIO.

Cindy Carolina Solano Caycedo

CÓDIGO: 1410666

IDENTIFICACIÓN: C.C. 1026292451

Carlos Julio Rey Díaz

CÓDIGO: 1410902

IDENTIFICACIÓN: C.C. 1015453833

Johan Michael Andrés Martínez

CÓDIGO: 1411193

IDENTIFICACIÓN: C.C. 1033796786

PROYECTO DE GRADO PARA OPTAR POR EL TÍTULO DE INGENIERO MECATRÓNICO DE LA UNIVERSIDAD PILOTO DE COLOMBIA

DIRECTOR:

Ing. Rubén Darío Hernández Beleño PhD

UNIVERSIDAD PILOTO DE COLOMBIA

FACULTAD DE INGENIERÍA

PROGRAMA DE INGENIERÍA MECATRÓNICA

BOGOTÁ, D.C.

2019

Page 3: CARACTERIZACIÓN DE UN HANDPUNCH PARA LA ACTIVACIÓN DE UN …

3

NOTA DE ACEPTACIÓN

Una vez realizada la revisión metodológica y técnica del documento final de proyecto de grado, doy constancia de que el (los) estudiante (s) ha cumplido a cabalidad con los objetivos propuestos, cumple a cabalidad con los Lineamientos de Opción de Grado vigentes del programa de Ingeniería Mecatrónica y con las leyes de derechos de autor de la República de Colombia, por tanto, se encuentra(n) preparado(s) para la defensa del mismo ante un jurado evaluador que considere idóneo el Comité de Investigaciones del Programa de Ingeniería Mecatrónica de la Universidad Piloto de Colombia.

Ing. Rubén Darío Hernández B. PhD Director del Proyecto

Page 4: CARACTERIZACIÓN DE UN HANDPUNCH PARA LA ACTIVACIÓN DE UN …

4

DEDICATORIA

Por parte de todos, dedicamos este proyecto de grado a nuestros padres, debido a que sin el apoyo incondicional, emocional y financiero no hubiera sido posible llegar a la etapa final en la que nos encontramos actualmente y que comenzamos desde hace 5 años. A nuestros hermanos, por aguantar en varias ocasiones el olor a componentes quemados en la casa. A nuestros compañeros con los que conectamos, que, durante todo este tiempo, se convirtieron en grandes amigos en los que confiamos incondicionalmente y esperamos que cumplan todas sus metas en sus proyectos de grados.

Por parte de Carlos Rey, Dedico este proyecto de grado a mi tío Carlos. Gracias por siempre estar hay cuando te necesite, en las buenas y en las malas. Gracias por aguantarme en mi etapa de pre-ingeniero y gracias por enfocarme en el tema que actualmente es mi inspiración en el campo profesional.

Page 5: CARACTERIZACIÓN DE UN HANDPUNCH PARA LA ACTIVACIÓN DE UN …

5

AGRADECIMIENTOS

Agradecemos primordialmente a nuestro tutor Ing. Rubén Darío Hernández Beleño PhD, por ser nuestro guía durante el desarrollo del proyecto. A la Universidad Piloto de Colombia, por dejarnos ser parte de su maravillosa comunidad. A nuestros profesores del programa de Ingeniería Mecatrónica; quienes, al compartir sus conocimientos y experiencias, crecimos personal y profesionalmente.

Agradecemos a nuestras familias, amigos y todas las personas que se involucraron directa e indirectamente en la realización de este proyecto de grado, que con sus ideas y comentarios dieron su grano de arena para la finalización de este.

Page 6: CARACTERIZACIÓN DE UN HANDPUNCH PARA LA ACTIVACIÓN DE UN …

6

CONTENIDO

NOTA DE ACEPTACIÓN ..................................................................................................... 3

DEDICATORIA .................................................................................................................. 4

AGRADECIMIENTOS ......................................................................................................... 5

CONTENIDO ..................................................................................................................... 6

LISTA DE TABLAS .............................................................................................................. 9

LISTA DE FIGURAS .......................................................................................................... 10

LISTA DE ANEXOS ........................................................................................................... 16

INTRODUCCIÓN ............................................................................................................. 17

RESUMEN ...................................................................................................................... 20

ABSTRACT ..................................................................................................................... 20

1. GENERALIDADES ................................................................................................... 21

1.1. PLANTEAMIENTO DEL PROBLEMA ............................................................................................... 21

1.2. JUSTIFICACIÓN ............................................................................................................................. 21

1.3. OBJETIVOS ................................................................................................................................... 22 1.3.1. Objetivo general .......................................................................................................................... 22

1.3.2. Objetivos Específicos ................................................................................................................... 22

1.4. METODOLOGÍA ............................................................................................................................ 22

1.5. DELIMITACIONES DEL PROYECTO ................................................................................................ 22 1.5.1. Limitaciones ................................................................................................................................. 23

1.5.2. Alcances ....................................................................................................................................... 23

2. REVISIÓN DE LA LITERATURA................................................................................. 25

2.1. ANTECEDENTES ........................................................................................................................... 25

2.2. ESTADO DE ARTE.......................................................................................................................... 26 2.2.1. ESPOCH ........................................................................................................................................ 26

2.2.2. Diseño e implementación de un prototipo para el control de acceso ......................................... 26

Page 7: CARACTERIZACIÓN DE UN HANDPUNCH PARA LA ACTIVACIÓN DE UN …

7

2.2.3. Proyectos institucionales y de vinculación ................................................................................... 27

2.3. CREACIÓN DE IMÁGENES 3D A PARTIR DE IMÁGENES 2D .......................................................... 27

2.4. TÉCNICAS DE RECONOCIMIENTO DE SISTEMAS BIOMÉTRICOS ................................................... 30 2.4.2 Determinación de puntos convexos ............................................................................................. 31

2.5. SISTEMAS BIOMÉTRICOS ............................................................................................................. 33 2.5.1. La biometría estática siendo las características físicas del ser humano...................................... 33

2.5.2. La biometría dinámica estudia la conducta de ser humano. ....................................................... 34

2.6. TIPOS DE SISTEMAS BIOMÉTRICOS USADOS EN SISTEMAS DOMÓTICOS E INMÓTICOS .............. 35 2.6.1. Reconocimiento de huella dactilar .............................................................................................. 35

2.6.2. Reconocimiento de Iris ................................................................................................................ 36

2.6.3. Reconocimiento de Geometría de la mano ................................................................................. 37

2.6.4. Reconocimiento facial ................................................................................................................. 38

2.7.1. Protocolo X10 .............................................................................................................................. 39

2.7.2. Protocolo Lonworks. .................................................................................................................... 40

2.7.3. Protocolo KNX/EIB ....................................................................................................................... 41

2.7.4. Protocolo Z-WAVE ....................................................................................................................... 42

3. PROPUESTA MECATRÓNICA PARA EL USO DE SISTEMAS BIOMÉTRICOS EN DOMÓTICA .................................................................................................................... 44

3.1. INTERFAZ GRÁFICA ...................................................................................................................... 45

3.2. CONEXIONES HANDPUNCH 1000 ................................................................................................ 46

3.3. PLATAFORMA HOME ASSISTANT ................................................................................................. 47

3.4. BASE DE DATOS (SQL) .................................................................................................................. 49

4. RESULTADOS ........................................................................................................ 50

4.1. INTERFAZ GRÁFICA (GUI) ............................................................................................................. 50

4.2.1 Acceso de la HandPunch. ............................................................................................................. 58

Page 8: CARACTERIZACIÓN DE UN HANDPUNCH PARA LA ACTIVACIÓN DE UN …

8

4.2.2 Revisión de la base de datos con la raspberry ............................................................................. 58

4.2.3 Apertura-cierre de cerradura inteligente .................................................................................... 60

4.2.4 Alarma ON – Dimmer – Persiana ................................................................................................. 60

CONCLUSIONES ............................................................................................................. 63

TRABAJOS FUTUROS ...................................................................................................... 64

BIBLIOGRAFÍA ................................................................................................................ 65

Page 9: CARACTERIZACIÓN DE UN HANDPUNCH PARA LA ACTIVACIÓN DE UN …

9

LISTA DE TABLAS

Tabla 1 Tabla comparativa de algunos sistemas biométricos 27 Tabla 2 ConFiguración de canales del protocolo Lonworks 29 Tabla 3 Comparativa entre los protocolos 31

Page 10: CARACTERIZACIÓN DE UN HANDPUNCH PARA LA ACTIVACIÓN DE UN …

10

LISTA DE FIGURAS

Figura 1. Cuadro metodológico ......................................................................................................... 24

Figura 2. Sistemas de coordenadas................................................................................................... 28

Figura 3. Identificación de bordes de la mano .................................................................................. 29

Figura 4. Demostración de superpixeles en la imagen digital de la mano con forma de matriz ...... 30

Figura 5. Indicación de las coordenadas en un plano para la identificación ................................... 32

Figura 6. Ubicación de los puntos PC, PA, PP y Ci en la mano .......................................................... 33

Figura 7. Rasgos mayores de una huella dactilar ............................................................................. 35

Figura 8. Imagen para la codificación y extracción de información ................................................. 36

Figura 9. Geometría de la palma (parte trasera) .............................................................................. 37

Figura 10. Geometría palmar ............................................................................................................ 37

Figura 11. Nodos que conforman las características del rostro ........................................................ 38

Figura 12. Explicación de la radiofrecuencia del protocolo X10 ....................................................... 40

Figura 13. Procedimiento de la propuesta metodológica ................................................................. 44

Figura 14. Hardware para la propuesta mecatrónica....................................................................... 45

Figura 15. Interfaz Gráfica MATLAB ................................................................................................. 46

Figura 16. Pruebas de comunicación entre la HandPunch y el computador .................................... 47

Figura 17. Estructura del sistema Home Assistant ........................................................................... 48

Figura 18. Diseño interfaz del Home Assistant ................................................................................. 48

Figura 19. Máscaras para el tratamiento de imágenes .................................................................... 50

Figura 20. Proceso de recorte palmar de la imagen ......................................................................... 51

Figura 21. Intensidad en la región palmar ........................................................................................ 51

Figura 22. Filtrado por dilatación y erosión ...................................................................................... 52

Page 11: CARACTERIZACIÓN DE UN HANDPUNCH PARA LA ACTIVACIÓN DE UN …

11

Figura 23. Resultados de filtro por suavizado ................................................................................... 53

Figura 24. Resultado de detección del borde por medio del operador Sobel por medio de la matriz vertical y horizontal ........................................................................................................................... 55

Figura 25. Resultado de detección del borde por medio del operador Sobel ................................... 56

Figura 26. Resultado de la detección de borde por medio del umbral ............................................. 56

Figura 27. Resultados de regionprops en MATLAB con el área y el perímetro ................................. 57

Figura 28. Mano de Cindy sobre la HandPunch ................................................................................ 58

Figura 29. HandPunch Service - Registros ......................................................................................... 59

Figura 30. SQL Express - Base de datos HandPunchData ................................................................. 59

Figura 31. SSH - Resultado SQL.py .................................................................................................... 59

Figura 32. Cerradura a la espera del servicio .................................................................................... 60

Figura 33. Sensor de Alarma en funcionamiento .............................................................................. 61

Figura 34. Dimmer con brillo del 255 ................................................................................................ 61

Figura 35. Persiana Extendida .......................................................................................................... 62

Figura 36. Menú HandPunch............................................................................................................. 67

Figura 37. Opción de agregar empleado .......................................................................................... 68

Figura 38. Agregar identificación, colocar y quitar mano de la superficie. ...................................... 68

Figura 39. Señal de la mano mal puesta en la superficie .................................................................. 69

Figura 40. Teclado numérico HandPunch ......................................................................................... 70

Figura 41. Indicación botones # y * y opción SET SERIAL .................................................................. 70

Figura 42. Menú para indicar el RS-232. ........................................................................................... 71

Figura 43. Velocidad de transmisión requerida. ............................................................................... 71

Figura 44. Barra de búsqueda de Google Chrome. ........................................................................... 72

Figura 45. Página principal Hass.io. .................................................................................................. 73

Figura 46. Página Documentación "Docs". ....................................................................................... 73

Page 12: CARACTERIZACIÓN DE UN HANDPUNCH PARA LA ACTIVACIÓN DE UN …

12

Figura 47. Página Hassbian. .............................................................................................................. 74

Figura 48. Página de "Installing Hassbian". ...................................................................................... 74

Figura 49. Página GitHub con él .zip del Hassbian. ........................................................................... 75

Figura 50. Página "Installing Hassbian", Resaltando balenaEtcher. ................................................ 76

Figura 51. Página de descarga de BalenaEtcher. .............................................................................. 76

Figura 52. Página de descarga SD Card Formatter. .......................................................................... 77

Figura 53. GUI SD Card Formatter. ................................................................................................... 78

Figura 54. GUI del software BalenaEtcher. ....................................................................................... 78

Figura 55. Directorio imagen del Hassbian. ...................................................................................... 79

Figura 56. BalenaEtcher: selección de puerto. .................................................................................. 79

Figura 57. BalenaEtcher: Proceso de Escritura. ................................................................................ 80

Figura 58. BalenaEtcher: Escritura Completa. .................................................................................. 80

Figura 59. Página de descarga Nmap. .............................................................................................. 81

Figura 60. Búsqueda CMD. ................................................................................................................ 82

Figura 61. Comando IPCONFIG. ........................................................................................................ 82

Figura 62. Dirección IPv4 adaptador de Ethernet. ............................................................................ 83

Figura 63. Zenmap: Escaneo ............................................................................................................. 83

Figura 64. Zenmap: Dirección de la Raspberry Pi. ............................................................................. 84

Figura 65. Página de descarga PuTTY. .............................................................................................. 84

Figura 66. Software PuTTY: GUI. ....................................................................................................... 85

Figura 67. Consola SSH: Usuario y Contraseña. ................................................................................ 86

Figura 68. Comando sudo apt-get update. ....................................................................................... 87

Figura 69. Comando y permiso sudo apt-get upgrade. .................................................................... 87

Figura 70. Hassbian: Lista de Scripts. ................................................................................................ 88

Page 13: CARACTERIZACIÓN DE UN HANDPUNCH PARA LA ACTIVACIÓN DE UN …

13

Figura 71. Código de instalación home assistant.............................................................................. 88

Figura 72. Instalación completa de home assistant.......................................................................... 88

Figura 73. Código de instalación mysql ............................................................................................ 88

Figura 74. Instalación completa de mysql. ....................................................................................... 89

Figura 75. Código de instalación samba. .......................................................................................... 89

Figura 76. Instalación completa de samba. ...................................................................................... 89

Figura 77. Código de mejora Hassbian. ............................................................................................ 89

Figura 78. Mejora completa de Hassbian. ........................................................................................ 89

Figura 79, Resultado de los scripts descargados. ............................................................................. 90

Figura 80. Dirección IP para ingresar a Home Assistant. .................................................................. 91

Figura 81. Ingreso a la sección de configuración HA. ....................................................................... 91

Figura 82. Menú de configuración. ................................................................................................... 92

Figura 83. Opción para añadir dispositivo. ....................................................................................... 92

Figura 84. Sirena, botón de enrolado ................................................................................................ 93

Figura 85. Multisensor. Botón de enrolado....................................................................................... 93

Figura 86. Verificación de dispositivo enrolado ................................................................................ 94

Figura 87. Botón de enrolamiento .................................................................................................... 95

Figura 88. Buscador del navegador. ................................................................................................. 96

Figura 89. Opción del buscador. ....................................................................................................... 96

Figura 90. Descripción del SQL Server 2017 Express. ........................................................................ 96

Figura 91. SQL Server - Tipo de Instalación. ...................................................................................... 97

Figura 92. Menú de idioma y selección de ubicación de instalación del servidor. ............................ 98

Figura 93. SQL Server Installation Centers. ....................................................................................... 98

Figura 94. SQL Server - Install Rules. ................................................................................................. 99

Page 14: CARACTERIZACIÓN DE UN HANDPUNCH PARA LA ACTIVACIÓN DE UN …

14

Figura 95. SQL Server - Installation Type. ......................................................................................... 99

Figura 96. SQL Server - License Terms. ............................................................................................ 100

Figura 97. SQL Server - Feature Selection. ...................................................................................... 100

Figura 98. SQL Server - Instance ConFiguration. ............................................................................. 101

Figura 99. SQL Server - Server ConFiguration. ................................................................................ 101

Figura 100. SQL Server - Database Engine ConFiguration .............................................................. 102

Figura 101. SQL Server - Install Microsoft R Open. ......................................................................... 103

Figura 102. SQL Server - Install Python. .......................................................................................... 103

Figura 103. SQL Server - Installation Progress. ............................................................................... 104

Figura 104. HandPunch Service - Página de descarga. ................................................................... 105

Figura 105. HandPunch Service - InstallShield wizard. ................................................................... 105

Figura 106. Selección de la carpeta de destino. ............................................................................. 106

Figura 107. Instalación del programa ............................................................................................. 106

Figura 108. Finalización de la instalación. ...................................................................................... 107

Figura 109. HandPunch Service - Windows Authentication. ........................................................... 107

Figura 110. HandPunch Service - SQL Server Authentication.......................................................... 108

Figura 111. HandPunch Service - Ventana de dispositivos. ............................................................ 108

Figura 112. HandPunch Service - Add new HandPunch .................................................................. 109

Figura 113. HandPunch Service - Iniciar Servicio. ........................................................................... 110

Figura 114. HandPunch Service - Reiniciar servicio y descarga de datos........................................ 111

Figura 115. HandPunch Service - Attendance Log. ......................................................................... 111

Figura 116. Firewall - Buscador de Windows .................................................................................. 112

Figura 117. Firewall - Configuración Avanzada. ............................................................................. 112

Figura 118. Firewall - Regla de Entrada. ......................................................................................... 113

Page 15: CARACTERIZACIÓN DE UN HANDPUNCH PARA LA ACTIVACIÓN DE UN …

15

Figura 119. Firewall - Nueva Regla. ................................................................................................ 113

Figura 120. Firewall - Tipo de Regla ................................................................................................ 114

Figura 121. Firewall - Protocolo y Puertos. ..................................................................................... 114

Figura 122. Firewall - Acción. .......................................................................................................... 115

Figura 123. Firewall - Perfil. ............................................................................................................ 115

Figura 124. Firewall - Nombre. ....................................................................................................... 116

Figura 125. Firewall - Aparición de la nueva regla. ......................................................................... 116

Figura 126. SSH - Instalación de Paquetes. ..................................................................................... 117

Figura 127. SSH - Ubicación y Creación odbc.ini ............................................................................. 117

Figura 128. SSH - ConFiguración odbc.ini........................................................................................ 118

Figura 129. SSH - Ubicación y Creación odbcinst.ini. ...................................................................... 118

Figura 130. SSH - ConFiguración odbcinst.ini .................................................................................. 119

Figura 131. SSH - Ubicación Freetds.conf. ...................................................................................... 119

Figura 132. SSH - Configuración Driver FreeTDS. ............................................................................ 120

Figura 133. SSH - Ubicación y Creación Programa Python. ............................................................ 120

Figura 134. SSH - Código SQL.py. .................................................................................................... 122

Page 16: CARACTERIZACIÓN DE UN HANDPUNCH PARA LA ACTIVACIÓN DE UN …

16

LISTA DE ANEXOS

ANEXO A. ENROLAMIENTO DE USUARIO A LA HANDPUNCH 1000 65 ANEXO B. CONFIGURCIÓN DEL SERIAL Y BAUD RATE 68 ANEXO C. INSTALACIÓN Y CONFIGURACIÓN RASPBERRY Y HASSBIAN 1.5 70 ANEXO D. ENROLAMIENTO DE ACTUADORES Y SENSORES 89 ANEXO E. INSTALACIÓN Y CONFIGURACIÓN DE RASPBERRY - SQL 93

Page 17: CARACTERIZACIÓN DE UN HANDPUNCH PARA LA ACTIVACIÓN DE UN …

17

INTRODUCCIÓN

La biometría se puede definir como: “la ciencia que se dedica a la identificación de personas

a partir de unos rasgos de comportamiento o anatómico” (1), estudiando a su vez los fenómenos biológicos. Los principales sistemas biométricos están enfocados a la detección de huellas dactilares, iris, sección palmar, voz, firma y rostro. Para escoger un determinado sistema biométrico debe lograr cumplir unos requisitos de eficiencia como:

Permanencia: La característica para tener en cuenta debe tener permanencia en el tiempo

o que cambie lentamente. Unicidad: La posibilidad de que dos personas tengan las mismas características a tener en

cuenta debe ser mínima. Universalidad: Cualquier persona debe de poseer estas características. Rendimiento: Alto nivel de exactitud. Aceptación por parte del usuario.

Además de los sistemas biométricos pueden ser aplicables en diferentes entornos dado que

estos se procesan de manera diferente, dependiendo del rasgo biométrico que sea necesario para la identificación, debido a que cada uno tiene diferentes características. También se tiene en cuenta la eficiencia, fiabilidad, calidad, tiempo de respuesta y costos.

La biometría basada en la geometría de la mano mide la forma de esta, además de tener diez

rasgos biométricos diferentes (cinco de huellas dactilares, geometría, huella palmar, textura, patrón vascular, huella dáctilo-palmar y otros rasgos del dorso de la mano) (1). Los sistemas basados en la identificación de un usuario mediante la mano dan uso de sensores, sistemas de adquisición de datos e incluso con cámaras web comerciales.

Un equipo biométrico se basa en las características de seres vivientes que son únicos para

cada uno constituyendo una alternativa de identificación, además de tener la capacidad de medir, codificar, comparar, transmitir y/o reconocer alguna característica propia de un individuo con alto grado de precisión y confiabilidad. (2)

El equipo biométrico por utilizar será por medio de la HandPunch 1000, en el cual se

identifican las características de identidad de una persona, midiendo digitalmente determinados rasgos u atributos físicos de la mano y comparando estas medidas con aquellas guardadas en una base de datos de la misma persona.

El HandPunch utiliza una luz infrarroja de bajo nivel y una cámara CMOS (chip CI) para

capturar una imagen tridimensional de la mano. Con la ayuda de microprocesadores la HandPunch convierte la imagen tomada en una plantilla electrónica. La plantilla es almacenada en una base de datos con el número de identificación del usuario, la cual se va entrenando a medida que el individuo se siga registrando. (3)

Page 18: CARACTERIZACIÓN DE UN HANDPUNCH PARA LA ACTIVACIÓN DE UN …

18

Al tener a las personas necesarias registradas en la HandPunch 1000, con la adquisición de datos, características necesarias y el conocimiento al sistema domótico a emplearse, se desarrolla una serie de pasos para el desarrollo del proyecto:

Obtención de datos biométricos. Procesamiento de imagen obtenida o datos capturados. Extracción de las características a tener en cuenta. Almacenamiento de datos e imágenes (base de datos). Reconocimiento de la mano. Autenticación del usuario. Sistema de comunicación entre la HandPunch 1000 y un sistema domótico. Activación del sistema domótico.

La extracción de las características ayuda a la identificación exacta del usuario según la mano, se tienen en cuenta los siguientes parámetros:

Identificación del objeto a reconocer Área y perímetro de la mano Rectángulo más pequeño que puede encerrar a la mano Información de color RGB Distancia que se encuentra la mano

El hecho de realizar la investigación (siendo esta una caracterización de la HandPunch 1000),

se propone documentar el sistema para el uso adecuado del equipo biométrico con conexión al

sistema domótico del protocolo Z-wave para aportar a los futuros proyectos en base al uso del

biométrico y del protocolo.

Descripción de los capítulos

En el primer capítulo se pretende introducir y familiarizar al lector con el proyecto,

especificando cosas básicas y generales de los temas que se irán profundizando en el transcurso del documento.

Se describe el planteamiento del problema con su justificación, se profundizan los objetivos generales y específicos del proyecto, la metodología que se ejecutará para el desarrollo del proyecto y las delimitaciones del proyecto sobre el dispositivo biométrico, programas y demás elemento para tener en cuenta.

El capítulo se centrará en la revisión de la literatura. Se comienza con una descripción de los trabajos de grados realizados por la universidad Piloto de Colombia. Después, se investigó diferentes trabajos hechos por empresas internacionales acerca del uso de dispositivos biométricos y de seguridad electrónica. Posteriormente, se escribió acerca de algunos tipos de dispositivos biométricos y protocolos que existen actualmente, con características y comparaciones de cada uno. Al principio se habla sobre la obtención de imágenes 3d a partir de imágenes 2d y de las técnicas de reconocimiento de los sistemas biométricos porque son los métodos usados para la

Page 19: CARACTERIZACIÓN DE UN HANDPUNCH PARA LA ACTIVACIÓN DE UN …

19

producción de los dispositivos biométricos. Sigue una lista de los dispositivos biométricos más usados en el mercado y, para terminar, se describen los protocolos de los sistemas domóticos más relevantes.

En el capítulo tres se expondrá la propuesta mecatrónica ejecutada en el desarrollo del proyecto, describiendo gráficamente el simulador del dispositivo biométrico, el hardware y software utilizados. El funcionamiento del script “Home assistant” y el funcionamiento de la base de datos SQL (Microsoft SQL Express).

Este capítulo es exclusivamente de los resultados de la metodología ejecutada del anterior capítulo. Se presenta el simulador del dispositivo biométrico en una interfaz gráfica (GUI) de Matlab 2018. Siguiendo con la metodología, se expone el dispositivo biométrico siendo utilizado en una prueba para confirmar el acceso al sistema domótico, mostrando el acceso concedido y la secuencia de automatización lograda con el Home assistant. En el capítulo final del documento, se plantean las conclusiones obtenidas por los resultados del capítulo anterior, se expondrán las ventajas y desventajas de usar el dispositivo biométrico, el script de Home Assistant y del protocolo Z-wave.

Page 20: CARACTERIZACIÓN DE UN HANDPUNCH PARA LA ACTIVACIÓN DE UN …

20

RESUMEN

El proyecto de grado presentado en este documento trata sobre el uso de un dispositivo

“HandPunch 1000” de Schlage integrado a un sistema domótico. Se conecta la HandPunch 1000 por medio de un conversor del protocolo RS232 a USB en un computador. El computador tiene instalado un software de asistente de tiempo llamado “HandPunch Service Manager” de Midex, el cual guarda los ingresos del dispositivo en una base de datos. Para ello, se instala el servidor “SQL Express” de Microsoft que se conecta con el software anteriormente mencionado entregando a tiempo real los ingresos del dispositivo biométrico. Simultáneamente, se tiene conectada una raspberry pi 3B a la red. Está raspberry tiene un sistema operativo llamado “Hassbian”, el cual contiene un script (Programa) llamado “Home Assistant” con el que se realiza las integraciones del Z-Stick con los sensores y actuadores del protocolo Z-wave. En la Raspberry 3B, se instalan diversos scripts para el correcto funcionamiento del sistema domótico como el “Samba”, “Home Assistant”, entre otros y para la comunicación con la base de datos como “Freetds”, “Odbc”, entre otros. El fin del proyecto es lograr una caracterización del biométrico que, al ingresar la mano de un usuario, se realice una autenticación del usuario, se comunique a la base de datos con el sistema domótico, para que se activen los sensores y actuadores del sistema, obteniendo confort y seguridad del mismo. Palabras Claves: Dispositivo Biométrico, Sistema Domótico, Servidor SQL, Home Assistant, Protocolo, Sensores y Actuadores

ABSTRACT

The degree project presented in this document deals with the use of the Schlage “HandPunch 1000” device integrated into a home automation system. The HandPunch 1000 is connected via an RS232 protocol converter to a USB on a computer. The computer has installed a time assistant software called "HandPunch Service Manager" from Midex, which saves the device's income in a database. To do this, the Microsoft "SQL Express" server is installed, which connects to the aforementioned software, delivering biometric revenue in real time. Simultaneously, a raspberry pi 3B is connected to the red one. This raspberry has an operating system called "Hassbian", which contains a script (Program) called "Start Assistant" with which it integrates the Z-Stick with the sensors and actuators of the Z-wave protocol. On the Raspberry 3B, install various scripts for the correct operation of the home automation system such as "Samba", "Home Assistant", among others and for communication with the database such as "Freetds", "Odbc", among others. The purpose of the project is to achieve a biometric characterization that, when entering the hand of a user, perform a user authentication, communicate to the database with the home automation system, so that the sensors and actuators of the system are activated, obtaining comfort and security of it.

Keywords: Biometric Device, Domotic System, SQL Server, Home Assistant, Protocol, Sensors and Acutators.

Page 21: CARACTERIZACIÓN DE UN HANDPUNCH PARA LA ACTIVACIÓN DE UN …

21

1. GENERALIDADES

1.1. PLANTEAMIENTO DEL PROBLEMA

En los últimos años se ha presenciado un progreso en los sistemas de seguridad electrónica gracias al acelerado avance de la tecnología, permitiendo implementar el uso de dispositivos biométricos. Actualmente, los dispositivos de huella son los que se encuentran dominando el mercado. El uso de los demás dispositivos como los biométricos de mano o de iris, no son comunes por sus altos costos y su baja integración a sistemas de seguridad electrónica externos a sus fabricantes. El biométrico HandPunch 1000 es un biométrico de mano que es usado exclusivamente para el control de acceso.

En el presente proyecto de grado, se ejecuta la caracterización de un HandPunch 1000 para

verificar la viabilidad y el desempeño al realizar diferentes integraciones con programas y sistemas externos al fabricante para la ejecución de proyectos de sistemas domóticos integrados con el dispositivo.

1.2. JUSTIFICACIÓN

En la actualidad, se puede evidenciar que la tecnología sobre la automatización de edificios y casas están en constante evolución. Se implementan diferentes protocolos, dispositivos y programas para obtener las aplicaciones de la domótica que son: Seguridad, Comodidad, Comunicaciones, Ahorro energético y Ocio. Al obtener las anteriores aplicaciones, se puede afirmar que el entorno automatizado obtiene un aumento del valor y ventaja sobre las empresas o viviendas donde no se implementan los sistemas domóticos.

Por consiguiente, la realización de este proyecto de grado está en utilizar los recursos actuales

de la Universidad Piloto de Colombia para conseguir un entorno confiable y eficiente. Al manejar estos dispositivos y programas, se logrará obtener la experiencia práctica y teórica para la realización de proyectos domóticos a edificios utilizando el protocolo Z-wave y el script de Home Assistant.

Page 22: CARACTERIZACIÓN DE UN HANDPUNCH PARA LA ACTIVACIÓN DE UN …

22

1.3. OBJETIVOS

1.3.1. Objetivo general Desarrollar una arquitectura de funcionamiento usuario-máquina por medio de la caracterización de un biométrico de mano de referencia HandPunch 1000 para la activación de un sistema domótico e Inmótico.

1.3.2. Objetivos Específicos o Identificar los usos de sistemas biométricos enfocados al manejo de sistemas domóticos e

inmóticos. o Clasificar los protocolos usados para la activación de los sistemas domóticos. o Desarrollar una aplicación de reconocimiento de las señales biométricas para la activación de

un sistema domótico. o Documentar el funcionamiento y aplicabilidad del biométrico HandPunch para usos domóticos

e inmóticos. o Validar el funcionamiento del sistema propuesto para un entorno domótico.

1.4. METODOLOGÍA

La metodología implementada para el desarrollo de este proyecto se basará en la activación del sistema domótico o Inmótico (ver Figura 1) por medio de un sensor biométrico de mano HandPunch 1000, con el cuál generará una plantilla de referencia según la obtención de muestras y medidas de los usuarios registrados para la generación de una base de datos.

La base de datos será almacenada en el software Microsoft SQL Express 2017 para después ser utilizada como método de autenticación y activación de los eventos del sistema domótico. Este sistema está compuesto por dispositivos inalámbricos de protocolo z-wave, que se enlazan por medio del Aeotec Stick y se programan por medio del Home Assistant.

1.5. DELIMITACIONES DEL PROYECTO

En este proyecto se pretende realizar la activación de un sistema domótico con protocolo z-wave, por medio de un sistema biométrico de mano HandPunch 1000; utilizando los dispositivos disponibles en la Universidad Piloto de Colombia como son el biométrico de mano, los sensores y actuadores. Con esto se presentaron algunas limitantes que impedían el correcto avance del proyecto, pero a su vez se encontraron algunos alcances que lograron el progreso de este.

Page 23: CARACTERIZACIÓN DE UN HANDPUNCH PARA LA ACTIVACIÓN DE UN …

23

1.5.1. Limitaciones Las limitaciones encontradas realizando este proyecto son enfocadas principalmente a la

HandPunch 1000 debido a que los proveedores son muy celosos por ser una máquina comercializada a nivel nacional e internacional. Entre estas se encuentra que la comunicación es únicamente por medio de un serial RS232 y si se desea conectar por medio de internet se debe adquirir un módulo de comunicación RJ45; para la programación de la HandPunch se realiza por medio de programas certificados por SCHLAGE o por programación .net; además, la descarga de los usuarios registrados en la HandPunch no se actualiza a tiempo real en la base de datos por manejar un software versión de prueba.

En cuanto al uso del protocolo z-wave no todos los dispositivos tiene una puerta de enlace

para la conectividad, debido a que varía la banda de frecuencia que utilizan los sensores dependiendo al dispositivo de control del cual se va a enrolar; la banda de frecuencia es de 908.42 MHz siendo esta la banda de Estados Unidos, funcional con un z-stick.

1.5.2. Alcances Los alcances encontrados durante el proyecto fue la integración, verificación y validación de

usuarios que tengan permitido la activación del sistema domótico, utilizando un protocolo inalámbrico z-wave, siendo un sistema centralizado donde el controlador principal es una Raspberry Pi 3B en el cual tendrá instalado el programa de Hassbian con el script de Home Assistant en el cual se podrá albergar más de 1419 integraciones (Amazon, Alexa, z-wave, ecobee, sonos, Axis, etc).

Page 24: CARACTERIZACIÓN DE UN HANDPUNCH PARA LA ACTIVACIÓN DE UN …

24

Fuente: Autores

Raspberry Pi 3

es

HandPunch 1000

Sistema biométrico de mano

Ayuda

Recolección de datos

Obtención de muestras

Extracción de medidas

Generan

Plantilla de referencia

Base de datos

Usuario Activar Sistema

domótico

Se comunicará entre

HandPunch 1000

mediante

RS-232

Para

Activación de dispositivos z-wave

Realizando Comunicación con el Aeotec

Stick

Según

Programación de la raspberry

Figura 1. Cuadro metodológico

Page 25: CARACTERIZACIÓN DE UN HANDPUNCH PARA LA ACTIVACIÓN DE UN …

25

2. REVISIÓN DE LA LITERATURA

A continuación, se presentarán proyectos realizados de la Universidad Piloto de Colombia e

internacionales sobre el tema de la domótica e inmótica. Estos proyectos se tienen en cuentan ya que ayudan a enriquecer la investigación planteada porque son experiencias útiles y ayudan a verificar los alcances actuales y aportaciones que han llevado a cabo estos proyectos en términos de tecnología.

2.1. ANTECEDENTES

En la universidad Piloto de Colombia, se han realizado diferentes proyectos de grados sobre el tema de la domótica e inmótica. En el año 2015, se presentaron tres proyectos. Dos tratan sobre el área de la domótica y uno sobre un sistema de seguridad biométrica. El primer proyecto llamado “Caracterización de un sistema domótico para minimizar el consumo energético, basado en el internet de las cosas” este proyecto de grado utiliza el protocolo de Z-wave, utilizando el controlador Vera como el cerebro principal del sistema domótico. El fin del proyecto es minimizar el consumo energético con el uso de actuadores tales como dimmers, sistemas de alarmas, válvulas solenoides, entre otros y sensores como de temperatura, magnéticos, de movimiento y entre otros. Todos siendo dispositivos de Z-Wave de quinta generación. (4) El segundo proyecto llamado “Simulador domótico para entrenamiento y aproximación a la domótica” expone el simulador de un sistema biométrico utilizando el software de Unity3D. Los autores implementan una placa de Arduino con el cual crea la interfaz de los sensores a simular, el software Android Studio, el cual desarrollaron la aplicación donde se integra al software de Unity3D y un módulo bluetooth conectado por RS232, el cual conecta la interfaz de Unity3D con el smartphone en uso. (5) El último proyecto del año 2015 llamado “sistema de seguridad biométrico basado en el análisis de la geometría de mano” expone sobre la implementación de un sistema biométrico de palma realizado desde cero. Los autores ejecutaron un simulador de un dispositivo biométrico, utilizando el software de Matlab, Labview, Excel, entre otros y dispositivos como una cámara web HD, un escáner, una base de topes entre otros. El objetivo del proyecto es reforzar la seguridad de la universidad piloto de Colombia, el cual el acceso a la institución sea de manera biométrica y no por tarjetahabiente. (6) Al realizar el análisis de los proyectos, se puede decir que todos convergen en tema de investigación: Domótica e Inmótica. Se escogieron específicamente estos proyectos, debido a que tratan con temas similares ya sea por la comunicación RS232, el uso del protocolo Z-Wave y la realización de un biométrico de palma siendo similar a la HandPunch 1000 de Schlage.

Page 26: CARACTERIZACIÓN DE UN HANDPUNCH PARA LA ACTIVACIÓN DE UN …

26

2.2. ESTADO DE ARTE

En esta parte del capítulo, se describirán proyectos realizados por diferentes entidades educativas nacionales y empresas internacionales que han ejecutado sobre el tema de domótica e inmótica. Estos proyectos son descritos con su título y un breve resumen de lo que consistió cada uno:

2.2.1. ESPOCH Tesis de grado por estudiantes de la Escuela Superior Politécnica de Chimbonzo, se dedicaron

a realizar la implementación del sistema de seguridad y control de asistencia biométrico para el laboratorio de automatización de procesos industriales de dicha escuela.

El resultado que se desea obtener de la automatización de un espacio de trabajo comunitario

como lo es un laboratorio es disminuir los conflictos psicológicos que a veces se presenta el ser humano en términos morales, aparte se optimiza los periodos de vigilancias y finalmente resguarda de una mejor forma materiales, herramientas, máquinas y/o dispositivos que pertenezcan se puedan emplear en el laboratorio.

Consta de diferentes dispositivos (electrónicos, eléctricos, electromagnéticos) para la instalación y procesos de cada uno de los puntos que se pretende tocar. Primeramente, tiene un dispositivo biométrico para el acceso de los usuarios autorizados, ubicado en la puerta principal, dos cámaras IP con un sistema incorporado de imágenes infrarrojas, NVR (este hace parte de las cámaras), y una unidad UPS.

El NVR que fue la herramienta y método de comunicación entre todos los dispositivos, por ende, también es el centro de operaciones y desde donde se enviaran las instrucciones para cada uno de los dispositivos. Se instaló un UPS con el fin de obtener una distribución de energía equitativa a todos los elementos, también los cerrojos instalados en la puerta teniendo como resultado un sistema de apertura de la puerta desde el interior del laboratorio; por último, pero no menos importante tiene un registro de personal y videograbación de las actividades que se realizan en el interior. (7)

2.2.2. Diseño e implementación de un prototipo para el control de acceso

EL proyecto de grado “Diseño e implementación de un prototipo para el control de acceso en la sede de ingeniería de la Universidad Francisco José de Caldas mediante el uso de torniquetes controlados por carnet con tecnología NFC y lector biométrico de huella dactilar” plantea y da solución a una problemática que por estos días y seguramente por muchos años más, se presenta en la actual sociedad principalmente laboral, es la seguridad y todo lo que conlleva esta. Cada vez se busca incrementar el nivel de seguridad y control de acceso de personas y objetos con el fin de brindar una completa tranquilidad a personas naturales que hacen parte de una comunidad específica, por medio de métodos y herramientas que cumplan con esta tarea.

Page 27: CARACTERIZACIÓN DE UN HANDPUNCH PARA LA ACTIVACIÓN DE UN …

27

Lo que ofrece dicho proyecto es fortalecer y controlar el acceso de personal de la Universidad Francisco José de Caldas por medio de tecnología NFC que estará incluida en los carnets de la institución, también con lectores de huellas dactilares en los torniquetes de entrada-salida, reduciría tiempo evitando congestión tanto de entrada como de salida, haciendo el trabajo de corroboración de datos más rápido y eficazmente. (8)

2.2.3. Proyectos institucionales y de vinculación En la domótica aplicada a la seguridad de casas inteligentes se encuentran las cerraduras

electrónicas que poseen un sistema de traba y apertura de puertas con un funcionamiento electromecánico que fortalece la estructura de modo único. A diferencia de las cerraduras ordinarias, vulnerables en muchos aspectos, la cerradura electrónica refuerza las condiciones de bloqueo debido a que usan un cifrado, tarjeta o reconocimiento biométrico para activar el sistema electrónico que accionará el mecanismo y tener un control de acceso.

Nuestro sistema se enfoca en una cerradura electrónica para cajas fuertes combinando

diferentes ramas de la ingeniería como la electrónica y las tecnologías de software para la programación de sistemas embebidos para crear una cerradura electrónica capaz de dar acceso al usuario a partir de la introducción de una clave programada por el usuario, así como mediante un sistema biométrico dactilar por huellas digitales. Para reforzar la seguridad de la cerradura, este proyecto incluye un método de detección y bloqueo de intrusos, así como la notificación automática de alertas hacia el usuario mediante un sistema telefónico y una alerta de sonido conFigurable.

La creación de una cerradura electrónica teniendo como objetivo principal disminuir el punto débil de bloqueo. Las cerraduras electrónicas tienen múltiples oportunidades de implementación, enfocando nuestra visión en cajas fuertes. Nuestro propósito es el diseño de un cierre electrónico con tres candados, interruptor de cierre con cerrojo, clave numérica como cifrado de acceso y un sistema biométrico de huellas dactilares obteniendo como resultado un mecanismo de apertura de caja fuerte fortalecido. Existiendo el caso de violación del segundo candado, ingresando tres intentos de claves incorrectas, se activará una alerta en forma de sirena para dar aviso de la infracción de la caja fuerte, notificando al propietario a su dispositivo móvil sobre el quebrantamiento de la cerradura, tomando él las medidas que él considere necesarias. (9)

2.3. CREACIÓN DE IMÁGENES 3D A PARTIR DE IMÁGENES 2D

La creación de imágenes 3D se puede lograr por medio de las capturas de las características físicas por medio de imágenes 2D, con el cual se pueden obtener la forma y dimensiones por medio de un sistema de coordenadas que va posterior a la transformación del objeto.

El sistema de coordenadas cambia dependiendo la posición de la cámara con la cual se realiza

la captura de la imagen; en el caso de la HandPunch 1000 las cámaras se encuentran ubicada en ambos laterales y en la parte de arriba; generando vistas múltiples, siendo así más fácil de

Page 28: CARACTERIZACIÓN DE UN HANDPUNCH PARA LA ACTIVACIÓN DE UN …

28

reconstruir los objetos 3D, además de que se apoya del mapeo que genera la plantilla antimicrobiana que posee en la parte inferior.

Los ejes del sistema de coordenadas se intercambian en función del visor que se emplee;

siendo este el caso, el sistema de coordenadas que se tendrán en cuenta serán la vista desde arriba (A), vista derecha (B) y vista izquierda (C) de la Figura 2.

A. Sistemas de coordenadas vista superior, B. Sistemas de coordenadas vista lateral derecho, C. Sistemas de coordenadas vista lateral izquierdo. Tomado de: Jorge Palos Cuesta, "Desarrollo de un procedimiento para la creación de imágenes 3D

a partir de imágenes 2D”, 2012.

Teniendo las imágenes de las coordenadas anteriores y la plantilla, se genera el modelo

tridimensional; a pesar de que la imagen 2D haya perdido profundidad, se extrae un punto de intersección por medio de las tres imágenes donde se encuentra el punto 3D generando la geometría constructiva de sólidos. (10)

Teniendo en cuenta las coordenadas obtenidas anteriormente, se pueden transformar por medio de coordenadas homogéneas; donde se sustituirán las coordenadas (x, y, z) por coordenadas (𝑥ℎ , 𝑦ℎ , 𝑧ℎ), donde:

𝑥 =𝑥ℎ

(2.3.1)

𝑦 =𝑦ℎ

(2.3.2)

𝑧 =𝑧ℎ

(2.3.3)

Tomado de: Jorge Palos Cuesta, "Desarrollo de un

procedimiento para la creación de imágenes 3D a partir de

imágene2D, 2012s "

Tomado de: Jorge Palos Cuesta, "Desarrollo de un

procedimiento para la creación de imágenes 3D a partir de imágene2D,

2012s "

Figura 2. Sistemas de coordenadas

Page 29: CARACTERIZACIÓN DE UN HANDPUNCH PARA LA ACTIVACIÓN DE UN …

29

De donde:

𝑥ℎ, 𝑦ℎ , 𝑧ℎ , ℎ) = (ℎ ∙ 𝑥, ℎ ∙ 𝑦, ℎ ∙ 𝑧, ℎ) (2.3.4)

Al escoger el valor para “h”, lo conveniente es que sea igual a 1, obteniendo las posiciones

tridimensionales de la siguiente manera:

(𝑥, 𝑦, 𝑧, 1) (2.3.5)

Dando como resultados vectores de 4 elementos y las operaciones de transformación por

medio de matrices de 4x4.

Gracias a este procedimiento se obtiene un conjunto de instrucciones bien definidos para obtener una fase de algoritmo. Una de estas fases es la detección de bordes, en donde se procesan los datos de entrada de la imagen 2D para poder definir los vértices y las aristas. Obtenido este dato, se utilizará el algoritmo de búsqueda de líneas rectas para después realizar un refinamiento.

Fuente: Autores

Con la detección de líneas rectas permite encontrar puntos alineados y así mirar la línea

preceda la detección de bordes desde una imagen binaria (blanco 1 o negro 0) de los pixeles, identificando los puntos extremos de la mano que satisfaga la ecuación de la recta para los distintos valores de p y 𝜃 de forma polar.

𝜌 = 𝑥 ∙𝑐𝑜𝑠 𝑐𝑜𝑠 (𝜃) + 𝑦 ∙ 𝑠𝑒𝑛(𝜃) (2.3.6)

Figura 3. Identificación de bordes de la mano

Page 30: CARACTERIZACIÓN DE UN HANDPUNCH PARA LA ACTIVACIÓN DE UN …

30

Por lo que hay que realizar la transformación entre el plano de la imagen de las coordenadas xy por los parámetros de espacio (𝜌, 𝜃) . (10)

2.4. TÉCNICAS DE RECONOCIMIENTO DE SISTEMAS BIOMÉTRICOS

Las técnicas de reconocimiento utilizadas son soportadas mediante el programa MATLAB que dan resultado a procesamientos matemáticos utilizados para sacar características de identificación de una imagen digitalizada.

2.4.1 Detección de borde por medio de gradiente

La detección de borde es la transición entre dos regiones de niveles de brillo significativamente distintos en el área de detección; este suministra gran información debido a que su objetivo es la identificación de puntos de tamaño, orientación y profundidad en la imagen digital. En la Figura 4 se observa la imagen de la mano con la identificación de superpíxeles identificando las columnas de la imagen (N) y las filas de esta (M).

Figura 4. Demostración de superpixeles en la imagen digital de la mano con forma de matriz

Fuente: Autores

Al evaluar los píxeles uno por uno para otra el cambio radical de brillo se realiza por medio el

vector gradiente 𝛻𝑓 siendo este un aproximado de las derivadas parciales. Empezando a evaluar pixel por pixel de la siguiente manera:

𝑓(𝑥) = 𝑔ℎ 𝑝𝑎𝑟𝑎 𝑥𝑖 ≤ 𝑥 < 𝑥𝑖 + 1 (2.4.1.1)

Page 31: CARACTERIZACIÓN DE UN HANDPUNCH PARA LA ACTIVACIÓN DE UN …

31

La expresión del incremento se expresa tomando en cuenta los valores cercanos a (i,j) y sus puntos cercanos. La fórmula (2.4.1.2) realiza el recorrido de la imagen original punto a punto de las aproximaciones horizontal y vertical de las derivadas de intensidad del gradiente, viendo en las fórmulas (2.4.1.3) y (2.4.1.4).

Incremento hacia adelante 𝑓(𝑥+ℎ)−𝑓(𝑥)

ℎ, siendo h=1. (2.4.1.2)

(i-1,j)

(i,j-1) (i,j) (i,j+1)

(i+1,j)

𝑑𝑓(𝑖, 𝑗)

𝑑𝑦=

𝑑𝐴(𝑖, 𝑗)

𝑑𝑖= 𝐴(𝑖 + 1, 𝑗) − 𝐴(𝑖, 𝑗) (2.4.1.3)

𝑑𝑓(𝑖, 𝑗)

𝑑𝑥=

𝑑𝐴(𝑖, 𝑗)

𝑑𝑗= 𝐴(𝑖, 𝑗 + 1) − 𝐴(𝑖, 𝑗) (2.4.1.4)

Se observa la fórmula del vector gradiente sea 𝐹: 𝑅2 → 𝑅 gradiente de F(x,y) y tomando en

cuenta F:MxN C Ω → G C R, dando como resultado:

𝛻𝐹(𝑥, 𝑦) = (𝑑𝐹(𝑥, 𝑦)

𝑑𝑥,𝑑𝐹(𝑥, 𝑦)

𝑑𝑦) = (

𝑑𝐴(𝑖, 𝑗)

𝑑𝑗,𝑑𝐴(𝑖, 𝑗)

𝑑𝑖) (2.4.1.5)

Siendo 𝛻𝐹 un aproximado de las derivadas parciales. (11)

2.4.2 Determinación de puntos convexos Para determinar el grupo central del área de la mano y la ubicación de los dedos según la

región palmar y el grupo correspondiente en píxeles, se utiliza puntos de inclusión experimentales referentes a una coordenada P(x,y,z) según como se observa en la siguiente Figura:

Page 32: CARACTERIZACIÓN DE UN HANDPUNCH PARA LA ACTIVACIÓN DE UN …

32

Sea P(x,y) el centro de la palma y Pc(x,y) los puntos que conforman el contorno de la mano, para determinar la ubicación de los posibles dedos (puntos convexos) se debe tener en cuenta

aquellos puntos que están dentro del contorno (PC) y no pertenece al borde limitado reduciendo así el número de puntos a analizar.

Para determinar la ubicación de un punto candidato a ser un dedo de la mano se puede

realizar con la siguiente expresión:

PC = (Pcx[i], Pcy[i]) -> Punto candidato a dedo (2.4.2.1)

PA = (Pcx[i-1], Pcy[i-1]) -> Punto anterior al punto candidato P (2.4.2.2)

PP = (Pcx[i+1], Pcy[i+1]) -> Punto posterior al punto candidato P (2.4.2.3) Si (d((Pcxi-1, Pcyi-1), PC) = de y d((Pcxi+1, Pcyi+1),PC) entonces PC es un punto candidato a

dedo; siendo d dos parámetros para calcular la distancia entre puntos y de una distancia experimental. (12) Los puntos PC, PA y PP no deben estar alineados (Ver Figura 6).

Para ello se debe de conocer la relación entre el área y perímetro mediante la función

regionprops.m que incluye la librería Matlab de la siguiente manera:

𝐶𝑖 = 4𝜋 ∗ 𝐴𝑖/𝑝𝑖2 (2.4.2.4)

Fuente: Autores

Figura 5. Indicación de las coordenadas en un plano para la identificación

Page 33: CARACTERIZACIÓN DE UN HANDPUNCH PARA LA ACTIVACIÓN DE UN …

33

2.5. SISTEMAS BIOMÉTRICOS

Los sistemas domóticos por comodidad para el usuario emplean algunos sistemas biométricos, debido a que son la tecnología más segura y fiable para la caracterización y control de acceso a tareas domóticas evitando tráfico de contraseñas y el uso de tarjetas de identificación y también se pueden combinar con otro tipo de tecnologías mecánicas.

Las características utilizadas para distinguir al usuario al ser lo que lo hacer ser según las características biométricas se pueden identificar en dos tipos:

2.5.1. La biometría estática siendo las características físicas del ser humano Estas características físicas son características morfológicas; es decir que cumple con los

requisitos de eficiencia debido a que son únicos y están constantes en todas las personas. Los rasgos que diferencian a los humanos están:

Huella dactilar: La huella dactilar cumple con los requisitos de eficiencia debido a que es una de

las características humanas más singulares. Los sistemas biométricos de huella dactilar son considerados seguros, fáciles de usar y económicos, debido a que necesitan un gran poder de procesamiento y alta capacidad de almacenamiento para la caracterización de los rasgos parciales a obtener. (13)

Reconocimiento del iris: Este método identifica las características del iris humano para verificar

la identidad de un individuo. El escaneado de iris se lleva a cabo mediante una cámara de

Fuente: Autores Fuente: Autores

Figura 6. Ubicación de los puntos PC, PA, PP y Ci en la mano

Page 34: CARACTERIZACIÓN DE UN HANDPUNCH PARA LA ACTIVACIÓN DE UN …

34

infrarrojos situada muy cerca de la persona realizando una fotografía de alta resolución y así obtener la información necesaria (debido a que tiene más de 200 propiedades únicas) para el reconocimiento del usuario.

Reconocimiento de la geometría de la mano: Esta utiliza la forma de la mano para confirmar la

identidad del individuo. Para la captura de la muestra, se debe colocar la mano sobre la superficie de un lector y esta comienza a tomar la forma de la mano y teniendo en cuenta el grosor y tamaño de esta. Además, como ventaja no requerir información detallada del usuario. (13)

Reconocimiento facial. El reconocimiento facial se reconoce a una persona a partir de su cara.

Utilizando programas de cálculo que analizan imágenes de rostros humano en el cual se toman varias fotografías de la cara donde se incluyen diferentes ángulos y expresiones faciales, para permitir una búsqueda de coincidencias más precisa. (13)

El uso de la mayoría de biometría estática es dirigido a la seguridad, permitiendo el acceso a

información o a un sistema; además de que permite la optimización de recursos y organización.

2.5.2. La biometría dinámica estudia la conducta de ser humano.

La conducta entre cada ser humano es distinta y con esto podemos diferencias a la persona debido que es algo propio de esta; es decir, que mide el comportamiento del individuo. Entre estos comportamientos están:

Reconocimiento de la dinámica del tecleo: Esta se basa en un patrón de escritura en el teclado

propio de cada individuo; diferenciándose mediante la fuerza del tecleo, la duración de la pulsación y el periodo de tiempo que pasa entre una tecla a otra. Los costos de implantación se centrarán en el software debido a que no necesita una inversión sensorial, debido a que es una técnica que se presenta en la vida cotidiana de cada individuo. (13)

Reconocimiento de voz: El reconocimiento locutor es un método natural de identificación debido a que se realiza a diario por los individuos para reconocer a un conocido al oír la voz. Estas aplicaciones usan redes neuronales para aprender a identificar voces mediante algoritmos; estimando similitudes y factores externos como el ruido, calidad, duración para devolver un resultado; como solución a esto se considera un margen de error. (13)

Reconocimiento de la cadencia del paso (forma de andar): Este método se basa en la forma de caminar de una persona, mediante una cámara se graba y se somete a un proceso analítico que genera una plantilla biométrica y mediante un software con el respectivo algoritmo del comportamiento permite el emparejamiento e identificación a distancia. (13)

La biometría dinámica no se observa constantemente en el uso de la domótica o inmótica a

excepción del reconocimiento de voz que es empleado a la seguridad y comodidad de los usuarios (Siri, Alexa, Cortana).

Page 35: CARACTERIZACIÓN DE UN HANDPUNCH PARA LA ACTIVACIÓN DE UN …

35

2.6. TIPOS DE SISTEMAS BIOMÉTRICOS USADOS EN SISTEMAS DOMÓTICOS E INMÓTICOS

La importancia de conocer los diferentes sistemas biométricos que existen en la actualidad

es de extrema importancia, ya que esto da una aplicación mucho más amplia a la rama que caracteriza y no especificarse en uno solo sistema, pues nuestro cuerpo está lleno de características analizables y usadas en pro de la tecnología.

2.6.1. Reconocimiento de huella dactilar Las huellas dactilares son características que toman forma en las primeras semanas de vida

de un ser humano y no cambia en el transcurso de esta. Es la forma que adopta la piel para la protección de las yemas compuesta por salientes llamadas crestas papilares y depresiones llamadas surcos interpapilares.

Actualmente es uno de los sistemas más utilizado, industrialmente, multinacionales de gran

renombre como Samsung u otra aplicada a celulares utilizan este sistema como accesorio, con el fin de brindar un poco más de seguridad a los usuarios. (14)

Ahora, cada huella dactilar es diferente por tal motivo también están clasificadas como rasgos

mayores, estas son, lazos, espirales y arcos (ver Figura 7). Adicional a esto algunas tiene líneas que bruscamente no siguen el patrón de la huella y cortan dicho patrón, esto características en específicas son las de mayor valor ya formaran el 80% de singularidad de la huella.

Figura 7. Rasgos mayores de una huella dactilar

Tomado de: https://www. dsi. uclm. es/personal/MiguelFGraciani/mikicurri/Docencia/Bioinformatica/web_BIO/Documentacion/Trabajos/Biometria/Trabajo% 20Biometria. pdf. [Último acceso: 28 enero 2019

Pero principalmente las clasificaciones de huellas están dadas y registradas previamente por

un método de indexación de las direcciones; primeramente, en incorpora en una clasificación de nivel grueso. Como lo son:

Page 36: CARACTERIZACIÓN DE UN HANDPUNCH PARA LA ACTIVACIÓN DE UN …

36

Whorl. Lazo derecho. Lazo izquierdo. Arco. Tented el arco.

Posterior, se incorpora a una sección de clasificación de nivel más fino, que serán

caracterizadas por un algoritmo especializado por concluir con tipo de huella tendrá el usuario. (15)

2.6.2. Reconocimiento de Iris

El iris es una membrana de forma circular que actúan como pared, separando la parte interior y posterior del ojo. El iris está constantemente activo permitiendo que la pupila se dilate o se contraiga, este proceso tiene como función regular la cantidad de luz recibida por la retina.

Este sistema hoy en día también es bastante común, y el reconocimiento de iris resulta muy sencillo de obtener, ya que solo tendrá que posicionar el ojo alineado con el campo de visión, frente a una cámara que será la que generará una imagen que será analizada por medio de los algoritmos de Daugman para obtener el IrisCode personal (ver Figura 8). (14)

Se extraerán características de este IrisCode, con el fin de codificar el patrón de iris, por medio de coordenadas cartesianas y polares para facilitar la extracción de información, para que, una vez finalizada la extracción de realizar un filtrado mediante multicanal, ya sea por Fourier, Gabor o Wavelet, obteniendo los coeficientes de iris con el menor ruido posible. (15)

Tomado de: https://www. dsi. uclm. es/personal/MiguelFGraciani/mikicurri/Docencia/Bioinformatica/web_BIO/Documentacion/Trabajos/Biometria/Trabajo% 20Biometria. pdf. [Último acceso: 28 enero 2019

Figura 8. Imagen para la codificación y extracción de información

Page 37: CARACTERIZACIÓN DE UN HANDPUNCH PARA LA ACTIVACIÓN DE UN …

37

2.6.3. Reconocimiento de Geometría de la mano

El reconocimiento de la geometría de mano a diferencia de los anteriores sistemas no es muy usado en la industria; debido a que las características de la palma (ver Figura 9 y 10) son complicadas de extraer y diferenciarlas con los otros usuarios registrados y por ende no será suficiente la información que se logre destacar. Sin embargo, lo que aporta significativamente un mejor análisis de la mano es el perfil de esta, obteniendo imágenes individuales de la región de la mano facilitando la extracción de longitudes de cada dedo, grosor, alturas, posiciones, articulaciones e incluso tamaño de la mano; extrayendo estas características por medio de patrones numéricos. (14)

Este es uno de los sistemas más rápidos y eficiente en cuanto al procesamiento se refiere, haciendo que su principal uso y aplicación sea en grandes empresas con el fin de permitir y verificar el acceso de los usuarios. (15)

Figura 10. Geometría palmar

Tomado de: https://www.locurainformaticadigital.com/2018/05/30/que-es-la-biometria-definicion-tipos/

Tomado de: 1https://www.locurainformaticadigital.com/2018/

05/30/que-es-la-biometria-definicion-tipos/

Quizá una de las características más interesante de este sistema, es el autoaprendizaje que

puede llegar a tener, es decir, a la vez que autentica a un usuario, actualiza la base datos, de esta forma podrá reconocer al usuario con una herida en la mano y su posterior cicatrización, adelgazamiento o engrosamiento.

Figura 9. Geometría de la palma (parte trasera)

Page 38: CARACTERIZACIÓN DE UN HANDPUNCH PARA LA ACTIVACIÓN DE UN …

38

2.6.4. Reconocimiento facial

Este es un sistema relativamente nuevo en comparación a los demás que se está popularizando en la actualidad, especialmente con celulares de alta gama que vienen con un procesamiento robusto para el correcto análisis.

Las principales características que se obtiene son los ojos, nariz, boca y orejas; parecido al procesamiento de reconocimiento mediante la geometría de la mano se calculan distancias a puntos de referencia en común, realizando una debida comparación entre una base de datos previa (ver Figura 11). El método más común es mediante un cámara, tomar una fotografía y a partir de esta imagen comenzar el análisis y caracterización.

Tomado de: https://www.locurainformaticadigital.com/2018/05/30/que-es-la-biometria-definicion-tipos/

La cabeza debe estar en una posición de no más de 35 grados de inclinación; una vez posicionada, se ajustará al tamaño y forma de la cara para obtener una plantilla facial única, basada en una serie de números que permiten comparar con la base de datos. Uno de los factores más importantes en este sistema es su capacidad de distinguir entre el fondo y el rostro del usuario.

El reconocimiento facial utiliza un sistema de picos y valles llamados puntos duros del rostro; serán tomados por picos como nodos de referencia y se realizará mediciones entre cada nodo y se realizará la respectiva comparación. Aproximadamente se pueden hallar 80 nodos en un rostro en lo que el sistema analizará la línea de la mandíbula, la profundidad del mentón, tamaño de la nariz, distancia entre ojos, forma de pómulos, entre muchos otros.

Los sistemas de reconocimiento faciales más nuevos toman una muestra en tres dimensiones lo que aporta increíblemente las caracterización y datos obtenidos, siendo de esta manera más robusto y a la vez tendrá más exactitud en todo el proceso. (15)

En la tabla 1 se muestra una comparativa encontrando los tipos de sistemas biométricos descritos anteriormente con sus respectivas características.

Figura 11. Nodos que conforman las características del rostro

Page 39: CARACTERIZACIÓN DE UN HANDPUNCH PARA LA ACTIVACIÓN DE UN …

39

Tabla 1. Tabla comparativa de algunos sistemas biométricos

Huellas dactilares

Reconocimiento facial

Geometría de la mano

Reconocimiento del ojo (Iris)

Cómo trabaja Captura y compra patones de la huella digital

Captura y compara patrones faciales

Mide y compara dimensiones de la mano y los dedos

Captura y compara los patrones del iris

Fiabilidad Alta Alta Alta Muy alta

Facilidad de uso Alta Alta Alta Media

Prevención de ataques

Alta Media Alta Muy alta

Aceptación Media Muy alta Alta Media

Estabilidad Alta Media Media Alta

Posibles incidencias

Ausencia de miembro

Edad, cabello, luz Edad, ausencia de miembro

Luz

Costo Bajo Medio Bajo Muy alto

Tomado de: Francisco Guzmán Navarro, Salvador Merino Córdoba, Domótica Gestión de la energía y gestión técnica de edificios, p.p. 117, 2016

2.7. SISTEMAS DOMÓTICOS: PROTOCOLOS Y FUNCIONALIDADES Los protocolos para los sistemas domóticos son un sistema de dos o más entidades que se

pueden comunicar entre sí para realizar intercambio de información a través de cualquier clase de variación generando un estándar para la sincronización entre dispositivos. A continuación, se enuncian los protocolos más comunes en instalaciones domóticas e inmóticas:

2.7.1. Protocolo X10

El objetivo del protocolo X10 es transmitir datos por las líneas de baja tensión a muy baja velocidad (50/60 bps) y costes muy bajos. se utiliza pulsos por el punto de cruce por cero. La transmisión involucra 11 ciclos de red (220 ms para 50 Hz y 183,33 para 60 Hz). representan información digital; Para implementar un “1”, se debe inyectar a la red una señal de radiofrecuencia de 120 KHz, dentro de los 220 ms posteriores al cruce por cero. La ausencia de esa radiofrecuencia da un “0” lógico. (Ver Figura 12).

Page 40: CARACTERIZACIÓN DE UN HANDPUNCH PARA LA ACTIVACIÓN DE UN …

40

Figura 12. Explicación de la radiofrecuencia del protocolo X10

Fuente: Autores

Un bloque completo de datos o paquete de información se compone de código de inicio, código de la letra, código de control y sufijo. El código de inicio siempre es el código “1110”. Los bits se transmiten cada cruce por cero. El código de la letra permite 16 diferentes combinaciones, las cuales identificadas por las letras “A” a la “P”. El código de control corresponde a 32 combinaciones. Las primeras 16 es la dirección del dispositivo y las demás es el comando que el dispositivo tiene que ejecutar. El sufijo siempre es un “1” lógico.

El controlador es el cerebro del sistema el cual emite las órdenes y las convierte en impulsos

modulados para ser distribuidas a los receptores de la casa a través del cableado eléctrico. El medio de transmisión corresponde al canal de comandos del protocolo desde el controlador de módulos, que para este caso es la red eléctrica de 120 V de la vivienda. (16)

2.7.2. Protocolo Lonworks.

El protocolo consiste en un conjunto de dispositivos inteligentes o nodos, que se conectan mediante uno o más medios físicos y que se comunican utilizando LonWorks. Cada nodo es autónomos y proactivo y cada uno está conectado a un canal que es el medio físico de comunicación. El protocolo define una jerarquía de direccionamiento que incluye dirección, subred y nodo.

La topología y la tipología de una red LonWorks dependerá del “transceiver” (medio físico o

cable) que se utilice: FTT (Topología libre), LPT (Alimentación y datos en topología libre), PLT (Comunicación en baja tensión a 230V), TP (Topología Bus – Par). También admite cualquier tipología ya sea centralizada, descentralizada y distribuida.

La estructura jerárquica y la capacidad del sistema está determinada por un dominio

(identificador del sistema), 127 subredes por dominio (conjunto de nodos que comparten el mismo medio de transmisión), 32,385 nodos (dispositivos físicos), 15 grupos por nodos (nodos enlazados

Page 41: CARACTERIZACIÓN DE UN HANDPUNCH PARA LA ACTIVACIÓN DE UN …

41

por diferentes medios de transmisión) e ID (cada nodo está identificado por el identificador del chip neuron). (17). Dependiendo del tipo del canal, se obtienen diferentes configuraciones en el sistema como se observa en la tabla 2.

Tabla 2. Configuración de canales del protocolo Lonworks

Tipo de canal Medio Velocidad Transceiver N° Máx. de dispositivos

Distancia Máx.

TP/FT-10 Par trenzado, fibra óptica y link power.

78 kbps FTT-10, FTT-10A, LPT-10

64-128 500m hasta 2200m con doble bus e impedancias de carga en los extremos.

TP/XF-1250 Par trenzado (topología bus)

1,25 Mbps TPT/XF-1250 64 125 m

PL-20 Línea de potencia

5,4 kbps PLT-20, PLT-21, PLT-22

Varía en función del entorno

Varía en función del entorno

IP-10 LonWorks sobre IP

Determinado por la red IP

Determinado por la red IP

Determinado por la red IP

Determinado por la red IP

Tomado de: http://isa.uniovi.es/docencia/AutomEdificios/transparencias/LonWorks.pdf?fbclid=IwAR3Jz_8hz94iQ-1VJfRzjkWehIIQZ_Esy4QHCszb16e-9d8jToOU-BAeWGA

2.7.3. Protocolo KNX/EIB

KNX es un sistema de bus. Todos los dispositivos usan el mismo medio de comunicación y pueden intercambiar. La inteligencia del sistema está distribuida por todos los dispositivos, por lo que convierte a KNX en una topología descentralizada exclusivamente. Debido a esta topología, en un solo sistema de bus pueden estar en funcionamiento más de 50000 dispositivos variando entre actuadores y sensores.

El bus envía dos estados: cuando la corriente no circula, es un “1” lógico y viceversa es un “0”

lógico. A partir de esos dos estados, el intercambio de información se realiza con telegramas. Un telegrama es el que notifica al bus cualquier evento hecho por el usuario o el ambiente. Un evento es una acción realizada a partir de algún sensor (pulsador, temperatura, luz, etc.) y que interactúa con algún actuador (motor, cerradura, persiana, aire acondicionado, etc.) (18)

El protocolo KNX utiliza diferentes métodos de comunicaciones determinadas por el tipo de

cable y transmisión de la información entre los participantes del bus:

Page 42: CARACTERIZACIÓN DE UN HANDPUNCH PARA LA ACTIVACIÓN DE UN …

42

Par trenzado KNX (TP): El par trenzado concede a todos los dispositivos del bus la fuente de alimentación 21V-30V (Los dispositivos trabajan con 24V, teniendo un margen de 9V) y la parte de transmisión de los datos. Los datos se transmiten a una frecuencia de 9600 Bit/s formando un numero serial. El telegrama se compone de cuatro campos: Campo de control, campo de dirección, campo de datos y campo de comprobación. Powerline KNX (PL): el uso de la red de fuerza (230 V). La comunicación de dato se logra a través de una de las fases trifásicas más el neutro. No necesita ninguna fuente de alimentación porque los dispositivos se alinean a la red de 230V directamente. Los datos se transmiten con una velocidad de 1200 Bit/s y son enviados por el método de codificación de la modulación de frecuencia por transferencia. La estructura del telegrama se compone con ocho campos: Campo de ensayo, dos campos de preámbulo, telegrama KNX TP completo, ID del sistema. Radiofrecuencia KNX: La transmisión por radiofrecuencia teóricamente posible, pero con muchas dificultades en la práctica. Los dispositivos son alimentados mediante una batería. Los emisores son dispositivos unidireccionales que emite señales sólo cuando es necesario y los receptores deben permanecer listos para recibir las señales por lo que son bidireccionales y son alimentados en la red de 230 V. La transmisión de información se hace por medio de una frecuencia media de 868,3 MHz y solo dispone de un canal de comunicación, además que la transmisión de datos se logra en 16384 Kbps. El telegrama se compone de un campo de control, un campo de dirección y un campo de seguridad. KNX IP: El sistema KNX usa métodos de comunicación de Ethernet: Tunneling y routing. Ambos métodos usan el protocolo UDP. Tunneling se usa para acceder al bus desde redes locales y el routing se usa para el intercambio de telegramas a través de Ethernet. La velocidad de transmisión de datos depende de la conexión de red local del usuario. El telegrama se compone de un campo longitud cabecera, versión del protocolo, identificador del tipo de servicio, longitud total, cuerpo KNX-net/IP.

2.7.4. Protocolo Z-WAVE

Z-Wave es un ecosistema inalámbrico de próxima generación que permite que todos los dispositivos (sensores y actuadores) se comuniquen entre sí. Utiliza ondas de radio de bajo consumo que viajan a través de paredes, pisos y armarios.

Cada red Z-Wave puede incluir hasta 232 nodos, y consta de dos conjuntos de nodos: los

controladores y los dispositivos esclavos. Los nodos pueden ser conFigurados para re-transmitir el mensaje escuchado, a fin de garantizar la conectividad en el entorno con diferentes sistemas a los que van dirigidos, dentro de un entorno residencial. El alcance medio de comunicación entre dos nodos es de aproximadamente 30.5 m (100 pies), y con la capacidad, de este mensaje, de saltar hasta cuatro veces entre los nodos a la escucha, esto da suficiente cobertura para la mayoría de las viviendas. (19)

Page 43: CARACTERIZACIÓN DE UN HANDPUNCH PARA LA ACTIVACIÓN DE UN …

43

Las especificaciones de la radiofrecuencia son:

Ancho de banda: 9600 bit / s o 100 kbit / s, ambas velocidades son totalmente interoperables Modulación: codificación de canal GFSK Manchester Rango: Aproximadamente 100 pies (30 m) condiciones "Aire libre", con rango reducido asumido

en el interior en función de los materiales de construcción y la situación radioeléctrica Banda de frecuencia: Z-Wave Radio utiliza el 868.42 MHz Banda SRD (Europa, banda ISM de 900

MHz: 908.42 MHz (Estados Unidos); 916 MHz (Israel); 919.82 MHz (Hong Kong); 921.42 MHz (Australia / Nueva Zelanda).

El sistema define dos tipos básicos de dispositivos:

Controladores. Son aquellos que inician y envían los comandos de control necesarios a los

diferentes nodos. Esclavos. Aquellos que obedecen, ejecutan y responden a las órdenes de los controladores.

Los controladores siempre son conocedores de la organización de toda la red con el objeto

de poderse comunicar con cualquier nodo. El primer controlador que instalemos tomará el papel de controlador primario y será el encargado de crear la red. Solo puede existir un controlador primario por red Z-Wave y él solo tendrá suficiente potestad para añadir y eliminar nodos de la red.

Existen dos tipos especiales de controladores: Controlador de instalador. Controlado puente.

Los esclavos son los dispositivos que reciben comandos, los ejecutan y responden. Un esclavo

no puede intercambiar información directamente con otro esclavo.

En la tabla 3 se muestra una comparativa entre los protocolos explicados anteriormente con sus respectivas características más importantes.

Tabla 3. Comparativa entre los protocolos

Tecnología Medios de transmisión Velocidad de transmisión

Distancia al dispositivo

X10 Cable eléctrico 60 bps en EE. UU.

50 bps en Europa 185 𝑚2

LONWORKS 1.TP 2.Cable eléctrico 3. ethernet

1. 78 kbps- 1.28 Mbps 2. 5.4 kbps 3. Determinado por la red

500 – 2700 m

KNX/EIB 1.TP 2.PL 3.Radiofrecuencia 4.Ethernet

1. 9600 bps 2. 1.2 kbps 3. 16384 Kbps 4. determinada por la red

1. 1000 m 2. 600 m 3. 300 m

Z-WAVE Radiofrecuencia 9600 bps M

Fuente: Autores

Page 44: CARACTERIZACIÓN DE UN HANDPUNCH PARA LA ACTIVACIÓN DE UN …

44

3. PROPUESTA MECATRÓNICA PARA EL USO DE SISTEMAS BIOMÉTRICOS EN DOMÓTICA

La propuesta mecatrónica (ver Figura 13) está basada en la comunicación entre un biométrico que permitirá el acceso a zonas o cuartos en los cuales se activan los sensores y actuadores pertinentes programados por medio de una Raspberry Pi 3b. La HandPunch 1000 se conectará a un computador en el cual se realizará la adquisición de la base de datos, en donde se pasa a un software que maneja un formato SQL; con esto se pasa la información a la Raspberry para desarrollar los accesos permitidos por el sistema operativo manejado (Hassbian).

Fuente: Autores

El hardware de la propuesta mecatrónica (ver Figura 14) consiste en una comunicación

inalámbrica para los sensores y actuadores z-wave, el cual se recibe la señal por medio del z-stick gen 5 hacia el sistema operativo Hassbian que se encuentra en la Raspberry pi 3; con el cual se puede interactuar en el Home Assistant colocando el IP 192.168.1.104:8123 en la barra de búsqueda en cualquier explorador de internet. La HandPunch 1000 se conecta de manera directa al computador por medio de un rs232 con una velocidad de transmisión de 9600, siendo configurable en el menú de la HandPunch (ver anexo 2).

Figura 13. Procedimiento de la propuesta metodológica

Page 45: CARACTERIZACIÓN DE UN HANDPUNCH PARA LA ACTIVACIÓN DE UN …

45

3.1. INTERFAZ GRÁFICA Siendo la HandPunch un biométrico robusto, debido a la precisión de identificación que el

dispositivo posee. Para entender un poco la HandPunch 1000, se desarrolló una aplicación por medio del software Matlab 2018 en el cual simula el procesamiento de imágenes que podría desarrollar el biométrico para la verificación del usuario entrante.

Con el fin de realizar un mejor entendimiento del funcionamiento de la HandPunch para el

usuario, se implementa una interfaz gráfica (GUI). Donde se encontrarán diferentes tipos de filtrados y procesos para obtener informaciones necesarias de la imagen en 2D de la mano. Es así cómo se implementa la siguiente interfaz gráfica en la Figura 15. Con esta se puede comparar la imagen original tomada con la escala de grises, algunas máscaras, algunos tratamientos

morfológicos, histogramas en donde se comparan los canales de intensidad RGB y otros filtros.

Fuente: Autores

Fuente: Autores

Fuente: Autores

Figura 14. Hardware para la propuesta mecatrónica

Page 46: CARACTERIZACIÓN DE UN HANDPUNCH PARA LA ACTIVACIÓN DE UN …

46

3.2. CONEXIONES HANDPUNCH 1000

La HandPunch 1000 es un biométrico estático que tiene en cuenta las dimensiones y la forma de la mano comparándolas en una imagen tridimensionalmente, identificando las características físicas con gran exactitud y con una actualización constante cada vez que el usuario registrado se reconoce.

La verificación de la conexión de la HandPunch al computador es correcta, se realizará con el

software “Pruebas HandPunch” en donde se puede descargar en el siguiente link: https://sourceforge.net/projects/handpunch/ con instalación sencilla. La HandPunch 1000 posee en el menú la asignación del serial RS-232 y la selección de la velocidad de transmisión (Ver anexo 2); en el software se coloca el puerto donde aparece la comunicación con la HandPunch, la velocidad de transmisión (Rate Baudios) seleccionada en la HandPunch y el tipo de conexión empleada (ver Figura 16). Después se da clic en “Iniciar Comunicación” viendo que en la parte inferior derecha aparece que la comunicación se ha establecido.

Fuente: Autores

Figura 15. Interfaz Gráfica MATLAB

Page 47: CARACTERIZACIÓN DE UN HANDPUNCH PARA LA ACTIVACIÓN DE UN …

47

Figura 16. Pruebas de comunicación entre la HandPunch y el computador

Fuente: Autores

Realizada la acción de comunicación de la HandPunch con el computador, se enrolan los usuarios al biométrico, teniendo en cuenta que tiene una capacidad máxima de 50 personas (ver anexo 1).

3.3. PLATAFORMA HOME ASSISTANT

La arquitectura que maneja el Home Assistant (ver Figura 17), se basa en recopilar la información y controlar los dispositivos para la automatización del entorno basándose en las configuraciones que el usuario les ha dado a los componentes (sensores y actuadores) para responder a eventos de automatización en el espacio propuesto a realizar las tareas comunes programadas. (20) El siguiente gráfico muestra la estructura del sistema:

Page 48: CARACTERIZACIÓN DE UN HANDPUNCH PARA LA ACTIVACIÓN DE UN …

48

La interacción entre el usuario y los dispositivos se realiza por medio del Home Assistant,

siendo este un dominio web virtualizado donde se puede automatizar los sensores y actuadores enrolados (ver anexo 3). En este podemos personalizar la interfaz gráfica para visualizar los

resultados de los dispositivos y así mismo definir los eventos que el usuario desee para la automatización.

Modificado de https://developers.home-assistant.io/docs/en/architecture_index.html

Fuente: Autores Fuente: Autores

Figura 17. Estructura del sistema Home Assistant

Figura 18. Diseño interfaz del Home Assistant

Page 49: CARACTERIZACIÓN DE UN HANDPUNCH PARA LA ACTIVACIÓN DE UN …

49

La plataforma Home Assistant aporta una gran variedad de posibilidades para la

personalización de la interfaz ofreciendo a su vez soporte continuo para la incorporación de los diferentes tipos de sensores y actuadores debido a que el Hass.io es el más básico y simple pero completo para desarrolladores. Este se puede instalar en cualquier entorno virtual (raspbian o Windows), pero a su vez puede ser compleja debido a que se debe de tener conocimientos en Python para la instalación de todos los paquetes necesarios y así aprovechar correctamente los beneficios que otorga esta plataforma.

Como se observa en la Figura 18, se observan los componentes ya enrolados (ver anexo 4) a

la plataforma como lo son el Dimmer para controlar la intensidad del bombillo y el consumo que este tiene, la alarma, el z-stick de z-wave que es el dispositivo que ayuda al enrolamiento de los sensores y actuadores, el estado de la puerta y con el multisensor se observa la temperatura, humedad, luminiscencia y movimiento. (21)

3.4. BASE DE DATOS (SQL) Se optó por el uso de un servidor de Microsoft express debido a su gestión de la base de datos

y las integraciones con conectores Python.

Para generar la base de datos se utilizó un software llamado HandPunch service Manager; este software se conectaba al servidor SQL y automáticamente creaba o actualizaba la base de datos llamada HandPunchData que registraba los ingresos concedidos por los usuarios registrados. (Ver anexo 5)

Para la comunicación con el sistema operativo Hassbian se empleó dos drivers llamados

“ODBC” y “FreeTDS”; estos se configuran dentro del directorio de Hassbian y se conectaban por medio de la autenticación de la SQL. (22)

Page 50: CARACTERIZACIÓN DE UN HANDPUNCH PARA LA ACTIVACIÓN DE UN …

50

4. RESULTADOS

En este capítulo se mostrarán los resultados obtenidos en Matlab para la identificación de la

mano, siendo este un simulador sencillo de la HandPunch. A su vez se analizará el resultado de la automatización, según las secuencias que se realizaría cuando el usuario registrado en el sensor biométrico llegue a la vivienda.

4.1. INTERFAZ GRÁFICA (GUI) La interfaz gráfica (GUI) se ejecuta por medio del programa de Matlab 2018. La interfaz es el

simulador de la HandPunch el cual muestra las máscaras, el histograma, los puntos convexos y los cálculos realizados para la verificación del usuario entrante.

4.1.1. Visualización de la interfaz

Las máscaras en el procesamiento de imágenes es un elemento importante debido a que estas actúan selectivamente sobre ciertas regiones o propiedades de una imagen. En la Figura 19 se observa la imagen original con algunas máscaras como lo son: la binarización, la superpixelación y la detección de bordes.

Con la ayuda de la máscara se obtiene cierta sección de la imagen donde se desea evaluar. En

este caso se realizaron procesos morfológicos para poder obtener la región palmar como se evidencia en la Figura 20.

Fuente: Autores Fuente: Autores

Figura 19. Máscaras para el tratamiento de imágenes

Page 51: CARACTERIZACIÓN DE UN HANDPUNCH PARA LA ACTIVACIÓN DE UN …

51

Teniendo la zona que se desea evaluar de la región palmar se puede tener información acerca de la intensidad por medio de las señales RGB así como se evidencia en la imagen 21.

A. Recorte de la mano por medio de la máscara, B. Sección palmar para evaluar la intensidad, C. Resultado de la

intensidad. Fuente: Autores

Fuente: Autores

Fuente: Autores

Fuente: Autores

Figura 20. Proceso de recorte palmar de la imagen

Figura 21. Intensidad en la región palmar

Page 52: CARACTERIZACIÓN DE UN HANDPUNCH PARA LA ACTIVACIÓN DE UN …

52

A diferencia de las máscaras, los filtros lo que realizan es resaltar o suprimir la información

que se encuentra en la imagen para destacar u ocultar algunos elementos de esta. El proceso que realiza es la aplicación en cada uno de los pixeles una matriz de filtrado siendo generalmente de 3x3 o mayor generando nuevos valores al pixel y a los pixeles próximos. Esto se observa en la Figura 22 con los filtros de dilatación y erosión; en donde se evidencia que la dilatación ayuda a conservar una mejor información de la mano.

Al igual como se pueden obtener filtros de suavizado para la imagen dependiendo del ruido

que esta posea y se quiera eliminar o resaltar para un mejor procesamiento. Para el caso de querer eliminar alguna cantidad de ruido haciendo la imagen más uniforme se pueden realizar filtros de media, mediana, winner o gauss (variando el σ). Los resultados se evidencian en la Figura 23.

Fuente: Autores

Fuente: Autores

Figura 22. Filtrado por dilatación y erosión

Page 53: CARACTERIZACIÓN DE UN HANDPUNCH PARA LA ACTIVACIÓN DE UN …

53

4.1.2. Cálculos de la interfaz Los cálculos obtenidos para el simulador de la HandPunch 1000, teniendo en cuenta que se

optaron por los más representativos siendo la detección del borde y determinación de puntos convexos de la mano a caracterizar y según las fórmulas realizadas en técnicas de reconocimiento de sistemas biométricos ubicado en el capítulo dos.

4.1.2.1. Detección del borde

Teniendo en cuenta las ecuaciones mostradas en el capítulo dos de detección de borde utilizando la primera derivada del gradiente, se puede detectar por medio de tres tipos de operadores siendo Prewitt, Sobel y Frei-Chen; en el cual se puede formularse de manera conjunta con las siguientes máscaras:

Máscara gradiente fila

1

2 + 𝑘[1 0 − 1 𝑘 0 − 𝑘 1 0 − 1 ]

Máscara gradiente columna

1

2 + 𝑘[−1 − 𝑘 − 1 0 1 0 1 𝑘 1 ]

Fuente: Autores

Figura 23. Resultados de filtro por suavizado

Page 54: CARACTERIZACIÓN DE UN HANDPUNCH PARA LA ACTIVACIÓN DE UN …

54

La constante k variable dependiendo el operador; para el operador Prewitt k=1, el operador

Sobel k= 2 y el operador Frei-Chen k=√2. En este caso se utilizará el operador sobel, dando el siguiente resultado de la matriz. (23)

Solución de la matriz de la máscara gradiente fila

1

4[1 0 − 1 2 0 − 2 1 0 − 1 ] = [

1

4 0 −

1

4 1

2 0 −

1

2 1

4 0 −

1

4 ]

Solución de la matriz de la máscara gradiente columna

1

4[−1 − 4 − 1 0 1 0 1 4 1 ] = [−

1

4 −

1

2 −

1

4 0

1

4 0

1

4 1

2 1

4 ]

Colocando esta máscara en la evaluación de los pixeles para evaluar los distintos niveles de

intensidad, en una imagen binaria igual a la imagen original es igual a “1” significa que se ha detectado un borde y si es “0” es que no hay borde. Dando el siguiente resultado de la Figura 24 en MATLAB.

Page 55: CARACTERIZACIÓN DE UN HANDPUNCH PARA LA ACTIVACIÓN DE UN …

55

Al combinar los gradientes de fila y columna con el operador Sobel, se tiene más sensibilidad

en los bordes diagonales e involucra a los pixeles vecinos de las filas/columnas adyacentes, proporcionando una sensibilidad media al ruido como se observa en la Figura 25.

Fuente: Autores

Figura 1.

Fuente: Autores

Figura 24. Resultado de detección del borde por medio del operador Sobel por medio de la matriz vertical y horizontal

Page 56: CARACTERIZACIÓN DE UN HANDPUNCH PARA LA ACTIVACIÓN DE UN …

56

Fuente: Autores

La detección del borde se mejora cambiando la intensidad umbral, en MATLAB se realiza la

comparación sin dar el uso de umbral y utilizando un umbral de 0.7 dando el resultado de la Figura 26.

Fuente: Autores

Figura 25. Resultado de detección del borde por medio del operador Sobel

Figura 26. Resultado de la detección de borde por medio del umbral

Page 57: CARACTERIZACIÓN DE UN HANDPUNCH PARA LA ACTIVACIÓN DE UN …

57

4.1.2.2. Detección de puntos convexos

Conociendo los puntos PC, PP y PA de la imagen original digitalizada de la mano; se realiza la identificación tomando la mano de los tres integrantes, identificando los puntos candidatos a dedo. A su vez se puede obtener el área y el perímetro por medio de la función regionprops para diferenciar e identificar la mano de cada uno.

Fuente: Autores

Fuente: Autores

Fuente: Autores

Figura 27. Resultados de regionprops en MATLAB con el área y el perímetro

Page 58: CARACTERIZACIÓN DE UN HANDPUNCH PARA LA ACTIVACIÓN DE UN …

58

4.2 AUTOMATIZACIÓN 1

Se presenta con su respectiva descripción las automatizaciones para generar un ambiente domótico usando el dispositivo biométrico HandPunch 1000 y dispositivos con comunicación del protocolo z-wave.

4.2.1 Acceso de la HandPunch.

El acceso desde el sistema Biométrico siempre inicia el proceso domótico, ya que esta acción es la que da acceso al usuario autorizado lo que por consecuencia dará inicio a todos los procesos siguientes.

Se teclea el código del usuario (Cindy – 2703) y posará la mano en las zonas marcadas por la

HandPunch 1000 (ver Figura 28). Este proceso enviara un registro al software HandPunch Manager.

Figura 28. Mano de Cindy sobre la HandPunch

Fuente: Autores

4.2.2 Revisión de la base de datos con la raspberry Cuando se reinicia el servicio del software HandPunch Manager, se encontrará el nuevo

registro en la base de datos del software (ver Figura 31), este registro se puede comprobar también en el servidor SQL 2017 Express con el que está conectado el software.

Page 59: CARACTERIZACIÓN DE UN HANDPUNCH PARA LA ACTIVACIÓN DE UN …

59

Fuente: Autores

Fuente: Autores

Cuando se actualiza la base de datos del servidor, también se actualiza la petición solicitada

por el programa de la raspberry “SQL.py”, dando como resultado el acceso al usuario

Fuente: Autores

Figura 29. HandPunch Service - Registros

Figura 30. SQL Express - Base de datos HandPunchData

Figura 31. SSH - Resultado SQL.py

Page 60: CARACTERIZACIÓN DE UN HANDPUNCH PARA LA ACTIVACIÓN DE UN …

60

4.2.3 Apertura-cierre de cerradura inteligente

Cuando el resultado del SQL.py es satisfactorio, se llama un comando de Hassbian: “hass.service.call” el cual mandará el servicio para desbloquear la puerta dando el acceso al usuario llamado por la solicitud del programa.

Figura 32. Cerradura a la espera del servicio

Fuente: Autores

4.2.4 Alarma ON – Dimmer – Persiana

La activación de estos tres sensores se hará simultáneamente después de la apertura de la cerradura. La alarma sonora en función de dar una alerta sonora de ingreso autorizado o no autorizado según la configuración preestablecida, se tendrá una supervisión más eficiente de la vigilancia de donde se encuentre ubicado el sistema (Hogar, aula de clase, laboratorio), será un tipo de advertencia en caso de que algo pueda ocurrir en cuanto al acceso

El Dimmer dará iluminación a la habitación domótica principalmente para la visión del lugar

pues es algo primordial una vez realizado el acceso. Dicha iluminación tendrá una intensidad del 100% por parte del bombillo.

Por último, las persianas se cerrarán puesto que la acción de iluminar la habitación ya está siendo realizada por el Dimmer, por ende, no se necesitará de luz extra o del exterior al lugar. Dara como resultado una iluminación más controlada.

Page 61: CARACTERIZACIÓN DE UN HANDPUNCH PARA LA ACTIVACIÓN DE UN …

61

Figura 33. Sensor de Alarma en funcionamiento

Fuente: Autores

Figura 34. Dimmer con brillo del 255

Fuente: Autores

Page 62: CARACTERIZACIÓN DE UN HANDPUNCH PARA LA ACTIVACIÓN DE UN …

62

Figura 35. Persiana Extendida

Fuente: Autores

4.3 AUTOMATIZACIÓN 2

Se realizó un segundo evento. Este evento consiste que cuando la cerradura se bloquee nuevamente, la alarma dejará de sonar, el Dimmer bajará la intensidad a un 50% y la persiana se detendrá (si no está totalmente extendida).

También se podrá comprobar todo lo anterior expuesto media en video que podrá ser

visualizado en el siguiente link: https://drive.google.com/file/d/1htbc0Iz-hBAfINGFShIDcxxoyaaYLBsX/view.

Page 63: CARACTERIZACIÓN DE UN HANDPUNCH PARA LA ACTIVACIÓN DE UN …

63

CONCLUSIONES

Al identificar los diferentes biométricos se llegó a la conclusión que el biométrico más factible en el uso de sistemas domóticos e inmóticos es el lector de huella, debido a su seguridad media-alta, su bajo costo y la constante evolución que este dispositivo ha tenido.

Se clasificaron los sistemas domóticos entre los más conocidos como Lonworks, KNX, Z-wave y X-10. El cuál el proyecto se desarrolló por medio del protocolo z-wave debido a su fácil instalación, siendo un sistema inalámbrico. Aun teniendo costos elevados, es una buena opción, debido a que cada día los integradores y desarrolladores están actualizando en nuevos productos. Además cuenta con integraciones gratuitas a usuarios como el home assistant y también cuenta con proyectos interesantes como integraciones con Amazon Alexa y con Google home

Se desarrolló una aplicación para la simulación del sistema biométrico HandPunch 1000 y se llegó a la conclusión que a pesar de que Matlab realiza el reconocimiento efectivo de las mano de los usuarios, no es posible utilizarlo a un sistema domótico e inmótico debido a la falta de integraciones que se necesitan para automatizar una casa o edificio.

Se documentó el funcionamiento de la HandPunch 1000 y se llegó a la conclusión que el dispositivo es demasiado robusto y costoso para implementarlo en sistemas domóticos; pero si es viable o factible en entornos inmóticos debido a su gran manejo de usuarios, sus software de asistencia y tiempo puede ser una gran ayuda en grandes empresas obteniendo varios beneficios.

Al realizar el proyecto enfocándose en la propuesta mecatrónica, se llegó a la conclusión que la viabilidad de una HandPunch 1000 para un entorno domótica no es factible; debido a su complejidad en la instalación y conFiguración; además de tener nociones de la informática como el manejo de un base de datos para almacenaje de la información de la HandPunch (SQL Express) o si se desea por otro medio contar con conocimientos de programación como C# o .net para desarrollarse en el software Visual Studio. Para una persona con conocimientos básicos en electrónica y programación, sería complejo integrarla en su pasarela domótica.

Se puede confirmar la posibilidad de implementar un sistema domótico en cualquier ambiente que se quiera automatizar por medio del protocolo de comunicación z-wave y la plataforma Home Assistant, debido a que se pueden realizar los eventos pertinentes de manera eficiente y con una inversión moderada.

Page 64: CARACTERIZACIÓN DE UN HANDPUNCH PARA LA ACTIVACIÓN DE UN …

64

TRABAJOS FUTUROS

Siendo el Home Assistant un programa que está en constante actualización tecnológica, un trabajo a futuro sería la implementación de diferentes dispositivos para conseguir un sistema domótico más robusto y completo. Como por ejemplo, implementar asistentes virtuales como Alexa Amazon o Google Assistant e implementar diferentes protocolos como zigbee o esphome.

En el simulador realizado se puede dar una mejora cuando Home Assistant pueda

implementar el programa de Open CV, debido a que este estaría anexado directamente al sistema domótico mejorando el rendimiento, con un buen entrenamiento de la base de datos y una cámara de gran resolución, se puede implementar más reconocimientos biométricos (rostro, silueta del cuerpo, entre otros) o de identificación (placas del carro o moto).

Page 65: CARACTERIZACIÓN DE UN HANDPUNCH PARA LA ACTIVACIÓN DE UN …

65

BIBLIOGRAFÍA

1. Z. J. Jia Li, M. A. Ferrer Ballester y C. M. Travieso. Autenticación de personas a partir de la biometría en la región digito-palmar. España: s.n., 2006.

2. Bueno, C. T. Borja y A. G. Sistemas biométricos Vol. 1. Bogotá: s.n., 2009.

3. SHLAGE. HP-1000 terminal user's Guide. California: s.n., 2009.

4. D. R. Caro, E. Y. Prieto y M. A. Silva. Caracterización de un sistema domótico para minimizar el consumo energético, basado en el internet de las cosas. Bogotá D.C.: s.n., 2015.

5. Salazar, R. L. Simulador domótico para entrenamiento y aproximación de la domótica. Bogotá D.C: s.n., 2015.

6. Zorro, I. M. Zuelta y E. H. Sistema de seguridad biométrico basado en el análisis de la geometría de la mano. Bogotá D.C.: s.n., 2015.

7. Ordoñes, P. M. Urtado y E. D. ESPOCH. Riobamba: s.n., 2016.

8. Vargas, A. J. Balsero y C. G. Diseño e implementación de un prototipo para el control de acceso en la sede de ingeniería de la Universidad Francisco José de Caldas mediante el uso de torniquetes controlados por carnet con tecnología NFC y lector biométrico de huella dactilar. Bogotá D.C.: s.n., 2016.

9. B. E. Sustaina, M. Rivera y Aa. Fernandez. Desarrollo de tecnología domótica con aplicación a la gestión de seguridad en cerradras electrónicas. Monterrey: s.n., 2013.

10. Custa, J. P. Desarrollo de un procedimiento para la creación de imágenes 3D a partir de imágenes 2D. [En línea] 2012. https://riunet.upv.es/bitstream/handle/10251/17762/memoria.pdf?sequence=1.

11. H. Madrid, J. M. Cribeiro y J. L. Fraga. El Cálculo en el Procesamiento de Imágenes. [En línea] septiembre de 2014. https://mattec.matedu.cinvestav.mx/el_calculo/data/docs/CP5.bbf0a982b7788f.pdf.

12. Identificación de la punta de los dedos de la mano en un plano 2D basado en Kinect. [En línea] 23 de abril de 2013. https://revistas.uis.edu.co/index.php/revistagti/article/view/3556/3654.

13. Pérez, P. Y. O. Estudio sobre las tecnologías biométricas aplicadas a la seguridad. [En línea] Creative Commons, 2011.

14. Giz, C. Tolosa y Á. Sistemas biométricos. [En línea] [Citado el: 28 de enero de 2019.] https://www. dsi. uclm. es/personal/MiguelFGraciani/mikicurri/Docencia/Bioinformatica/web_BIO/Documentacion/Trabajos/Biometria/Trabajo% 20Biometria.

15. digital, Locura infomática. ¿Qué es la biometría? Definición, tipos y características. [En línea] 30 de mayo de 2018. [Citado el: 28 de enero de 2019.] https://www.locurainformaticadigital.com/2018/05/30/que-es-la-biometria-definicion-tipos/.

Page 66: CARACTERIZACIÓN DE UN HANDPUNCH PARA LA ACTIVACIÓN DE UN …

66

16. Marsal, L. E. Protocolo X10. [En línea] Septimbre de 2008. http://jeuazarru.com/wp-content/uploads/2014/10/X10.pdf?fbclid=IwAR0pg79bpgmcn-iQwjp48RmGT5irzG3TFCm76MEPf_G1d8HV_XmfyeGJFTw.

17. ISA Ingeniería de sistemas y automática. [En línea] http://isa.uniovi.es/docencia/AutomEdificios/transparencias/LonWorks.pdf?fbclid=IwAR154v6pRBr1Vyz-pPtyJzMe9pB2yPy1ngA4V0cCVzwh52S5ehHl4-yIgtk.

18. Integraciones, IKNX. KNX. [En línea] http://www.iknx.es/archivos/documental/2890738d8b7e3b998b994114caa6b7a4.pdf?fbclid=IwAR3tUfsKWUi811x_SmHdW62Lu-LFRFg3QwpWpV1QW8omkTlNGQLommgb4uI.

19. Vega, R. Z-WAVE: Un protocolo inalámbrico para la domótica. [En línea] 03 de septiembre de 2014. https://ricveal.com/blog/z-wave/.

20. DEV, Home Assistant. Architecture. [En línea] https://developers.home-assistant.io/docs/en/architecture_index.html.

21. Hassbian. Home Assistant. [En línea] https://www.home-assistant.io/docs/installation/hassbian/.

22. Microsoft. Edición SQL Server 2017 Express. [En línea] 2017. https://www.microsoft.com/es-es/sql-server/sql-server-editions-express.

23. Jaén, Universidad de. Detección de bordes en una imagen. [En línea] http://www4.ujaen.es/~satorres/practicas/practica3_vc.pdf.

Page 67: CARACTERIZACIÓN DE UN HANDPUNCH PARA LA ACTIVACIÓN DE UN …

67

ANEXO A. ENROLAMIENTO DE USUARIO A LA HANDPUNCH 1000

Para enrolar o añadir a un supervisor a la HandPunch 1000 manualmente, se deben de seguir los siguientes pasos:

1. Encender la HandPunch. En el frente de la HandPunch encontrará el teclado numérico, en donde se presionan los botones “CLEAR” y “ENTER” simultáneamente por aproximadamente 1 segundo.

2. En el display de la HandPunch aparecerá la frase “ENTER PASSWORD” en el cual se deberá presionar:

- 1 para el menú de servicio - 2 para el menú de instalación - 3 para el menú de gestión - 4 para el menú de enrolar a los usuarios - 5 para un menú especial (enrolar al supervisor)

Al seleccionar el menú que se desee se presiona “ENTER”

3. Se selecciona la opción 4 y buscamos la opción “ADD EMPLOYEE”.

Fuente: Autores

Figura 34 Opción de agregar empleadoFuente: Autores

Figura 36. Menú HandPunch

Page 68: CARACTERIZACIÓN DE UN HANDPUNCH PARA LA ACTIVACIÓN DE UN …

68

Figura 37. Opción de agregar empleado

Fuente: Autores

En donde aparece la opción de seleccionar “SI” presionando el # o “NO” presionando * del tablero numérico.

4. La HandPunch pide un número de identificación y colocar la mano en la superficie de la

lectora tres veces.

Fuente: Autores

Fuente: Autores

Fuente: Autores

Figura 38. Agregar identificación, colocar y quitar mano de la superficie.

Page 69: CARACTERIZACIÓN DE UN HANDPUNCH PARA LA ACTIVACIÓN DE UN …

69

5. Si la mano se encuentra mal puesta, este indicará por medio de las luces que se encuentran al lado del display que indican cuales son los dedos mal posicionados.

Fuente: Autores

6. El empleado ha sido agregado satisfactoriamente. Si se desea agregar a más empleados repita todos los pasos.

Figura 39. Señal de la mano mal puesta en la superficie

Page 70: CARACTERIZACIÓN DE UN HANDPUNCH PARA LA ACTIVACIÓN DE UN …

70

ANEXO B. CONFIGURCIÓN DEL SERIAL Y BAUD RATE

Al tener enroladas las personas necesarias en la HandPunch y realizar su respectiva comunicación al computador, para saber o configurar la velocidad de transmisión, se realiza de la siguiente manera:

1. En el frente de la HandPunch encontrará el teclado numérico, en donde se presionan los botones “CLEAR” y “ENTER” simultáneamente por aproximadamente 1 segundo.

Figura 40. Teclado numérico HandPunch

Fuente: Autores

2. Digitar la contraseña o ID colocada en el registro del usuario y presionar “Enter”, posteriormente colocar la mano para admitir el acceso.

3. En el display de la HandPunch aparecerá la frase “ENTER PASSWORD” en el cual se deberá presionar el número 2 y posteriormente “Enter” en el teclado numérico.

4. Para navegar por el menú debe presionar los botones “#” para “YES” y “*” para “NO” hasta

llegar a la opción “SET SERIAL” y presionar “#”

Figura 41. Indicación botones # y * y opción SET SERIAL

Fuente: Autores

Page 71: CARACTERIZACIÓN DE UN HANDPUNCH PARA LA ACTIVACIÓN DE UN …

71

5. Seleccionar la opción “SET RS-232”

Figura 42. Menú para indicar el RS-232.

Fuente: Autores

6. Seleccionar la opción “9600 baud”

Figura 43. Velocidad de transmisión requerida.

Fuente: Autores

7. Después presionar el botón “CLEAR” para salir del menú

Page 72: CARACTERIZACIÓN DE UN HANDPUNCH PARA LA ACTIVACIÓN DE UN …

72

ANEXO C. INSTALACIÓN Y CONFIGURACIÓN RASPBERRY Y HASSBIAN 1.5

El presente anexo es un paso a paso para la instalación y conFiguración del sistema operativo HASSBIAN 1.5 en el hardware de la Raspberry Pi 3 Model B. Como se mencionó en los resultados, el sistema operativo HASSBIAN 1.5 es el medio por el que se hace toda la comunicación de la HandPunch 1000 y del sistema domótico de Z-Wave. Este anexo mencionará como descargar los diferentes componentes para el buen funcionamiento del sistema operativo, así como la actualización y mejora de este (update y upgrade).

Para iniciar se necesita entrar a cualquier explorador de Internet (Google Chrome, Internet

Explorer, Opera, E.T.C), En la barra de búsqueda se coloca “hass.io” y se oprime “Enter”:

Figura 44. Barra de búsqueda de Google Chrome.

Fuente: Autores

Una vez dentro de la página principal de “hass.io”, se oprime clic en “Docs”:

Page 73: CARACTERIZACIÓN DE UN HANDPUNCH PARA LA ACTIVACIÓN DE UN …

73

Figura 45. Página principal Hass.io.

Fuente: Autores

En la página de “Documentación” (Docs), en la parte izquierda, se da clic en “Hassbian” del

ítem de “Installation”:

Figura 46. Página Documentación "Docs".

Fuente: Autores

En la página de Hassbian, se da clic en “Install Hassbian”:

Page 74: CARACTERIZACIÓN DE UN HANDPUNCH PARA LA ACTIVACIÓN DE UN …

74

Figura 47. Página Hassbian.

Fuente: Autores

En la página de “Installing Hassbian”, se describen los pasos a seguir para la instalación del

Hassbian a la raspberry Pi. El primer paso es descargar la imagen (.img) del Hassbian. Para ello, se da clic en “Download the Hassbian image”:

Figura 48. Página de "Installing Hassbian".

Fuente: Autores

Al dar clic, se abre el hipervínculo a una página de GitHub, se desliza la barra hacia abajo hasta

Page 75: CARACTERIZACIÓN DE UN HANDPUNCH PARA LA ACTIVACIÓN DE UN …

75

encontrar el archivo “image_2018-10-27-Hassbian.zip”. Se da clic en el archivo para que comience la descarga. Una vez descargado el archivo, se sugiere descomprimir el .zip para que quede sólo el archivo .img:

Figura 49. Página GitHub con él .zip del Hassbian.

Fuente: Autores

Ahora se avanza al paso 2 de la página “Installing Hassbian”, en este paso se pide bajar el

programa “BalenaEtcher”. Para descargar se debe dar clic en el texto azul que dice “balenaEtcher”. Este programa sirve para escribir imágenes (.img) a una SD. Se recomienda usar una SD de 32 Gbs clase 10 (mínimo) para no tener un conflicto con el espacio después:

Page 76: CARACTERIZACIÓN DE UN HANDPUNCH PARA LA ACTIVACIÓN DE UN …

76

Figura 50. Página "Installing Hassbian", Resaltando balenaEtcher.

Fuente: Autores

Cuando se da clic, se abre un hipervínculo a la página de descarga del programa de

BalenaEtcher, se escoge la versión que sea compatible con el sistema operativo que se esté utilizando, y se da clic en “Download for …”. Una vez descargado el programa, se instala pero no se abre aún.

Figura 51. Página de descarga de BalenaEtcher.

Fuente: Autores

Page 77: CARACTERIZACIÓN DE UN HANDPUNCH PARA LA ACTIVACIÓN DE UN …

77

*Paso Opcional: Para no tener ningún conflicto con la SD, se recomienda formatear la tarjeta

con el programa de SD Card Formatter (https://www.sdcard.org/downloads/formatter_4/index.html). Se desliza la barra hacia abajo, se da clic en la opción de sistema operativo en uso (Windows o Mac). Después de descargar el programa, se instala y se abre.

Figura 52. Página de descarga SD Card Formatter.

Fuente: Autores

Se debe tener una la SD que se va a usar colocada en algún puerto del computador. Una vez

arrancado el programa, se selecciona la tarjeta que se va a formatear (En nuestro caso, es el Puerto F), también se selecciona la opción de formateo, en este caso, se seleccionó “Quick Format” y para finalizar se da clic en “Format”, se espera unos segundos, y la SD debería quedar formateada:

Page 78: CARACTERIZACIÓN DE UN HANDPUNCH PARA LA ACTIVACIÓN DE UN …

78

Figura 53. GUI SD Card Formatter.

Fuente: Autores

Después de formatear la tarjeta SD, se abre el programa de BalenaEtcher. Primero se debe

seleccionar la imagen que se va a escribir a la SD. Para esto, se da clic en “Select Image”:

Figura 54. GUI del software BalenaEtcher.

Fuente: Autores

Page 79: CARACTERIZACIÓN DE UN HANDPUNCH PARA LA ACTIVACIÓN DE UN …

79

Se busca el directorio de la imagen del Hassbian, se selecciona con doble clic:

Figura 55. Directorio imagen del Hassbian.

Fuente: Autores

Ahora se selecciona la tarjeta, si la tarjeta ya estaba puesta en el puerto, el software la

identifica automáticamente, en caso de que no, se da clic en “Select Drive” y se selecciona el puerto que se encuentra la tarjeta SD:

Figura 56. BalenaEtcher: selección de puerto.

Fuente: Autores

Después de seleccionar el puerto, se da clic en Flash, entonces se tiene que esperar mientras

que el programa escribe la imagen en la tarjeta. Este proceso puede demorar de 5-10 mins. Cuando el programa termine el proceso, tiene que salir “Flash Complete”. Eso significa que la tarjeta ya está lista para ser utilizada en la Raspberry Pi:

Page 80: CARACTERIZACIÓN DE UN HANDPUNCH PARA LA ACTIVACIÓN DE UN …

80

Figura 57. BalenaEtcher: Proceso de Escritura.

Fuente: Autores

Figura 58. BalenaEtcher: Escritura Completa.

Fuente: Autores

Page 81: CARACTERIZACIÓN DE UN HANDPUNCH PARA LA ACTIVACIÓN DE UN …

81

Antes de conectar la fuente de poder a la raspberry, se debe tener conectado el cable de ethernet (Se debe tener conectado en el mismo Modem o Router el cual tiene conectado el equipo) y el Stick de Z-wave en un puerto USB de la Raspberry Pi. Una vez conectado lo anterior, se conecta la fuente a la Raspberry Pi.

Cuando se prende la raspberry, lo primero es saber en qué dirección IP se encuentra. Para

esto, se utiliza el programa de “Nmap - Zenmap GUI”. La página de descarga del programa es la siguiente: https://nmap.org/download.html. Dentro de la página se busca la versión compatible con el sistema operativo del equipo. Una vez descargado, se instala e inicia el programa:

Figura 59. Página de descarga Nmap.

Fuente: Autores

Page 82: CARACTERIZACIÓN DE UN HANDPUNCH PARA LA ACTIVACIÓN DE UN …

82

En Inicio, se digita “CMD” (Símbolo del sistema) y se da “Enter”:

Figura 60. Búsqueda CMD.

Fuente: Autores

Se inicia el CMD de Windows, se escribe el comando ipconfig, este comando muestra todas

las conexiones que tiene la computadora ya sea por Ethernet, conexiones inalámbricas, entre mucho otros:

Figura 61. Comando IPCONFIG.

Fuente: Autores

Page 83: CARACTERIZACIÓN DE UN HANDPUNCH PARA LA ACTIVACIÓN DE UN …

83

La dirección que se tiene en cuenta es la IPv4 del adaptador de ethernet ya que es la dirección

de red necesaria para la comunicación con la Raspberry:

Figura 62. Dirección IPv4 adaptador de Ethernet.

Fuente: Autores

Con la dirección IPv4 obtenida en CMD, se regresa a Nmap - Zenmap. La función de este

programa es identificar todas las direcciones IP que se encuentra conectadas en la misma red. Dentro del programa, en la sección de objetivo se coloca la IPv4 y se agrega al final “-255”, en

la sección perfil se selecciona ping scan y para finalizar se da clic a Escaneo:

Figura 63. Zenmap: Escaneo

Fuente: Autores

Una vez terminado el escaneo el programa reportará todas las direcciones en la que se tendrá

en cuenta la dirección llamada de arriba donde se encuentra “Raspberry Pi Foundation”:

Page 84: CARACTERIZACIÓN DE UN HANDPUNCH PARA LA ACTIVACIÓN DE UN …

84

Figura 64. Zenmap: Dirección de la Raspberry Pi.

Fuente: Autores

Para el siguiente paso, se debe tener el programa de PuTTY. El link de descarga es el siguiente:

https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html.

Figura 65. Página de descarga PuTTY.

Fuente: Autores

Page 85: CARACTERIZACIÓN DE UN HANDPUNCH PARA LA ACTIVACIÓN DE UN …

85

Después de instalar, se inicia el programa PuTTY donde se colocará la dirección IP de la Raspberry en el campo de Host Name posterior se dará clic en la opción Open.

Figura 66. Software PuTTY: GUI.

Fuente: Autores

Una vez abierta la consola SSH, se procede a colocar el usuario (user) y contraseña (password)

de la raspberry. El usuario por defecto es “pi” y la contraseña “raspberry pi” (La contraseña se digita, aunque no se muestre un carácter en la consola). Después de colocar lo anterior, aparece el título de Hassbian de la siguiente manera:

Page 86: CARACTERIZACIÓN DE UN HANDPUNCH PARA LA ACTIVACIÓN DE UN …

86

Figura 67. Consola SSH: Usuario y Contraseña.

Fuente: Autores

Cuando se entra al usuario, lo primero que se tiene que hacer es el update del sistema

operativo, para esto, se digita el siguiente código “sudo apt-get update”, este proceso puede tomar 5-10 mins. Este código sirve para verificar la lista de paquetes o parches disponibles del sistema operativo, pero no descarga, ni instala ningún paquete. Se espera hasta que la consola llegue al código “Reading package list… Done”:

Page 87: CARACTERIZACIÓN DE UN HANDPUNCH PARA LA ACTIVACIÓN DE UN …

87

Figura 68. Comando sudo apt-get update.

Fuente: Autores

Después de actualizar los paquetes del software, ahora se instalará los paquetes

anteriormente validados. Para esto, se digita el código “sudo apt-get upgrade”. Esta vez, la raspberry pedirá un permiso, se digita “Y” y se da enter. Se espera hasta que la raspberry realice el proceso de “Upgrade”, este proceso puede tardar de 10-20 mins (depende de la velocidad de la banda ancha):

Figura 69. Comando y permiso sudo apt-get upgrade.

Fuente: Autores

Ahora se instalan los diferentes scripts que se necesita para el funcionamiento del sistema

domótico. Para revisar la lista de scripts soportada por Hassbian, se digita el siguiente código “sudo Hassbian-config show”. Este código muestra cuales scripts tienen paquetes de mejora (Upgrade). Para el funcionamiento del sistema, se instalan los siguientes scripts:

Homeassistant

MySQL

samba

Page 88: CARACTERIZACIÓN DE UN HANDPUNCH PARA LA ACTIVACIÓN DE UN …

88

Figura 70. Hassbian: Lista de Scripts.

Fuente: Autores

El primer script que se descarga es homeassistant. Este script instala y activa la gui de home

Assistant en la raspberry pi. La gui es el medio por el que se integrara los periféricos del sistema domótico. Para descargar el script, se digita el código “sudo hassbian-config Install homeassistant”. Este proceso se demora de 5-10 mins.

Figura 71. Código de instalación home assistant.

Fuente: Autores

Figura 72. Instalación completa de home assistant.

Fuente: Autores

El segundo script que se descarga es MySQL. Este script instala en la gui de home assistant la

capacidad de crear bases de datos SQL manualmente. Se utiliza las bases de datos para guardar los estados del control de acceso, sensores, actuadores, etc. Para instalar el script, se digita el siguiente código: “sudo Hassbian-config Install MySQL”:

Figura 73. Código de instalación mysql

Fuente: Autores

Page 89: CARACTERIZACIÓN DE UN HANDPUNCH PARA LA ACTIVACIÓN DE UN …

89

Figura 74. Instalación completa de mysql.

Fuente: Autores

El tercer y último script que se descarga es Samba. Este script habilita la edición de la

configuración del archivo configuration.yaml (Archivo el cual contiene toda la codificación de la gui de home assistant) desde Windows. Para instalar el script, se digita el siguiente código: “sudo Hassbian-config Install samba”:

Figura 75. Código de instalación samba.

Fuente: Autores

Figura 76. Instalación completa de samba.

Fuente: Autores

Después de instalar los scripts, se mejora la versión del Hassbian. Para esto, se codifica el

siguiente código “sudo Hassbian-config upgrade Hassbian”. Este proceso puede tardar 5-10 mins.

Figura 77. Código de mejora Hassbian.

Fuente: Autores

Figura 78. Mejora completa de Hassbian.

Fuente: Autores

Después de instalar todos los scripts y mejorar el Hassbian. Si nuevamente se codifica “sudo

Hassbian-config show”, ahora los scripts se deben mostrar de la siguiente forma. Los títulos que aparecen en verde son los scripts que se instalaron anteriormente. Lo que prosigue es el siguiente

Page 90: CARACTERIZACIÓN DE UN HANDPUNCH PARA LA ACTIVACIÓN DE UN …

90

anexo “Configuración del Home assistant”.

Figura 79, Resultado de los scripts descargados.

Fuente: Autores

Page 91: CARACTERIZACIÓN DE UN HANDPUNCH PARA LA ACTIVACIÓN DE UN …

91

ANEXO D. ENROLAMIENTO DE ACTUADORES Y SENSORES

En este anexo, se expondrá el paso a paso para el enrolamiento de los sensores y actuadores utilizados en el desarrollo del proyecto con el protocolo de comunicación “Z-Wave” en la plataforma “Home Assistant”.

Enrolamiento de sensores y actuadores Z-Wave. Lo primero que se debe hacer es ingresar a la IP de la Raspberry desde cualquier explorador

de internet para ingresar a la plataforma del Home Assistant.

Figura 80. Dirección IP para ingresar a Home Assistant.

Fuente: Autores

Ya estando en la plataforma de Home Assistant, nos dirigimos a “Home” que se encuentra en

la pestaña principal. Se despliega el panel de opciones dando clic en ( ) y se ingresa a la sección de configuración ubicada en la parte izquierda de la pantalla.

Posterior al ingreso a configuración se podrá observar varias opciones disponibles para la

plataforma y que se seleccionara es la opción “Z-Wave”.

Figura 81. Ingreso a la sección de configuración HA.

Fuente: Autores

Page 92: CARACTERIZACIÓN DE UN HANDPUNCH PARA LA ACTIVACIÓN DE UN …

92

Figura 82. Menú de configuración.

Fuente: Autores

Una vez dentro de la sección de “Z-Wave” se tendrá tres opciones:

Z-Wave Network Management Z-Wave Node Management OZW Log

En la primera opción se encuentra un ítem para la adición de dispositivos y otro para la

conFiguración de la red. Para añadir un dispositivo se dará clic en el botón “add node secure” paralelamente a esta acción se presiona el botón z-wave del dispositivo (ver Figura 84 y 86) que se quiera añadir para que se enrole debidamente, el botón puede variar dependiendo del dispositivo.

Figura 83. Opción para añadir dispositivo.

Fuente: Autores

Page 93: CARACTERIZACIÓN DE UN HANDPUNCH PARA LA ACTIVACIÓN DE UN …

93

Figura 84. Sirena, botón de enrolado

Fuente: Autores

Figura 85. Multisensor. Botón de enrolado.

Fuente: Autores

Si el dispositivo se enrolo correctamente en la segunda opción de la sección de Z-Wave debe

aparecer el nombre y el número de nodo en que se enrolo de dicho dispositivo, Presionando en la barra de nodos ( ver Figura 86).

Page 94: CARACTERIZACIÓN DE UN HANDPUNCH PARA LA ACTIVACIÓN DE UN …

94

Figura 86. Verificación de dispositivo enrolado

Fuente: Autores

Una vez realizados estos pasos correctamente se tendrán el dispositivo enrolado en la

plataforma; estos dispositivos se pueden organizar en la interfaz del Home Assistant. Si se quiere agregar otro dispositivo a la red, se tiene que volver a dar clic en “add node secure”

B. Cerradura Inteligente.

Por otro lado, pero no menos importante se está el enrolamiento de la cerradura inteligente también a la plataforma Home Assistant. Debido que el proceso es un poco diferente a los demás sensores, se añadirá esta sección.

En primera instancia se extenderá el perno de la cerradura y se ubicará el botón “Schlage”

como se muestra en la Figura 88. Una vez presionado dicho botón se digita el código de programación de 6 dígitos, ya sea el código conFigurado por el usuario o el predeterminado de fábrica. Posterior a eso se presiona el número “0”, a continuación deberá emitir una luz el botón ubicado en la parte inferior derecha del teclado ( ) esto reflejará un enrolamiento exitoso. En caso

de que emita luz el botón ubicado en la parte inferior derecha ( ) significara que la cerradura no se enrolo correctamente a la plataforma domótica y se debe repetir el procedimiento.

Page 95: CARACTERIZACIÓN DE UN HANDPUNCH PARA LA ACTIVACIÓN DE UN …

95

Para corroborar el enrolamiento, se deben retirar o desconectar las baterías de la cerradura y volver a conectarlas, en caso de que el botón Schlage parpadee la cerradura se enrolo exitosamente.

Fuente: Schlage. (2010). Schlage connect, Guía del usuario. Estados Unidos: Primera Edición.

Figura 87. Botón de enrolamiento

Page 96: CARACTERIZACIÓN DE UN HANDPUNCH PARA LA ACTIVACIÓN DE UN …

96

ANEXO E. INSTALACIÓN Y CONFIGURACIÓN DE RASPBERRY – SQL

En este anexo se instalará y conFigurará la base de datos SQL de la HandPunch 1000 para su

conexión y administración con la raspberry con el fin de desbloquear la cerradura inteligente de schlage be468. Se comienza con la instalación y conFiguración del servidor SQL gratuito de Microsoft “SQL EXPRESS”. Para ello, se digita en un buscador (Google, Bing, Yahoo!) lo siguiente: “Microsoft SQL server express descarga”:

Fuente: Autores

se abre el enlace de “Descargas de SQL Server | Microsoft”:

Fuente: Autores

Al entrar en la página de descargas de Microsoft, se tiene que deslizar la barra hacia abajo

hasta encontrar el servidor con el nombre “Express”. Después se da clic en “Descargar”:

Figura 90. Descripción del SQL Server 2017 Express.

Figura 88. Buscador del navegador.

Figura 89. Opción del buscador.

Page 97: CARACTERIZACIÓN DE UN HANDPUNCH PARA LA ACTIVACIÓN DE UN …

97

Una vez terminada la descarga, se abre el instalador del servidor SQL, se da clic en el tipo de instalación “personalizado”:

Fuente: Autores

En esta sección se pide que el idioma por seleccionado sea Ingles, (Opcional: se puede cambiar

la ubicación de la instalación si se da clic en “Examinar”). Posteriormente se da clic en Instalar:

Figura 91. SQL Server - Tipo de Instalación.

Page 98: CARACTERIZACIÓN DE UN HANDPUNCH PARA LA ACTIVACIÓN DE UN …

98

Figura 92. Menú de idioma y selección de ubicación de instalación del servidor.

Fuente: Autores

Al terminar la descarga, se abre el centro de instalación del SQL Server. Aquí se da clic en la

primera opción “New SQL Server stand-alone Installation or add features to an existing Installation”. (Opcional: se recomienda instalar el “SQL SERVER MANAGMENT TOOLS”, ya que esta herramienta sirve para la administración, conFiguración de la base de datos).

La siguiente página indica cuales serían los problemas que se pueden encontrar durante la

instalación. En nuestro caso, se había detectado una advertencia con el Firewall de Windows. Entonces se apagó el firewall mientras se instalaba el servidor:

Fuente: Autores

Figura 93. SQL Server Installation Centers.

Page 99: CARACTERIZACIÓN DE UN HANDPUNCH PARA LA ACTIVACIÓN DE UN …

99

.

Fuente: Autores

Posterior a la ventana anterior, sigue la ventana de tipo de instalación, en caso de que no se

tenga anteriormente un servidor SQL, entonces se da clic en la primera opción para instalar un nuevo servidor. Si se requiere mejorar las características de un servidor ya instalado, entonces se escoge la segunda opción. Al final, se tiene que dar clic en “Next”:

Fuente: Autores

Figura 94. SQL Server - Install Rules.

Figura 95. SQL Server - Installation Type.

Page 100: CARACTERIZACIÓN DE UN HANDPUNCH PARA LA ACTIVACIÓN DE UN …

100

Sigue la ventana de términos de licencia, aquí se tiene que leer los términos de licencia, y una vez se lean, se da clic en la casilla de blanco al lado de “I accept the license terms” y después se da clic en “Next”:

Fuente: Autores

A continuación, sigue la ventana de selección de características, en esta sección, se selecciona

todas las características exceptuando la última de las secciones de “Instance Features” y “Shared Features”. Después se tiene que dar clic en “Next”:

Fuente: Autores

Figura 96. SQL Server - License Terms.

Figura 97. SQL Server - Feature Selection.

Page 101: CARACTERIZACIÓN DE UN HANDPUNCH PARA LA ACTIVACIÓN DE UN …

101

La siguiente sección es la conFiguración de la instancia. Por recomendación se da clic en la opción “Default Instance”. Después se da clic en “Next”:

Fuente: Autores

En la siguiente ventana, se conFigura el servidor de manera automática. Se da clic en “SQL

Server Database Engine” y después en “Next”:

Fuente: Autores

Figura 98. SQL Server - Instance ConFiguration.

Figura 99. SQL Server - Server ConFiguration.

Page 102: CARACTERIZACIÓN DE UN HANDPUNCH PARA LA ACTIVACIÓN DE UN …

102

Ahora sigue una de las secciones más importantes para conFigurar. La sección de conFiguración del motor de la base de datos ayudará a establecer el modo de autenticación de la base de datos. En este caso, es necesario que se escoja la opción del “Mixed Mode” ya que se necesitará la cuenta “sa” con la contraseña colocada por el usuario en “Enter Password” para futuros códigos del home assistant. También se recomienda agregar un administrador de las bases de datos SQL. Para esto, se tiene que dar clic en el botón “Add Current User” y quedara como administrador el usuario donde fue instalado el servidor SQL. Para seguir con la instalación se da clic en “Next”:

Fuente: Autores

Las siguientes dos secciones, es la instalación de características seleccionadas en la sección

“Features Selection”. Para seguir con la instalación, se tiene que dar clic en el botón “Accept” y después en “Next”:

Figura 100. SQL Server - Database Engine ConFiguration

Page 103: CARACTERIZACIÓN DE UN HANDPUNCH PARA LA ACTIVACIÓN DE UN …

103

Figura 101. SQL Server - Install Microsoft R Open.

Fuente: Autores

Después de dar el anterior “Next”. Se comenzará la instalación del servidor de acuerdo con la

conFiguración seleccionada anteriormente. Al finalizar, Se da clic en el botón “Finish” y se terminará la instalación del servidor.

Figura 102. SQL Server - Install Python.

Page 104: CARACTERIZACIÓN DE UN HANDPUNCH PARA LA ACTIVACIÓN DE UN …

104

Figura 103. SQL Server - Installation Progress.

Fuente: Autores

Ahora se sigue a la siguiente sección del anexo. En esta parte, se instalará y conFigurará el

software “HandPunch Service”. Este software es el encargado de extraer la información y los registros de la HandPunch recopilándolo en el servidor SQL instalado anteriormente. Primero se necesitará descargar el programa. Para esto, se digita la siguiente url en la barra del navegador de internet:

URL: https://www.midextimeandattendance.com/handpunch-software/handpunch-service/ Una vez en la página, se selecciona el botón “Download HandPunch Service Trial” (se utiliza

la versión de prueba por no tener los medios para comprar el software completo). La desventaja de la versión de prueba es que esta no se actualiza instantáneamente si no se necesita reiniciar el servicio de Windows para que actualice la base de datos. Aun así, por su facilidad de instalación y de conFiguración recomendamos el uso de este software:

Page 105: CARACTERIZACIÓN DE UN HANDPUNCH PARA LA ACTIVACIÓN DE UN …

105

Figura 104. HandPunch Service - Página de descarga.

Fuente: Autores

Una vez descargado el software, se abre y en la primera ventana, se da clic en “Next”:

Figura 105. HandPunch Service - InstallShield wizard.

Fuente: Autores

Page 106: CARACTERIZACIÓN DE UN HANDPUNCH PARA LA ACTIVACIÓN DE UN …

106

Se selecciona la carpeta en donde se desea guardar el software:

Se presiona en el botó “Install” y se espera unos cuantos minutos:

Fuente: Autores

Fuente: Autores

Figura 104 Instalación del programaFuente: Autores

Figura 106. Selección de la carpeta de destino.

Figura 107. Instalación del programa

Page 107: CARACTERIZACIÓN DE UN HANDPUNCH PARA LA ACTIVACIÓN DE UN …

107

Por último, se presiona el botón “Finish”

Se abre el software una vez terminada la instalación, primero se aparecerá la ventana para

seleccionar el servidor de la base de datos donde habrá dos opciones de autenticación. Si se abre el software en el mismo computador donde se instaló el servidor, la autenticación por Windows es la más sencilla y rápida. Se da clic en “Test Connection”. Si la conexión fue aprobada, se da clic en “Create or Update”. Este comando crea o actualiza la base de datos de la Hand Punch en el servidor SQL. Se crea la base de datos con el nombre HandPunchData y finalmente se da clic en “Close”:

Figura 109. HandPunch Service - Windows Authentication.

Fuente: Autores

Figura 105 Finalización de la instalaciónFuente: Autores

Figura 108. Finalización de la instalación.

Page 108: CARACTERIZACIÓN DE UN HANDPUNCH PARA LA ACTIVACIÓN DE UN …

108

La otra forma para crear la base de datos es a partir de la autenticación por medio del servidor SQL. Para ello, se selecciona en “Authentication” la opción de “SQL Server Authentication”. En el “User Name” se digita el usuario del “system administrator (sa)” y en la parte de “Password” se digita la contraseña que se digito durante la instalación del servidor. Se da clic en “Test Connection”. Si la conexión fue aprobada, se da clic en “Create or Update” y finalmente se da clic en “Close”:

Fuente: Autores

Posterior al “Close”, se abrirá la ventana de los dispositivos, esta ventana nos muestra el ID

del dispositivo, el nombre del dispositivo, el tipo de conexión, la dirección IP o puerto serial por el cual el dispositivo está conectado y si se encuentra activo o no. Ahora se dará clic al primer icono de la parte derecha:

Figura 111. HandPunch Service - Ventana de dispositivos.

Fuente: Autores

Figura 110. HandPunch Service - SQL Server Authentication.

Page 109: CARACTERIZACIÓN DE UN HANDPUNCH PARA LA ACTIVACIÓN DE UN …

109

Después de lo anterior, se abre la ventana para agregar el dispositivo HandPunch. Como se comentó en capítulos anteriores, la conexión de la HandPunch solo es permitida por el serial. Entonces se da clic en la opción de serial. Como es el primer dispositivo HandPunch que se agrega, el ID será 1. El nombre del dispositivo es dado por el usuario. En este caso “HandPunch 1000”. El “Com Port” (puerto de comunicación) es el puerto USB donde se encuentra conectada la HandPunch por medio del conversor RS232 a USB, el cual se encuentra conectado en puerto 2 (COM2) y finalmente se selecciona los “Bauds” en el cual la HandPunch está enviando la información. Se coloca 9600 bauds porque es la conFiguración en la que se encuentra la HandPunch. Finalmente le damos clic en el icono de disket de la izquierda para guardar el dispositivo:

.

Figura 112. HandPunch Service - Add new HandPunch

Fuente: Autores

Una vez agregada la HandPunch, se da clic en el menú “Service”, esta ventana nos muestra el

estado actual del servicio de Windows. El servicio de Windows sirve para la extracción de datos del dispositivo. Para iniciar el servicio, se da clic en el “play” verde:

Page 110: CARACTERIZACIÓN DE UN HANDPUNCH PARA LA ACTIVACIÓN DE UN …

110

Figura 113. HandPunch Service - Iniciar Servicio.

Fuente: Autores

Como se mencionó anteriormente, para la actualización de la base de datos es necesario

reiniciar el servicio. Para reiniciar el servicio, se da clic en el tercer botón (las dos flechas) y para que descargue los datos a la base datos cada que se reinicia, se da clic en el último botón:

Page 111: CARACTERIZACIÓN DE UN HANDPUNCH PARA LA ACTIVACIÓN DE UN …

111

Figura 114. HandPunch Service - Reiniciar servicio y descarga de datos.

Fuente: Autores

Para finalizar esta sección, se da clic al menú “Attendance Log”. En este menú se registra los

códigos que se han “loggeado” en el dispositivo HandPunch. Como se dijo anteriormente, esta base de datos esta sincronizada con la base de datos del servidor SQL. Eso significa, que cuando se actualiza la base de datos del software, al mismo tiempo se actualiza la tablas de la base de datos del servidor SQL.

Figura 115. HandPunch Service - Attendance Log.

Fuente: Autores

Para terminar este Anexo, se mostrará como conectar el Hassbian al servidor SQL para tomar

el ultimo registro entregado por la HandPunch. Para iniciar, se tiene que abrir el puerto TCP “1375” donde se encuentra el servidor SQL por el Firewall de Windows:

Page 112: CARACTERIZACIÓN DE UN HANDPUNCH PARA LA ACTIVACIÓN DE UN …

112

Dentro del firewall, se da clic en configuración avanzada:

Figura 117. Firewall - Configuración Avanzada.

Fuente: Autores

Figura 116. Firewall - Buscador de Windows

Page 113: CARACTERIZACIÓN DE UN HANDPUNCH PARA LA ACTIVACIÓN DE UN …

113

En configuración avanzada, se da clic botón de la parte derecha que se llama “reglas de entrada”:

Figura 118. Firewall - Regla de Entrada.

Fuente: Autores

Ahora se da clic en el botón de la derecha “nueva regla”

Figura 119. Firewall - Nueva Regla.

Fuente: Autores

Entonces se abre la ventana de “tipo de regla”. Aquí se selecciona la opción de “puerto” y

después “siguiente”:

Page 114: CARACTERIZACIÓN DE UN HANDPUNCH PARA LA ACTIVACIÓN DE UN …

114

Figura 120. Firewall - Tipo de Regla

Fuente: Autores

En protocolos y puertos, se selecciona el tipo de puerto en “TCP” y “Puertos Locales

Específicos” escribiendo en la caja de texto el número del puerto “1375” y se da siguiente:

Figura 121. Firewall - Protocolo y Puertos.

Fuente: Autores

En Acción, se selecciona la primera opción, “permitir la conexión” y se da siguiente:

Page 115: CARACTERIZACIÓN DE UN HANDPUNCH PARA LA ACTIVACIÓN DE UN …

115

Figura 122. Firewall - Acción.

Fuente: Autores

En perfil, se recomienda dejar activo todos los perfiles y se da en siguiente:

Figura 123. Firewall - Perfil.

Finalmente, el nombre de la regla, en este caso, se deja en “SQL” y se da clic en finalizar:

Page 116: CARACTERIZACIÓN DE UN HANDPUNCH PARA LA ACTIVACIÓN DE UN …

116

Figura 124. Firewall - Nombre.

Ahora debe aparecer la nueva regla en “Entradas Entrantes” como se muestra a continuación:

Figura 125. Firewall - Aparición de la nueva regla.

se necesita digitar el siguiente comando para descargar los paquetes necesarios para la comunicación del Hassbian con el servidor SQL:

“sudo apt-get install freetds-bin freetds-dev python-pymssql python-pyodbc python-sqlalchemy tdsodbc unixodbc-bin unixodbc-dev”

Page 117: CARACTERIZACIÓN DE UN HANDPUNCH PARA LA ACTIVACIÓN DE UN …

117

Figura 126. SSH - Instalación de Paquetes.

Fuente: Autores

Una vez descargados los paquetes, se requiere conFigurar el driver “odbc”. Se crea un código

en Python con el nombre de “odbc.ini” en el directorio “etc”. Se digita el siguiente código para realizar lo anterior mencionado:

“sudo nano /etc/odbc.ini”

Figura 127. SSH - Ubicación y Creación odbc.ini

En el programa se coloca lo siguiente:

[Nombre del servidor al que se quiere conectar]

Description=my dsn (puede editar la descripción libremente)

Driver=FreeTDS (Driver que se instaló con todos los demás paquetes)

Database=HandPunchData (Base de datos donde se encuentran los registros del software “HandPunch Service)

Servername=Nombre del servidor al que se requiere conectar

Después de ingresar lo anterior, se guarda el código tecleando “ctrl+c”, “enter” y después “Y”.

Page 118: CARACTERIZACIÓN DE UN HANDPUNCH PARA LA ACTIVACIÓN DE UN …

118

Figura 128. SSH - ConFiguración odbc.ini.

Fuente: Autores

Después de codificar lo anterior, ahora se necesita codificar la ubicación del driver. Por eso

razón, se crear un nuevo código con el nombre “odbcinst.ini” en la siguiente ubicación:

“sudo nano /etc/odbcinst.ini”

Figura 129. SSH - Ubicación y Creación odbcinst.ini.

Fuente: Autores

Una vez dentro de la consola, se agrega lo siguiente:

[ODBC]

Trace=Yes

TraceFile = /tmp/odbc.log

[FreeTDS]

Description= FreeTDS Driver V1.12

Driver=/usr/lib/arm-linux-gnueabihf/odbc/libtdsodbc.so

Setup=/usr/lib/arm-linux-gnueabihf/odbc/libtdsS.so

fileusage=1

dontdlclose=1

UsageCount=1

Se guarda el archivo con los mismos pasos mencionados anteriormente:

Page 119: CARACTERIZACIÓN DE UN HANDPUNCH PARA LA ACTIVACIÓN DE UN …

119

Figura 130. SSH - ConFiguración odbcinst.ini

Fuente: Autores

Ahora se configura el driver FreeTDS. Para ello se requiere entrar en el código de

conFiguración del driver “freetds.conf” ubicado en la siguiente dirección:

“sudo nano /etc/freetds/freetds.conf”

Figura 131. SSH - Ubicación Freetds.conf.

Fuente: Autores

Una vez dentro del código de configuración, se necesita codificar al final del código, donde se

encuentra el ejemplo de un servidor “MS”, se borra ese ejemplo y se digita lo siguiente:

[Nombre del servidor]

host = IP_Servidor

port = 1375 (el puerto que abrimos con la nueva regla creada anteriormente)

tds versión = se coloca el mismo número que se muestre en la parte de arriba (en este caso fue “auto”)

Se guarda la configuración con los pasos anteriores:

Page 120: CARACTERIZACIÓN DE UN HANDPUNCH PARA LA ACTIVACIÓN DE UN …

120

Figura 132. SSH - Configuración Driver FreeTDS.

Fuente: Autores

Ahora se crea el programa Python con el que pediremos los datos a la base de datos. El

programa puede ser llamado a observación del usuario, lo único que se restringe es que termine el nombre con un “.py”. El programa se crea en la siguiente ubicación:

“sudo nano /usr/bin/SQL.py”

Figura 133. SSH - Ubicación y Creación Programa Python.

Fuente: Autores

Page 121: CARACTERIZACIÓN DE UN HANDPUNCH PARA LA ACTIVACIÓN DE UN …

121

Se digita el siguiente programa Python:

import pyodbc #importa la librería odbc

entity_id = data.get(‘lock_schlage_be468_touchscreen_deadbolt_locked’) # llama la entidad de la

cerradura inteligente

conn = pyodbc.connect(“DNS=LIGHT_HEART\SQLEXPRESS;UID:sa;PWD=Password_here”) # se digita

el servidor, usuario y contraseña del cual se desea conectar

sql_Query = “select DeviceUserID from AttendanceLogs where AttendanceLogID = (select

max(AttendanceLogID) from AttendanceLogs)” #variable donde se guarda el string para pedir el

código del ultimo usuario que entro a la HandPunch

cursor = conn.cursor() #comienza la conexión con el servidor

cursor.execute(sql_Query) #ejecuta la solicitud descrita en la variable sql_Query

Usuario = cursor.fetchone() #Crea la variable “Usuario” el cual será el dato solicitado por la variable,

el dato llega como una cadena de datos.

Codigo = Usuario[0] #crea la variable “Codigo”, que será igual al primer número de la cadena de

datos, en este caso el float “DeviceUserID”

Print(Usuario[0]) #imprime la variable “Codigo”

#En esta parte se crean 3 condicionales (cada uno con el código de los integrantes de la tesis), se

imprime un mensaje de bienvenido y llama un servicio “hass”

#el llamado del servicio se hace por medio del comando hass.service.call. Para abrir la puerta, se

llama el servicio lock.unlock y se escribe el dispositivo (entidad) que realizará la acción del servicio

como se muestra abajo

If Codigo == 2407.0:

Print(“Bienvenida Cindy”)

hass.service.call(‘lock’,’unlock’,“entity_id”:“lock_schlage_be468_touchscreed_deadbolt_locked”)

else:

if Codigo == 2904.0:

Page 122: CARACTERIZACIÓN DE UN HANDPUNCH PARA LA ACTIVACIÓN DE UN …

122

print(“Bienvenido Carlos”)

hass.service.call(‘lock’,’unlock’,“entity_id”: “lock_schlage_be468_touchscreed_deadbolt_locked”)

else:

if Codigo == 2703.0:

print(“Bienvenido Michael”)

hass.service.call(‘lock’,’unlock’,“entity_id” : “lock_schlage_be468_touchscreed_deadbolt_locked”)

else:

print(“Acceso Denegado”)

Figura 134. SSH - Código SQL.py.

Fuente: Autores