Home
Llave electrónica basada en patrones de movimiento
Contents
1. Inicia el sem foro para el acceso al WiFly Sem toro creado Ok Si Inicia la memoria no vol til Memoria no vol til creada Ok Si Figura 7 Diagrama de flujo Inicio del sistema 1 Llave electr nica basada en patrones de movimiento P gina 21 de 58 Ram n Gonz lez Valle Inicio cont Inicia tarea de gesti n de interface con el usuario Tarea creada Ok Si Inicia tarea de gesti n de LEDs y pulsadores Tarea creada Ok Si Inicia tarea de gesti n de la WLAN Tarea creada Ok Si Inicia tarea de gesti n de patrones de movimiento Tarea creada Ok Si Inicia tarea de gesti n de patrones del cliente TCP Tarea creada Ok No Si Inicia el scheduler Figura 8 Diagrama de flujo Inicio del sistema 2 Llave electr nica basada en patrones de movimiento TFC Sistemas embebidos P gina 22 de 58 Ram n Gonz lez Valle TFC Sistemas embebidos Inicialmente se crean los recursos necesarios para la aplicaci n Si no es posible crear alguno de los recursos no se inicia el scheduler quedando en un bucle infinito 4 2 2 Tarea del interface con el usuario Interface con usuario ao Presenta men inicial Configurar Si WIFI Presenta submen WIFI No No Alguna selecci n v lida Configurar Cliente TCP No Configurar Patrones Presenta submen Patrones Alguna sele
2. cccoooonncnnccccnoncnncconnnnnnnnnonnnnnnnnnnnnnnnnnnnnnnnrnnnnnnnanrnnnonnnanrnnnns 41 Figura 27 Filtro tratamiento se al aceler MetTO oooccccccnncncoconnonononnnnoonannnnonnncnnonnnrnnnonnnnnnnnnnrnnnnnnrnnrnnnnnncnnanenns 42 ERA ITA 48 Figura 29 Men configuraci n WIFI oooooocooconncnnccccnonnnnnonnnanennnonnnnncnnnnonnnnnnnnnnnnnnrnnnnnnnnnrnnnnnnnnrrnnnnnrnnrrnnnnnanrnnennss 49 Figura 30 Men configuraci n Cliente TOP c oooooococcnccnnccononnnnnonononnnnnnnonnnnrnnnnonnnnnnnnnnnnnrnnnnnnnnnrnnnnnrnnrnnnnnnnancnnns 49 Figura 31 Men patrones de movimiento iria 50 Figura 32 Edici n de los patrones almacenados cccccccoconncnncccnoonconnnononnnonononnnnnnnnonannrnnnnnnnnnnnnnnnnnnennnonnnanennnnss 50 Figura 33 Creaci n de un patr n de movimiento occcccccconncnncccnnoncnnnoononnnnnnnnnnnnnnnnnnnnnnrnnnnnnnnnnnnnnnranernnonnnanennnoss 51 Figura 34 Asignaci n de nombre para UN Patr N occcoccccocncnncccnnancnnnoononnnonnnnnnnnnnnnnnnnnnrnnnnnnnnnnnnnnnranennncnnnanennnnss 51 FIGUIra 35 Importar proyecto LPCXPrESSO T roenan e in 53 Figura 36 Importar proyecto LPCXpresSo 2 ooccococoncoccocononcocononcoconnononnanonnnnannnnononnnnnnnnnnnonannnnnnnnrnnnnnanenes 53 Figura 37 Importar proyecto LPCXpresSo 3 ooooccccocnncociccononcocononcoconnnnonnanonnnnannnnononnnnnnnnnnnnonannnnnnnnnnnnnnanenes 54 Figura 38 Importar proyecto LPCXpressSo 4 oooocccococnncociccononcocononnononnnnonnnnonnnnannnnnnonnnnnnn
3. 4 3 Patrones de M viIMIeMO sais 33 dit COR CEDIOS DEMOS a na 33 438 JOONUNCACI N de UN MOvIMIEMO meremere ica 35 ES FSUUCIUTA de UI PALO gosta entanto do ditas ran 40 4 3 4 Adaptaci n de las se ales del aceler Metro ccccoooonncnnccoconnonononononononononanonnnnnnannnnnnonanenns 41 439 COMPIAraci n de Paros cin 43 3 CONCISO OS lt ode 44 5 1 Fropuesta de Mejoras pst AAA RRA 44 5 2 US E E AA O A A Cpto A Io SAIA ERIAS RASO 44 6 GIOSANO A a 46 7 Referencias y bibliograf a 2 A A A A AS 47 O A OXOS iii A AA A TA DAA AAA AAA AAA AAA ida dada 48 8 1 Manual de USA e e a dto ado 48 OA Peguis INICIA O Sala E in iia da 48 ne COMOU CIO Mrs ama TA as UI ATAN 48 Sla EDICION DO DATOS aaa da 50 8 1 4 Entrada de una clave de movimiento ooccoocccccncccccncninononanonanenanonanonanonanonanonanonanonanananannos 52 89 ELEDSINOICAUIVOS o A 52 Llave electr nica basada en patrones de movimiento P gina 4 de 58 Ram n Gonz lez Valle TFC Sistemas embebidos 8 2 EJECUCION yY COMPILACI N merca Calcio ceebaieas 52 821 INPO ACI N del DrOVECIO ii A ii A Add 53 822 GOMPIACI N DEl DrOVECIO 2 ia a acia 56 8 23 GArgar del Drove yanan dida 57 Llave electr nica basada en patrones de movimiento P gina 5 de 58 Ram n Gonz lez Valle TFC Sistemas embebidos ndice de figuras FIQura Ts TIA BICA CIO NC ita A AAA AAA AAA AA ST a AS Din sU 10 Figura 2 Resultado final de la planificaci n iii A A A A DD Dan
4. Ni LPCXpresso Debug Driver v6 0 Jan 17 2014 19 03 10 crt_emu_cm3_nxp exe build 1223 Pc 0 Reading remote configuration Nc Looked for chip XML file in C nxpLPCXpresso_7 0 0_92 Tporpresso bin LPC1769 xml Nc Looked for vendor directory XML file in C nxp LPCXpresso_7 0 0_92 Ipexpresso bin mxp_directory xml Nc Found generic directory XML file in C nxp LPCXpresso_7 0 0_92 Mpoxpresso bin crt_directory xml Pe 5 Remote configuration complete Pc 30 Emulator Connected Figura 46 Indicaci n de final de cargar del proyecto en el LPC Llave electr nica basada en patrones de movimiento P gina 58 de 58
5. memoria no vol til por lo que si no se le configuran otros utilizar los ltimos configurados o los ya comentados de defecto si no se han configurado otros Realiza hasta tres intentos de enviar el mensaje al host con un tiempo entre reintentos de cinco segundos Una vez realizados los reintentos aunque no consiga conectar con el host deshecha el mensaje pendiente 4 2 5 Tarea de gesti n de patrones Gesti n de Patrones meo gt Inicializa el LED y el pulsador Lectura Patr n a z Inicializa el inclin metro Alg n mensaje de la interface Muestra el nombre Edici n de i de los patrones patrones almacenados y permite borrarlos individualmente Crear patr n Almac n lleno No Espera la activaci n del pulsador Lectura Patr n i Figura 14 Diagrama de flujo tarea de gesti n de patrones 1 Llave electronica pasada n patrones de movimiento Pagina 23 de 3 Ram n Gonz lez Valle Gesti n de Patrones cont Devuelve sem foro de sincronismo a la interface indicando que ha finalizado No Pulsador Lectura Patr n activado Capturando patr n Coincidencia del patr n introducido Si Env o de mensaje con el patr n reconocido a la cola Si Pone a parpadear LED Lectura Patr n Apaga LED Lectura Patr n TFC Sistemas embebidos Pone a parpadear LED Lectura Patr n Capturando patr n Apaga LED Lectura Patr n Petici n con
6. n Gonz lez Valle TFC Sistemas embebidos Store new variable record in current sector Store variable UserFirmware j ls current sector full Get value from Yes current variable record Read Variable Copy current Erase old sector variable records to new sector Figura 16 Mecanismo b sico de la gesti n de la memoria flash interna Los sectores utilizados tienen una cabecera que indica su estado sector empty OxFF FF FF Store variables Sector empty OXFF FF FF OXAA AA FF sector invalid cumio AS Store variables OXAA AA AA a Sector valid OxAA AA FF Sector empty g Erase Sector OXFF FF FF e e e e e e e e o a a a a a a a o e e PP PP PP PP PP PP PP PP PP PP PP PP PP PP PP PP PP PP PP PP e e PP e e e e e e o o e e o e e e r Sector valid a a a a a a a a a a E a a Pa Pa a a a a Pa Pa Figura 17 Estado de los sectores en la gesti n de la memoria flash interna Llave electr nica basada en patrones de movimiento P gina 32 de 58 Ram n Gonz lez Valle TFC Sistemas embebidos Estos estados nos indican Sector empty El sector ha sido borrado y est libre para utilizarse Sector inicializing El sector est siendo inicializado para pasar a ser el v lido y utilizarse para almace
7. n de movimientos ya que a veces resulta demasiado selectivo ya que hacemos movimientos de los que no somos conscientes Tambi n hab a que analizar si interesa que el sistema considere iguales movimientos realizados sosteniendo al aceler metro de formas muy diferentes cambio de base del sistema de vectores 5 2 Autoevaluaci n En la realizaci n de este proyecto he podido profundizar en el mundo de los sistemas embebidos actuales Aunque ya hab a tenido alg n contacto con los microcontroladores no hab a sido con sistemas tan completos y las aplicaciones eran m s sencillas El llegar a este punto no ha sido f cil no por la complejidad de estos sistemas por la compresi n en el tiempo Realmente ha habido varios subsistemas a estudiar a los que me hubiera gustado dedicar m s tiempo Llave electr nica basada en patrones de movimiento P gina 44 de 58 Ram n Gonz lez Valle TFC Sistemas embebidos Como en todo proyecto siempre hay algunas partes que mejorar as o en las que har as m s hincapi aunque en general estoy contento con este Cuando he creado librer as no las he hecho nica y exclusivamente pensando en la PAC a la que iba destinada las he hecho pensando en qu deber a tener para estar completa sin importar d nde se utilizara aunque por tiempo hay algunas que no he acabado de completar tal y como me gustar a Este es un hecho que me ha hecho perder m s tiempo del necesario y lo asumo
8. none ha Handshake OFF w Mode Free Serial Hame Baud 57600 Data size ls Farit none Handshake OFF blode Free P gina 49 de 58 Ram n Gonz lez Valle TFC Sistemas embebidos 8 1 3 Edici n de patrones Para acceder a la edici n de patrones hay que seleccionarlo en el men general UDP Setup Serial TCP Client TCP Server UDP Test Mode About Recelved 5 ent data Seral Hame Configuracion coma 1 WiFly Baud 2 Cliente TCP preegOO Y 3 Patrones de Movimiento Llave Electonica Basada en Patrones de Movimiento Data size 777 3 a Configuracion patrones Parity 1 Edicion none z 2 Crear Handshake X 5alir 237 OFF k Mlode Free Y Figura 31 Men patrones de movimiento La primera selecci n del submen permitir ver el nombre y borrar los patrones almacenados ik 7 w UDP Setup Serial TCP Client TCP Server UDP Test Mode About Received Sent data Serial Llave Electonica Basada en Fatrones de Movimiento e Configuracion coma 1 WiFly Baud 2 Cliente TCP 5600 3 Patrones de Movimiento Data size 777 3 E Configuracion patrones Parity 1 Edi cion none AEREOS Handehake X Salir 293 Y DFF E Patrones almacenados Mode 1 HORIZONTAL Free Quieres borrar un patron 5 N Figura 32 Edici n de los patrones almacenados Si se selecciona borrar un patr n nos pregu
9. Aa 1 3 O AS A RE A A E A TO 8 1 4 Enfoque y metodolog a seguida oooccooonccocnoconononnononnononononnonanonnnnonanonannonanonanons 9 1 5 e ANA In O A EEN a Aa reedita 10 ES ei INICIA nel desa OA A TADES a oda El ORA ar a e E ada 10 AA E AN at ca estada ale E TAG a NASAS DURE ra AI A DIRI NEL ULE 11 1 6 Recursos empleados viiiweiet audi aL e ata me RU DIOS ut AE oi DU ART DN 12 LOL AA 12 LOZ A EN AE TA O E a e ts E 14 1 7 Froductos ODICNICOS e NASA ITA A 14 2 ANTecedent s ii A tds 15 2 1 ESTO DONE ceni IS 15 3 Descripci n TUNCION aa 16 3 1 Llave electr nica basada en patrones de movimiento cooocccocnccocncconncnononononanoonos 16 3 2 FOST PA E E A 16 3 3 RO UUT a O E O A INDE RASE ADE E ES TA AU SAE 16 3 4 Shema embe O A A too nm a ETA 17 4 Descripci n detallada iaa 20 4 1 Esquema AO CONCE XIONACO ia a ai 20 4 2 M dulos sistema embebido ai 21 42l INICIO OL SISTE A E A A il 21 4 2 2 Tarea del interface con el usuario iiaa aa aa aa aa aa aa aa Ea Ea E Ea E Ea E ERE ERE ERE REDE DR ED REDE ED E R DADE ERE R DR DDo 23 423 TACA DO geslon ACA WAN a aid 24 424 TICA CIOnte TOF a ia E EOE pi cad 26 4 2 5 Tarea de gesti n de patrones ccccccoconnnooncconnnnonnccnnnonnnncnnanonnonononnnnnnnnnnannnnnnonannnnnonenanins 28 4 2 6 Tarea de gesti n de LEDS y pulsadores oooonccccccccnnconccccoononnonononnnnnonononcnnnononannononnnanenoss 30 4 2 7 Gesti n de memoria no VO ta 30
10. C digofinal Bowo E 3 1 Adquisici n conocimientos especificos 18 13 18 0 32 Dise o 12 a 12 33 Programaci n 6 4 6 0 p 3 4 Pruebas del sistema 7 5 7 0 4 PACT Memoria versi n previa MN s 1 o o 5 PACT Memoria versi n final MN 10 13 0 6 PAC Presentaci n 5 05 0 86 E 6 1 Gui n 1 0 2 E 6 2 Desarollo 4 4 0 4 Ip Figura 2 Resultado final de la planificaci n Los motivos del desfase han sido e Por un error en la lectura del plan docente hab a planificado la entrega de la versi n previa de la memoria en otra fecha e Las pruebas con la lectura de los ejes del aceler metro me hizo darme cuenta que ten a que realizar un tratamiento previo teniendo que incluir filtros previos e Para el almacenamiento en memoria no vol til he utilizado una librer a creada por el propio fabricante del microcontrolador pero lamentablemente ten a errores que imped a su correcta compilaci n con el entorno utilizado y que no funcionaba correctamente con determinada parametrizaci n errores que tuve que corregir Llave electr nica basada en patrones de movimiento P gina 11 de 58 Ram n Gonz lez Valle TFC Sistemas embebidos 1 6 Recursos empleados 1 6 1 Hardware Para el presente proyecto he utilizado los siguientes elementos de hardware Figura 3 Hardware utilizado a Protoboard Placa de pruebas para realizar prototipos y poder interconectar componentes electr nicos sin soldadura Lo utilizo para real
11. DDAo 11 Foura IT FIAFOAWAre UIIZ DO it E AR AA DRA AA AA AE 12 Figura 4 Diagrama de bloques general del SIStemMa ooccccccoccnncnncnononnonnnnonannnnnnnonannnnnnnnnnnnnnnnnnnancnnnonnnanennnnss 16 Figura 5 Diagrama de bloques del sistema embebidO oooonccnncccoconnconncononncnnnnonannnnnnnnnnnnnnnnonnnnrnnnonnnanennnnss 17 FIGQUra O Esquema de conexionado xorde an UU IE CRA UU AN DIL ENTRA TU Sa a DIR 20 Figura 7 Diagrama de flujo Inicio del sistema 1 oooocccccccconnconccononnnonononannnnnononannonnnnnnnnnnnnnnonannnnnonnnancnnnns 21 Figura 8 Diagrama de flujo Inicio del sistema 2 oooncccncocccnncnnccononnnnnnnonnnnnnnnnonannonnnnnnnnnnnnnnnnnnnnnnonnnancnnnns 22 Figura 9 Diagrama de flujo tarea interface con el USUATSIO occcccoonnnnconnnnnconnncnnonnnnnnonnnnnnnonnnrnnonnnrnnonnnnnnnnanennnos 23 Figura 10 Diagrama de flujo tarea de gesti n de la WLAN U cooncooccoconnccnncccnonncnncnonannnnnononannnnnnonnnnnnnnnnnnanonnnos 24 Figura 11 Diagrama de flujo tarea de gesti n de la WLAN B oocooccccconccnnccononnconoconannnnnononannnnnnononnnonnnononcnnnnos 25 Figura 12 Diagrama de flujo tarea de gesti n del cliente TCP 1 ooonccccccoccncconccononnnnnononanonnnnnnnnnnonnnnnnannnnnos 26 Figura 13 Diagrama de flujo tarea de gesti n del cliente TCP 2 oooncccccccccnncnnccononnnnnononannnnnnonnannnnnnnnnannnnnos 27 Figura 14 Diagrama de flujo tarea de gesti n de patrones 1T ooooncccnc
12. Es un control gesticular para sistemas Android que cuenten con un aceler metro Como tel fonos m viles y tabletas e Mando de Wii Plus El mando de Wii Plus es un control por movimientos de la consola Wii Responde al movimiento y la rotaci n que realices con el mando e PlayStation Move PlayStation Move es un sistema de control de videojuegos por movimientos para la consola PlayStation 3 Llave electr nica basada en patrones de movimiento P gina 15 de 58 Ram n Gonz lez Valle TFC Sistemas embebidos 3 Descripci n funcional 3 1 Llave electr nica basada en patrones de movimiento Sistema embebido Figura 4 Diagrama de bloques general del sistema El sistema completo est compuesto por un host que recibir un mensaje cada vez que el sistema reconozca un patr n de movimiento un PC de usuario que permite interactuar con el sistema embebido permitiendo configurarlo y editar patrones y el propio sistema embebido La comunicaci n con el host se realiza v a WIFI El sistema embebido se conectar a la WLAN configurada a trav s de la cual se conectar al host cuya localizaci n s lo vendr condicionada por el alcance de la propia red La conexi n con el PC de usuario ser realiza v a serie a trav s del convertidor USB UART CP2102 3 2 Host El host al que se conecta el sistema cuando reconoce un patr n simplemente es un sistema con un servicio TCP escuchando en un puerto determinado La IP y el puerto de
13. a trav s del aceler metro con un bajo coste computacional Dise o de la representaci n y comparaci n Dise ar c mo representar digitalmente un patr n de movimiento de una forma compacta e inequ voca apta para un bajo coste de almacenamiento y una comparaci n sencilla Llave electr nica basada en patrones de movimiento P gina 9 de 58 Ram n Gonz lez Valle TFC Sistemas embebidos e Programaci n o Programaci n del dise o de la representaci n del patr n de movimiento Programar el dise o realizado en el lenguaje de programaci n del LPC o Programaci n de la totalidad del proyecto Programar el proyecto uniendo los diversos m dulos para generar el programa definitivo compil ndolo y envi ndolo al LPC e Pruebas del sistema Probar el sistema completo con todas las funcionalidades previstas corrigiendo los errores detectados e Realizaci n de la memoria Realizar la presente memoria del proyecto 1 5 Planificaci n 1 5 1 Planificaci n inicial Inicialmente he partido con la siguiente planificaci n WES 1 1 1 2 1 3 1 4 3 1 32 3 3 3 4 4 1 42 5 1 52 26 04 2014 s bado vertical red line Start Date 26 02 2014 First Day of Week Mon 2 2 lt gt x i ia ia EO T o E n eo ea E 3 3 NN NE pl a a a A m E E a a a 1 1 a An pa p3 1 1 1 1 m E En ES T O a L L L L L L L L L En 2n OS E E E E c sees PEE rra cre 22 3 25 E E E alalolrlalsisizla 8lojalej
14. de detecci n ser a la inversa Para evitar esto la comparaci n entre un movimiento y otro la realizo teniendo en cuenta todos los ejes considerando cada movimiento como un vector tridimensional Utilizo el propio umbral para considerar si la diferencia de valor del eje que no ha llegado al umbral se puede considerar que corresponde al mismo vector o no Cada vez que un eje cumple con las condiciones necesarias para considerar que ha habido un nuevo movimiento guarda el valor de todos los ejes considerado como vector este valor guardado ser el siguiente que se compare con los nuevos valores Llave electr nica basada en patrones de movimiento P gina 37 de 58 Ram n Gonz lez Valle TFC Sistemas embebidos abs valor actual gt UMBRAL Primera detecci n Valor Valor actual lt 0 anterior gt 0 Valor actual gt 0 Nuevo movimiento Eje Figura 22 Detecci n de nuevo movimiento en un eje Nuevo movimiento de alg n eje Valores anteriores ejes Valores actuales ejes Figura 23 Detecci n global de nuevo movimiento Llave electr nica basada en patrones de movimiento P gina 38 de 58 Ram n Gonz lez Valle TFC Sistemas embebidos En estos diagramas de flujo de muestra el algoritmo utilizado para la detecci n de un movimiento Si se detecta movimiento en un eje se guarda el valor actual de todos con lo que la siguiente comprobaci n se realizar con esto ltimos valores guardados Eje X Eje X
15. de los ejes del aceler metro generar una imagen digital del patr n de movimiento introducido permitiendo su almacenamiento y comparaci n e Enviar un mensaje a un host en caso de que se introduzca un movimiento que corresponda con alguno de los patrones almacenados Mediante la conexi n a la WLAN establecida se conectar y enviar un mensaje al host configurado e Recuperaci n de las comunicaciones ante p rdidas de cobertura o de conexi n Ante un fallo de conexi n con la WLAN intentar reconectar autom ticamente Cuando tenga que enviar un mensaje al host si la WLAN est activa intentar conectar con l varias veces antes de considerar que no est accesible Llave electr nica basada en patrones de movimiento P gina 8 de 58 Ram n Gonz lez Valle TFC Sistemas embebidos 1 4 Enfoque y metodolog a seguida Para la realizaci n del presente proyecto he seguido las siguientes fases e Adquisici n de conocimientos previos sobre los elementos generales del gadget Inicialmente mediantes la realizaci n de las PACs he adquirido conocimientos previos b sicos O Entorno de programaci n Conocer el entorno LPCXpresso y el sistema operativo FreeRTOS utilizados para la programaci n del microcontrolador mediante la programaci n y compilaci n de unos proyectos iniciales LPC 1769 Conocer la placa con el microcontrolador ARM Cortex M3 y el m dulo LPC Link para su programaci n y debug He transferido los proyecto
16. de sentido para as determinar cu ndo se produce un nuevo movimiento s lo tengo que establecer qu considero que es un cambio de sentido Para determinar que se ha producido un movimiento establezco un umbral de detecci n Si la aceleraci n supera este umbral y el sentido de movimiento es diferente al del ltimo movimiento detectado considero que se ha producido un nuevo movimiento Teniendo en cuenta que se analiza el valor de la aceleraci n la especificaci n de y el sentido de movimiento es diferente al del ltimo movimiento detectado no significa que la aceleraci n baje del valor del umbral establecido si no que sobrepase el valor del umbral pero con un valor inverso al ltimo detectado D1 D2 D3 j Umbral A AA E t Umbral Aceleraci n l Figura 20 Detecci n de movimientos En este gr fico se pueden ver los puntos D1 D2 y D3 en los que considero que se ha producido un nuevo movimiento En estos puntos se ha llegado al valor del umbral establecido en sentido contrario al ltimo movimiento detectado exceptuando la primera detecci n D1 en el que al no haber ning n movimiento previo detectado igualmente se considera que se ha producido un nuevo movimiento Con lo explicado hasta ahora se puede deducir f cilmente que en un movimiento simple A B lo normal es que se detecten dos movimientos Matizo lo de norma porque se podr a llegar a dar el caso en que la desaceleraci n
17. del movimiento fuera tan suave que el sistema no lo interpretar a como movimiento Con esto se aprecia la relativa relevancia que tiene el valor del umbral si es muy alto pueden perderse movimientos y si es muy bajo puede llegar a considerar movimientos a meras oscilaciones pr ximas al 0 En el caso de trabajar con los tres ejes la detecci n de un movimiento es muy similar aunque con alg n matiz Si los tres ejes se trataran independientemente se podr a generar el problema de que movimientos que parecen id nticos sean interpretados como diferentes Llave electr nica basada en patrones de movimiento P gina 36 de 58 Ram n Gonz lez Valle TFC Sistemas embebidos Eje X Eje X AN pr A T Y c A O 3 SS TOS O h Q j Y co y o f Y UY W aT qu O t O t e Eje Y Eje Y _ PS S O C K 9 A a 5 Q i O k o UY O aT qu Q 1 t e e DI D2 D1 D2 Figura 21 Detecci n de movimientos en dos ejes en forma independiente En un movimiento en diagonal en la que intervendr an dos ejes conjuntamente podr amos tener cualquiera de los casos mostrados en estos ltimos gr ficos La nica diferencia entre un caso y el otro es que podr a haber habido una peque a inclinaci n diferente o el inicio del movimiento de un eje con respecto al otro podr a haber variado un poco Sin embargo en el caso A se detectar a que ha habido un movimiento en el Eje Y seguido de otro en el Eje X y en el caso B la secuencia
18. del usuario con el que se puede navegar por la configuraci n del sistema Genera el men principal desde el que se accede a un submen de configuraci n del WLAN un submen de configuraci n del cliente TCP y un submen de edici n de los patrones La comunicaci n entre esta tarea y el resto se realiza a trav s de mensajes que env a a una cola estando codificado en el mensaje la tarea destinataria Cada uno de los submen s ya es gestionado por su propia tarea Tarea de gesti n de la WLAN Configura la WLAN la WIFI a la que conecta SSID clave y los de la red Ethernet IP servidor DNS puerta de enlace y vigila que la conexi n est activa indic ndolo a trav s del LED Conexi n WLAN Este LED parpadea cuando est esperando que la conexi n est activa y fijo cuando est activa Inicialmente no intenta configurar la WLAN por lo que considera que permanecer con los ltimos par metros asignados Cuando se le manda configurarlos los graba de forma persistente en el m dulo WiFly Tarea cliente TCP Configurar la IP y puerto de escucha del servidor TCP al que enviarle los mensajes y lee la cola de mensajes que rellena la tarea de gesti n de patrones Todo mensaje que recibe es reenviado al servidor configurado indic ndolo que est en proceso de env o trav s del LED Env o a Host el cual parpadea indicando este estado Reintenta hasta tres veces el env o del mensaje al servidor TCP con un tiempo de espera entre
19. down para que tenga una referencia a negativo por lo que al pulsador hay que conectarlo a un com n positivo VDD de forma que al activarse lleve un valor alto a la patilla El hecho de crear una tarea para controlar los LEDs y pulsadores es para poder dotar a los m dulos que lo precisen de dos ayudas Latarea lee peri dicamente las entradas que se le indiquen realizando un polling cada 10 ms A parte del polling que no tendr a mayor sentido facilita un puntero a la posici n de memoria que ser actualizada con el valor del pulsador esto permite tener un equivalente a una hook function pero con un simple puntero Esta tarea permite asignar un periodo de parpadeo a un LED siendo ella la que se encarga de mantenerlo facilitando as la gesti n de este tipo de comportamiento al resto de m dulos El periodo m nimo de parpadeo es de 20 ms m s que suficiente si se trata para LED indicativos 4 2 7 Gesti n de memoria no vol til Para que el sistema no pierda los patrones por el hecho de quitarle la alimentaci n he querido dotarlo de memoria no vol til Aprovechando este hecho tambi n he guardado alg n otro dato de configuraci n concretamente la IP y el puerto del host con el que hay que conectar para enviarle el mensaje al encontrar una coincidencia con los patrones El resto de par metros de configuraci n corresponden a la configuraci n de la WLAN y aprovecho que el m dulo WiFly ya puede almacenarlos en su memoria n
20. para indicar diversos estados del sistema cada uno de un color diferente h Resistencias Utilizadas para limitar la corriente de los LEDs i Cables interconexi n Permite conectar los diferentes componentes j Cable coaxial Utilizados para conectar las salidas anal gicas del aceler metro con las entradas anal gicas del LPC y disminuir los posibles ruidos electromagn ticos que pueden alterar el valor real de las se ales Llave electr nica basada en patrones de movimiento P gina 13 de 58 Ram n Gonz lez Valle TFC Sistemas embebidos 1 6 2 Software Para crear el entorno de desarrollo he creado una m quina virtual mediante VMware De esta forma tengo un sistema limpio dedicado ampliable y exportable sin ning n condicionante de ning n software incompatible A nivel general en esta m quina instal los siguientes elementos de software para el desarrollo y pruebas del sistema e SO Windows 7 Profesional de 32 bits e Entorno de programaci n del LPC LPCXpresso v7 0 0 e Lenguaje de programaci n C e SO integrado en el LPC FreeRTOS v7 1 0 e Herramientas auxiliares o Drivers varios necesarios como los que instala LPCXpresso para el acceso al LPC y el driver del convertidor USB UART CP2102 o Programa terminal PuTTY o Programa terminal servidor TCP Hercules SETUP utility A nivel de fuentes de informaci n cont con e Wiki de la asignatura e Manuales y Web del fabricante del LPC http www nx
21. una serie de mejora que creo que se podr an aplicar e Tama o del gadget Si ha de ser manipulado de una forma c moda tendr a que tener un tama o manejable Esto se podr a lograr si se desarrollara un sistema real ya que tiene menos requerimientos que un tel fono m vil e Tipo de aceler metro Si el gadget se construye de forma compacta con el microcontrolador y aceler metro en la misma placa no habr a problema con utilizar este aceler metro Sin embargo si el aceler metro es una extensi n conectada con cables habr a que utilizar otro tipo ya que las salidas anal gicas de tensi n y m s a estas bajas tensiones son muy poco inmunes a los ruidos y es un tipo de se al pensado para estar a muy corta distancia el emisor del receptor Hay aceler metros que transmiten los datos por medio de una conexi n digital SPI o I C que adem s necesitan menos cables e Env o de mensajes al host Este sistema env a el mensaje al host de una forma plana tal y como es si se utilizara en un sistema de control de acceso habr a que encriptar la informaci n para que no fuera tan vulnerable e Interacci n con el sistema Se podr a utilizar la conexi n WIFI con el equipo para su configuraci n Dot ndolo de un sencillo servidor web y con una configuraci n WLAN por defecto para poder conectarse a l Sobrar a el convertidor USB UART simplificando y abaratando el sistema e Detecci n de movimientos Habr a que trabajar m s en la detecci
22. 19 Aceleraci n en un movimiento de ida y vuelta Donde considerando que se pate de una velocidad de 0 m s y se finaliza a la misma velocidad de O m s se cumplir a la relaci n entre las superficies Sa Sc Sb Con este an lisis de la previsi n del comportamiento de la aceleraci n en un movimiento sobe un eje en un movimiento simple A gt B y en otro compuesto A gt B gt A es posible pensar en c mo almacenar movimientos en base a su aceleraci n asociada 4 3 2 Identificaci n de un movimiento Inicialmente sigo analizando los movimientos que afectan a un solo eje por simplicidad para finalmente extrapolarlo a varios ejes conjuntamente Las premisas que me marco para la gesti n de patrones de movimiento es que el coste computacional y de almacenamiento de los patrones sea bajo Considerando que cada vez que un eje sufre un cambio de sentido experimenta un nuevo movimiento parece sencillo pensar en la forma de detectarlos Una vez que se ha iniciado un movimiento no importa que incremente su aceleraci n mientras siga siendo en el mismo sentido ya que lo nico que indicar a es que se ha efectuado un movimiento conjunto m s brusco con cambios de aceleraci n pero si contin a siendo en el mismo sentido sigue siendo parte del mismo movimiento Llave electr nica basada en patrones de movimiento P gina 35 de 58 Ram n Gonz lez Valle TFC Sistemas embebidos Ya que lo que me interesa es capturar los cambios
23. En resumen aunque la cantidad de horas dedicadas ha sido bastante elevada y sobre todo si se compara con los cr ditos que tiene asignados lo he pasado bien realiz ndolo Llave electr nica basada en patrones de movimiento P gina 45 de 58 Ram n Gonz lez Valle 6 Glosario ADC DNS EEPROM IIR LAN LED SSID UART USB WIFI WLAN Llave electr nica basada en patrones de movimiento TFC Sistemas embebidos Analog to Digital Converter Conversor Anal gico Digital dispositivo electr nico capaz de convertir una entrada anal gica de voltaje en un valor binario Domain Name System Sistema de Nombres de Dominio sistema de nomenclatura jer rquica para computadoras servicios o cualquier recurso conectado a Internet o a una red privada Electrically Erasable Programmable Read Only Memory Memoria de Solo Lectura Programable y Borrable Electricamente tipo de memoria ROM que puede ser programada borrada y reprogramada el ctricamente Infinite Impulse Response Respuesta infinita al impulso tipo de filtros digitales en el que como su nombre indica si la entrada es una se al impulso la salida tendr un n mero infinito de t rminos no nulos es decir nunca vuelve al reposo Internet Protocol Protocolo de Internet est ndar que se emplea para el env o y recepci n de informaci n mediante una red Local Area Network Red de rea Local red que conecta los ordenadores en un rea relativamente peque
24. Figura 10 Diagrama de flujo tarea de gesti n de la WLAN 1 Llave electr nica basada en patrones de movimiento P gina 24 de 58 Ram n Gonz lez Valle TFC Sistemas embebidos Gesti n WLAN cont Configurar IP Petici n datos configuraci n IP Si Configurar WIFI Petici n datos confiauraci n WIFI No Devuelve sem foro de sincronismo a la interface indicando que ha finalizado Sem foro WiFly libre o red inactiva Si Captura sem foro WiFly Pone a fijo LED Conexi n WLAN Libera sem foro WiFly Pone a parpadear LED Conexi n WLAN Figura 11 Diagrama de flujo tarea de gesti n de la WLAN 2 Constantemente vigila si tiene alg n mensaje de la interface y c mo est el estado de la red En caso de detectar la red inactiva simplemente captura el sem foro de acceso al WiFly ya que es el propio m dulo WiFly el que reconecta con la WLAN Llave electr nica basada en patrones de movimiento P gina 25 de 58 Ram n Gonz lez Valle 4 2 4 Tarea cliente TCP Gesti n cliente TCP TFC Sistemas embebidos Inicializa LED Env o a Host Espera que la red est activa Espera sem foro WiFly Configura el modo cliente TCP en el WiFly Devuelve sem foro WiFly Configuraci n No guardada Guarda configuraci n por defecto No Alg n mensaje de la interface Petici n datos configuraci n Guarda nueva configuraci n si h
25. Llave electr nica basada en patrones movimiento Ingenier a T cnica de Inform tica de Sistemas Estudiante Ram n Gonz lez Valle Consultor Jordi B cares Ferr s Fecha de entrega 21 05 2014 de Ram n Gonz lez Valle TFC Sistemas embebidos Dedicatoria y agradecimientos Si bien agradezco a todos los profesores consultores y compa eros que he tenido a lo largo del tiempo el haber llegado a lo que es la culminaci n de una fase quiero hacer una menci n especial a Alicia profesora de electr nica en mis tiempos de estudiante en el instituto Comte de Rius de Tarragona que me alent a continuar Pero sobre todo agradezco y quiero dedicar este proyecto por lo que significa y no por lo que es a mi hijo y a mi mujer por el tiempo que les he robado y por la sobrecarga de tareas que asumi mi mujer para que yo pudiera llegar a este punto Llave electr nica basada en patrones de movimiento P gina 2 de 58 Ram n Gonz lez Valle TFC Sistemas embebidos Resumen Este proyecto corresponde al trabajo de final de carrera de Ingenier a T cnica de Inform tica de Sistemas dentro del rea de Sistemas Embebidos En esta rea se pretende desarrollar una aplicaci n pr ctica para dichos sistemas embebidos El proyecto desarrollado consiste en un sistema capaz de registrar comparar y reconocer patrones de movimiento El sistema funciona como un gestor de claves electr nicas Permite almacenar varias claves generadas
26. Y o c A c Y O Q h Y Y qu O t s t A Eje Y Eje Y x a r e j A e Y O y O Q k o y o y UY O qu O t 3 t D1 D1 Figura 24 Detecci n de movimientos en dos ejes en forma conjunta consideraci n de un solo movimiento De esta forma cuando detecta un cambio de movimiento en el primer eje guarda tambi n los valores del segundo con lo que no considera que este var e aunque sobrepase el umbral Considerar que el valor del vector a guardar corresponde a los valores de los ejes en el momento en que el primer eje ha sobrepasado el umbral Llave electr nica basada en patrones de movimiento P gina 39 de 58 Ram n Gonz lez Valle TFC Sistemas embebidos Eje X r 7 pa Y O O k o Y O qu O t lt Eje y o E Y 2 O k o A O qu O t lt D1 D2 Figura 25 Detecci n de movimientos en dos ejes en forma conjunta consideraci n de dos movimientos En estas ltimas gr ficas se observa la detecci n de dos movimientos cada uno de ellos provocado por uno de los ejes 4 3 3 Estructura de un patr n A modo de introducci n la estructura de un patr n est compuesta por una descripci n y un n mero de vectores y un vector es un array con el valor que ten an los tres ejes en el momento de detectar un nuevo movimiento Cuando se est n generando los patrones trabajo con los valores de los ejes en formato real para tener m s precisi n en los c lculos pero para su almacen
27. a cambiado Devuelve sem foro de sincronismo a la interface indicando que ha finalizado Figura 12 Diagrama de flujo tarea de gesti n del cliente TCP 1 Llave electr nica basada en patrones de movimiento P gina 26 de 58 Ram n Gonz lez Valle TFC Sistemas embebidos Gesti n cliente TCP cont Tiempo entre No reenv os alcanzado Mensaje pendiente de enviar a host Apaga LED Env o a Host Nuevo mensaje para enviar a host Espera sem foro WiFly Pone a parpadear LED Env o a Host Conexi n con el host Conexi n correcta con host Env o del mensaje al host Borrar flag de mensaje pendiente de enviar y No puesta a 0 del n mero de reintentos Inicializa tiempo entre reintentos Desconexi n del host Devuelve sem foro WiFly Si No No Incrementa n mero de reintentos N mero de reintentos alcanzados Figura 13 Diagrama de flujo tarea de gesti n del cliente TCP 2 Llave electr nica basada en patrones de movimiento P gina 27 de 58 Ram n Gonz lez Valle TFC Sistemas embebidos Constantemente vigila si tiene alg n mensaje de la interface y si tiene alg n mensaje que enviar o reenviar al host El mensaje que env a al host es estrictamente el mismo que recibe de la gesti n de patrones no realiza ning n tratamiento con l Por defecto los par metros del host son IP 192 168 254 1 puerto 5123 Estos par metros los guarda en la
28. a y predeterminada Light Emitting Diode Diodo Emisor de Luz componente electr nico cuya funci n principal es convertir la energ a el ctrica en una fuente luminosa Service Set IDentifier Identificador de Conjunto de Servicio identificador de red inal mbrica Universal Asynchronous Receiver Transmitter Transmisor Receptor As ncrono Universal controla los puertos y dispositivos serie Universal Serial Bus Bus Universal en Serie permite conectar diversos perif ricos Wireless Fidelity Fidelidad Inal mbrica sistema de comunicaci n de datos inal mbrico Wireless Local Area Network Red de rea Local Inal mbrica sistema de comunicaci n de datos inal mbrico P gina 46 de 58 Ram n Gonz lez Valle TFC Sistemas embebidos 7 Referencias y bibliograf a Curso C lculo de componentes de transmisiones mec nicas en l nea Gonzalo Gonz lez Rey Mayo 2009 lt http www mailxmail com curso calculo componentes transmisiones mecanicas transmisiones mecanicas concepto gt Consulta 29 abril 2014 FreeRTOS lt http www freertos org gt Consulta 31 marzo 2014 Hercules SETUP utility lt http www hw group com products hercules index_ en html gt Consulta 1 abril 2014 Introducci n al filtrado digital Emilia G mez Guti rrez noviembre 2009 Consulta 11 mayo 2014 LPCware lt http www lpcware com gt Consulta 31 marzo 2014 Magus 3D gestos lt https play gooale com sto
29. ada por el propio fabricante Esta librer a minimiza tres problemas b sicos que surgen al utilizar la memoria flash interna para almacenar variables El borrado de la memoria es por sectores Cuando la memoria est borrada el valor de sus posiciones es OxFF se programa escribiendo Os pero no se puede poner un 1 sin borrar el sector completo La vida til de la memoria El hecho de tener que borrar la memoria cada vez que se quiera cambiar su valor provoca que haya que tener muy en cuenta el n mero de ciclos m ximos que permite la memoria La reprogramaci n de la ubicaci n de los datos Si una variable varia muy a menudo provoca la reescritura de la misma zona de memoria hasta que esa zona falle mientras que habr zona que apenas se habr n usado La idea de la librer a es tener dos sectores de memoria cada vez que haya que reescribir una variable se crea un nuevo registro en el sector y el anterior se ignora Cuando el primer sector se llena ste se copia al segundo y el primero es borrado en este momento el sector v lido ser el segundo y cuando se llen se volver a pasar al primero y as sucesivamente De esta manera el n mero de reescrituras se distribuye por todo el sector y no se centra en una misma zona y en todo momento tenemos la informaci n a salvo por el hecho de que cuando borramos un sector tenemos la informaci n en el otro Llave electr nica basada en patrones de movimiento P gina 31 de 58 Ram
30. amiento escalo el valor de cada eje al tama o de un byte ya que para esta aplicaci n no veo la necesidad de mayor precisi n y permite que el espacio de almacenamiento necesario sea mucho m s reducido Llave electr nica basada en patrones de movimiento P gina 40 de 58 Ram n Gonz lez Valle TFC Sistemas embebidos Estructura Patr n 16 Vector 48 bytes Figura 26 Estructura de un patr n de movimiento Un patr n contiene su descripci n el n mero de vectores que lo componen y el valor de dichos vectores El n mero m ximo de vectores es de 16 Tal y como se explic anteriormente un movimiento simple ocupa normalmente 2 vectores ya que habr a un vector por el movimiento de arranque y otro por el de paro El tama o de un patr n es de 60 bytes con lo que el espacio de almacenamiento necesario es muy reducido 4 3 4 Adaptaci n de las se ales del aceler metro Para la creaci n real de los patrones algo fundamental es la lectura del valor de los ejes del aceler metro Cuando se inicia el algoritmo de creaci n de patrones escaneo de forma constante el valor de los ejes para detectar los cambios de movimiento Este escaneo consiste en la digitalizaci n de las entradas anal gicas a las que est n conectados los ejes Por la forma comentada en los puntos anteriores la frecuencia de muestreo utilizada en la lectura de los canales anal gicos no tiene relaci n con la cantidad de vectores que generar para e
31. annnnnnannnnonnnnnnennananes 54 Figura 39 Importar proyecto LPCXpresso 5D ooooccococnnconoccononconononconannonnonanonnonannnnononnnnnnnnnnnnonannnnonanranennananes 55 Figura 40 Importar proyecto LPCXpressSo 6 oooocccccconcoccccononconononnononnnnnonanonnnnancnnnnnnrnnnonannnnnnnnnnnnnnaranennanens 55 Figura 41 Compilar proyecto LPCXpresso 1 ooocccccccccnncnnccccoancnnononannnonnnonannnnnnnonnnnnnnnnnnnnnnnnnnnnanrnnnonnnanennnns 56 Figura 42 Gomplar proyeclo LPOXDESSO ii o 56 Figura 43 Cargar el proyecto en al LEPE 57 Figura 44 Cargar el proyecto en el LPG Tia 57 Fura 45 Cargar el proyecto en el LPC Sida 58 Figura 46 Indicaci n de final de cargar del proyecto en el LP CO iooocooccnnccnncccnnoncnncoonannnnnnnonannnnnnnnnnnnnnnnnnnanennnss 58 Llave electr nica basada en patrones de movimiento P gina 6 de 58 Ram n Gonz lez Valle TFC Sistemas embebidos 1 Introducci n 1 1 Justificaci n El control de acceso es un tema que evoluciona constantemente reconocimiento de huella dactilar de retina facial sistemas pensados para el reconocimiento individual El sistema presentado permite crear un control de acceso que se puede considerar tan v lido como el de la introducci n de una clave escrita ya que permite que se creen claves personalizadas e identificarlas individualmente con un coste complejidad y requerimiento menor a otros Por otro lado cada vez m s los sistemas inteligentes m s conocidos por
32. ara guardar el patr n creado y en caso de aceptar un nombre para darle al patr n de no m s de diez caracteres l X Salir COM3 2727 E 57600 ci a 1 WiFly 2 Cliente TCP 2 3 Patrones de Movimiento 222 3 none Configuracion patrones 1 Edicion OFF 2 Crear X Salir Free 222 2 Activa y manten el pulsador para crear el patron Quieres guardar el patron S N 3 Nombre para el patron bl Y Close Figura 34 Asignaci n de nombre para un patr n Llave electr nica basada en patrones de movimiento P gina 51 de 58 Ram n Gonz lez Valle TFC Sistemas embebidos 8 1 4 Entrada de una clave de movimiento Si no estamos configurando el sistema ste est esperando la entrada de una clave de movimiento Para introducirla simplemente tenemos que activar el pulsador y manteni ndolo pulsado realizar el movimiento Autom ticamente comprobar si el movimiento introducido corresponde con alguno de los patrones que tiene almacenados en caso afirmativo conectar con el host configurado envi ndole en nombre del patr n reconocido 8 1 5 LEDs indicativos Los LEDs incluye el sistema tienen el siguiente significado e Sistema Activo Fijo el sistema se ha iniciado correctamente e Conexi n WLAN Parpadeando La conexi n a la red no est activa est intentando conectar Si permanece por mucho tiempo es indicativo de que los par metros del WiFly no est n correctamente configurados o que n
33. asignadas a LEDs de realizar una lectura peri dica de los pulsadores y de gestionar el parpadeo de los LEDs para simplicidad del resto de m dulos Llave electr nica basada en patrones de movimiento P gina 19 de 58 Ram n Gonz lez Valle 4 Descripci n detallada 4 1 Esquema de conexionado LPC 1769 TFC Sistemas embebidos VDD GND OUT O VIN 4 5 5 5 2 7 Cy Mot used VB bati supply 210 J mot used RESET_N not used MOSH q RD MISO pa RD CP2102 a AS Ep USB 0 USB 0 CAN RX2 pee ni TADVSDAZ VDD WiFly Ged rAD2ISCLA O MMA7361 cl PMI E pronta are Oq S Lectura P Patr n 7 VOD o e O cmo DI D2 D3 i e TS 1K 1K 1K Conexi n Lectura Env o a WLAN Patr n Host Figura 6 Esquema de conexionado Llave electr nica basada en patrones de movimiento P gina 20 de 58 Ram n Gonz lez Valle 4 2 M dulos sistema embebido TFC Sistemas embebidos El sistema est divido en varios m dulos cada uno de ellos con una funcionalidad concreta Como base para una explicaci n detallada del funcionamiento del sistema detallar cada uno de estos m dulos 4 2 1 Inicio del sistema Inicia la UART de debug e interface con el usuario Inicia la cola y sem foro de intercambio de la interface con el resto de m dulos No Cola y sem foro creados Ok Inicia la cola de intercambio de la gesti n de patrones con el Cliente TCP Cola creada Ok
34. ata Serial Llave Electonica Basada en Patrones de Movimiento Configuracion COM3 1 WiFly 2 Cliente TCP p700 3 Fatrones de Movimiento Data size E E F i hb E Figura 28 Men general A trav s de este men general podemos navegar por las diversas opciones seleccionando el n mero indicado accederemos a los par metros concretos Llave electr nica basada en patrones de movimiento P gina 48 de 58 Ram n Gonz lez Valle S Hercules SETUP utility Llave Electonica Basada en Configuracion 1 WiFly Cliente TCP 3 Patrones de Movimiento 233 1 Configuracion modulo WIFI 1 Informacion Valores de fabrica WiFly 3 IP 4 WIFI S Hercules SETUP utility b Llave Electonica Basada en Configuracion 1 WiFly Cliente TCP 23 Patrones de Movimiento 237 2 Configuracion servidor TCP UDP Setup Serial TCP Client TCP Server UDP Test Mode About Recelved 5 ent data UDP Setup Serial TCP Client TCP Server UDP Test Mode About Recelved 5 ent data Patrones de Movimiento Figura 29 Men configuraci n WIFI Patrones de Movimiento ENTER para aceptar el actual 1P servidor TCP actual 10 10 10 15 Puerto servidor TCP actual 5123 Figura 30 Men configuraci n Cliente TCP Llave electr nica basada en patrones de movimiento TFC Sistemas embebidos a Serial Hame Baud 57600 Data size 8 Parte
35. cci n v lida Si Env o de mensaje a la cola indicando m dulo y selecci n Espera a que el m dulo concreto haya finalizado Figura 9 Diagrama de flujo tarea interface con el usuario Llave electr nica basada en patrones de movimiento P gina 23 de 58 Ram n Gonz lez Valle TFC Sistemas embebidos Si esta tarea es llamada es porque el sistema se ha inicializado correctamente as como el scheduler por lo que interpreta que todo ha sido correcto activando el LED Sistema activo Para comunicar a los m dulos la selecci n realizada utilizo una cola donde esta tarea escribe y de la que los dem s m dulos leen S lo si un m dulo encuentra un mensaje para l lo sacar de la cola en caso contrario los deja en ella El mensaje enviado tiene la siguiente estructura M dulo al que se le env a el mensaje Identifica a qu m dulo va dirigido el mensaje C digo del mensaje Indica la selecci n realizada en el men o submen Utiliza un sem foro de sincronismo de forma que cuando env a el mensaje a la cola espera a que el m dulo al que va dirigido lo devuelva indicativo de que finalizado 4 2 3 Tarea de gesti n de la WLAN Gesti n WLAN Inicializa y pone a parpadear el LED Conexi n WLAN Inicializa la UART de comunicaci n con el WiFly Alg n mensaje de la interface Petici n de informaci n Restaurar WiFly Restaurar WiFly a valores a valores de de f brica f brica
36. connnnconccononnnnnononancnnnononannnnnononnnonnnos 28 Figura 15 Diagrama de flujo tarea de gesti n de patrones 2 coooonccnnccoconnconcoonannonnononannnnnononannnnnnnnnnnnnnnos 29 Figura 16 Mecanismo b sico de la gesti n de la memoria flash interna cococcocccnncnnccnnonnnnnononanennncnnnanennnnos 32 Figura 17 Estado de los sectores en la gesti n de la memoria flash interna oooonccncconnnnccnnconnanennnnnnnanennnnos 32 Figura 18 Leyes de desplazamiento velocidad y aceleraci n de un elemento con movimiento de traslaci n con arranque Y Parada A a 34 Figura 19 Aceleraci n en un movimiento de ida y VUE tA oooccccoonnnocononnnnononnnnonnanonnonannnnononrnnonnnnnconanennnos 35 Figura 20 Detecci n de MOVIMIENTOS a da 36 Figura 21 Detecci n de movimientos en dos ejes en forma independiente ooocccccccoconnnnncconanennnonnnanennnnos 37 Figura 22 Detecci n de nuevo movimiento en UN BfB ooocccccnoccnnocnncnnconannnconnnennonnnnnnnnnnnnnnonnnrnnnnnnranennannnconanennos 38 Figura 23 Detecci n global de nuevo movimiento cccccoconncnncccnnnncnnncononnnonnnonannnnnonnnnnnrnnnnnnnnnnnnnnnnanrrnnnnnnannnnnoss 38 Figura 24 Detecci n de movimientos en dos ejes en forma conjunta consideraci n de un solo movimiento o o T dA A T EE A E T EA E DOS T CERNA 39 Figura 25 Detecci n de movimientos en dos ejes en forma conjunta consideraci n de dos movimientos 40 Figura 26 Estructura de un patr n de movimiento
37. dican el estado general del sistema el estado de la conexi n WLAN que se est en proceso de captura de un patr n y que se est en proceso de env o de un mensaje al host 1 3 Objetivos Los objetivos de este sistema son los siguientes e Interactuar con el usuario mediante un interface tipo terminal Se emitir n mensajes al terminal conectado y permitir mediante un simple men la navegaci n e introducci n de datos para configurar el sistema e Proporcionar comunicaci n WIFI con otros sistemas Se conectar a la WLAN deseada permitiendo configurar tanto los par metros necesarios para conectarse a la WIFI SSID clave como los de la LAN IP servidor DNS puerta de enlace e Adquirir datos digitales y anal gicos en tiempo real Leer el estado de una entrada digital conectada a un pulsador y de tres entradas anal gicas conectadas a cada uno de los ejes del aceler metro todas ellas simult neamente e Activar se ales digitales en tiempo real Activar varias salidas digitales conectadas a LEDs que indicar n ciertos estados del sistema e Acceder a memoria no vol til para almacenar y recuperar datos Gestionar el uso de memoria no vol til del propio microcontrolador donde almacenar los datos que interesa que el sistema no pierda ante la supresi n de la tensi n de alimentaci n e Dotar de unos algoritmos que permitan el almacenaje e interpretaci n por medio de la comparaci n de patrones de movimiento Con los valores
38. e 3 28 2 8 8S 5 a 2 m o Tasks O E O Q Adquisici n conocimientos previos S3 3 5 0 PACI Primeros pasos Moa 1 0 PAC2 Apr Lab WiFly i CP2102 7 5 7 0 o PAC3 UART viliy driver 28 20 28 0 PACA Productor consumidor 7 5 7 0 PACS Planificaci n MN 7 o PACS C digo final FERR E Adquisici n conocimientos espec ficos 9 6 9 bo Dise o 17 113 0 17 A IES Programaci n 9 6 0 9 E Pruebas del sistema 7 5 0 7 po PACT Memoria B 15 o 21 Versi n previa MS 0 7 Versi n inal 14 10 0 14 p PACS Presentaci n MN s o e po Gui n 1 0 2 E 4 4 0 4 E Figura 1 Planificaci n inicial Llave electr nica basada en patrones de movimiento P gina 10 de 58 Ram n Gonz lez Valle TFC Sistemas embebidos 1 5 2 Resultado final Finalmente el proyecto ha seguido la siguiente ejecuci n 21 06 2014 s bado vertical red line Start Date 26 02 2014 First Day of Week Mon 2 2 gt un mo es E g z z z z z a g a a alalalalzl 2 A loss salis isi5lsisle is ialeliclolcc ios ICI Sd 06 60 66 06 069 163 16 163 06 163863064064 104004 104 100104 8 sE zz alelelrlalalSizlalSiolo o e 8S 8 2 8 8 S WBS Tasks A S AA 1 Adquisici n conocimientos previos 253 38 53 0 1 1 PACA Primeros pasos 11 8 11 0 12 PAC2 AprfBllLab ViFly i CP2102 7 5 7 0 1 3 PAC3 UART wily driver 28 20 28 0 o 1 4 PACA Productor consumidor 7 5 7 0 2 PAC3 Planificaci n Mos 7 0 m 3 PACS
39. encia simplemente env a un mensaje indicando dicha situaci n puede ser utilizado tanto para permisos de acceso como para el control de otros sistemas mediante comandos de movimiento Procesa los tres ejes por lo que los patrones de movimiento son tridimensionales A trav s de una interface basada en un terminal en el PC el usuario puede indicar que quiere crear un patr n y asignarle un nombre identificativo tomar el gadget y accionar un pulsador en el propio gadget para indicar el inicio de la introducci n del patr n La liberaci n de dicho pulsador indicar que ha finalizado la introducci n instante en que quedar almacenado en el sistema Mediante la misma interface se pueden eliminar patrones referenciadas por su nombre identificativo asociado Llave electr nica basada en patrones de movimiento P gina 7 de 58 Ram n Gonz lez Valle TFC Sistemas embebidos Si el usuario simplemente coge el gadget y acciona el pulsador el sistema considerar que est introduciendo un movimiento al liberar el pulsador lo comparar con los patrones almacenados si encuentra alguna coincidencia enviar un mensaje al host configurado indicando el nombre identificativo asociado al patr n reconocido Mediante la interface tambi n se configura la red WIFI a la que se conecta el sistema los par metros de la LAN IP del equipo puerta de enlace y servidor DNS y el host al que se le enviar n los mensajes Dispone de unos LEDs que in
40. escucha del host son par metros configurables del sistema 3 3 PC usuario El PC de usuario nicamente ha de tener instalado el driver del convertidor USB UART CP2102 el cual instalar un puerto serie virtual y un programa terminal serie para conectarse con el sistema embebido por dicho puerto serie Los par metros del puerto serie son 57600 8 N 1 Llave electr nica basada en patrones de movimiento P gina 16 de 58 Ram n Gonz lez Valle TFC Sistemas embebidos 3 4 Sistema embebido PC Conexi n usuario WLAN gt 222 UART 1 9600 8 N 1 Puerto 2 Pin 12 Env o a Host Puerto 2 Pin 10 doo CP2102 UART 3 57600 8 N 1 i UART i Configuraci n es i MMA7361 Interface ola Mensajes DO O Usuario de Interface pe g ADO CIR Cola Patr n aceptado Lectura Aceler metro i Patr n Puerto 2 Pin 11 Edici n de Captura de LED ED Patrones Patrones Gesti n Almac n de Comparaci n Memoria Patrones de Patrones E Puerto 2 Pin 8 no Vol til Escura F Patr n Cola Patr n Sistema aceptado Activo Puerto O Pin 22 o A E Inicio Figura 5 Diagrama de bloques del sistema embebido Llave electr nica basada en patrones de movimiento P gina 17 de 58 Ram n Gonz lez Valle TFC Sistemas embebidos El sistema se basa en las siguientes tareas principales Tarea del interface con el usuario Genera un men en el PC
41. etro nos va a suministrar y poder genera informaci n con dichos datos primero hay que entender el concepto de aceleraci n Esta parte te rica es b sica para poder determinar si el sistema es viable con los elementos de que se dispone y permite analizar el correcto funcionamiento del aceler metro y del sistema de adquisici n por los valores que leemos de l Llave electr nica basada en patrones de movimiento P gina 33 de 58 Ram n Gonz lez Valle TFC Sistemas embebidos Un movimiento lineal compuesto por un arranque y un paro ir del punto A al B va a generar lo mostrado en las siguientes gr ficas Recorrido de desplazamiento H Desplazamiento Tiempo t Tiempo de desplazamiento T max T A N 2H Velocidad Tiempo de desplazamiento T 47 Ymax a metas max 241 12 i Aceleraci n Tiempo t Figura 18 Leyes de desplazamiento velocidad y aceleraci n de un elemento con movimiento de traslaci n con arranque y parada Debido a las inercias que todo cuerpo experimenta nunca llegaremos a ver ngulos rectos en ninguna de las gr ficas Llave electr nica basada en patrones de movimiento P gina 34 de 58 Ram n Gonz lez Valle TFC Sistemas embebidos Centr ndome en la gr fica de la aceleraci n si el movimiento fuera de ida y vuelta ir del punto A al B y sin parar en B volver al punto A el resultado ser a el siguiente Aceleraci n Figura
42. etro realmente transmite las fuerzas G que le afectan por lo que si est quieto indicar que est recibiendo una fuerza de 1 G en sentido perpendicular al suelo Como lo que interesa es obtener la aceleraci n del movimiento que se realiza hay que eliminar la aceleraci n que percibe de la gravedad terrestre Para compensar este hecho lo que hago es que a la hora de empezar a capturar un patr n guardo los valores iniciales como valores de offset Este valor lo resto de todas las lecturas que realizo mientras estoy capturando el patr n Llave electr nica basada en patrones de movimiento P gina 42 de 58 Ram n Gonz lez Valle TFC Sistemas embebidos 4 3 5 Comparaci n de patrones Para la comparaci n de patrones utilizo un valor de margen de comparaci n de valores de los vectores Para considerar iguales dos parones se ha de cumplir que Tengan el mismo n mero de vectores En cada vector la diferencia entre cada uno de los componentes de un patr n con respecto al otro ha de ser menor o igual al margen de comparaci n abs patron1l vector 1 x patron2 vector 1 x lt margen 4 abs patron1l vector 1 y patron2 vector 1 y lt margen 4 abs patron1 vector 1 z patron2 vector 1 z lt margen Llave electr nica basada en patrones de movimiento P gina 43 de 58 Ram n Gonz lez Valle TFC Sistemas embebidos 5 Conclusiones 5 1 Propuesta de mejoras Una vez desarrollado y probado el proyecto hay
43. firmaci n y nombre a asignar al patr n Figura 15 Diagrama de flujo tarea de gesti n de patrones 2 Llave electr nica basada en patrones de movimiento P gina 29 de 58 Ram n Gonz lez Valle TFC Sistemas embebidos El sistema est limitado a un m ximo de diez patrones Este l mite no tiene ninguna raz n t cnica simplemente es porque para la demostraci n de funcionamiento son m s que suficientes y en la edici n de patrones es m s c modo con pocos Al guardar un patr n se le ha de asignar un nombre que ser su identificador Este identificador ser el que se muestre en la edici n y el que se enviar en la cola para que sea reenviado al host El tama o m ximo de este nombre es de diez caracteres m s el car cter nulo de terminaci n 4 2 6 Tarea de gesti n de LEDs y pulsadores Para la gesti n de LEDs y pulsadores apoyo en otra librer a la librer a diglO que permite gestionar hasta 32 entradas y 32 salida digitales del LPC 1769 Cada una de las posibles entradas salidas se configura indicando el puerto y el pin a la que est conectado f sicamente y un ndice en el rango 0 31 para su referencia en el programa ndice independiente entre las entradas y las salidas Como especializaci n de esta tarea pensada para LEDs y pulsadores configura los LEDs sin ninguna resistencia pull up pull down integradas en el microcontolador y la salida activa es en valor alto Los pulsadores los configura como pull
44. herals 551 Registers F gt DE gt e FreeRTOS_ Library gt 5 LPC1769 UOC Library gt ES TFC LEBPM Project En el Project Explorer aparecer n los proyectos importados Figura 40 Importar proyecto LPCXpresso 6 Llave electr nica basada en patrones de movimiento TFC Sistemas embebidos Han de aparecer estos P gina 55 de 58 Ram n Gonz lez Valle TFC Sistemas embebidos 8 2 2 Compilaci n del proyecto Los pasos a seguir para compilar el proyecto son los siguientes a Seguir los pasos mostrados en las figuras Project Explorer 23 7 Peripherals sioi Registers Z vo p 5 e CMSI5v2p00_LPC1 ho G Primero se selecciona el gt 15 FreeRTOS_ Library proyecto y despu s Sl e ir BA Jo Tal manda compilar Quick ES lariab 9 Break pE Outline S Exp 0 Fd Start here Y Impor project s La consola de estado tiene que indicar el nombre del proyecto sin errores El Console 3 i Problems Memory E Profile Data Watch D Int Statistics ebsace y Hosts CDT Build Console TFC LEBPM Project arm none eabi size TFC_LEBPM Project axf arm none eabi objcopy 0 ihex TFC_LEBPM Project text data bss dec hex filename 42896 265 22332 64696 fcb8 TFC_LEBPM_Project axt 00 28 23 Build Finished took 4s 875ms Figura 42 Compilar proyecto LPCXpresso 2 Llave electr nica basada en patrones de movimiento P gina 56 de 58 Ram n Gonz le
45. import source Select an import source type filter text Existing Projects into Workspace 25 Import projects s from XML description E Preferences gt gt C gt E N5 gt gt Install gt 2 Run Debug gt gt Team Figura 36 Importar proyecto LPCXpresso 2 Llave electr nica basada en patrones de movimiento P gina 53 de 58 Ram n Gonz lez Valle TFC Sistemas embebidos type filter text a 2 General 1 Existing Projects into Workspace rym 45 Import projects s from XML description E Preferences b gt C C b Es CVS p gt Install p 2 RunDebug b E Team Import Projects Select a directory to search for existing Eclipse projects Seleccionar el archivo FreeRTOS workspace_UOC zip Deselect All le Figura 38 Importar proyecto LPCXpresso 4 Llave electr nica basada en patrones de movimiento P gina 54 de 58 Ram n Gonz lez Valle Select archive file CAllsersiplesoft Documents LPECXApresso_ 7 Projects T CMSI5v2p00_LPC1 Po CMSIS5v2p00_LPC1 Rod FreeRTOS_ Library FreeRTOS_ Library LPC1769 UOC Library LPC1769 UOC Library TFC LEBPM Project TFC_LEBPM_ Project Select ll Deselect All Options Search for nested projects Copy projects into workspace Working sets T Add project to working sets File Edit Navigate Search Project Run Window Help o s r E pa G Did Ey Project Explorer 33 El Perip
46. iza el prototipo de una forma m s r pida c moda y flexible b LPC 1769 Sistema embebido de NXP Semiconductors de evaluaci n basado en un microcontrolador ARM Cortex M3 que incluye un JTAG debugger LPC Link que permite la conexi n a trav s de USB tanto para la carga del programa en el microcontolador como para su depuraci n on chip Es el n cleo del sistema el que contiene al microcontrolador Llave electr nica basada en patrones de movimiento P gina 12 de 58 Ram n Gonz lez Valle TFC Sistemas embebidos c WiFly RN XV M dulo radio de Roving Networks basado en un m dulo WIFI RN171 que incorpora un firmware pregrabado el cual permite a trav s de su UART una f cil integraci n de cualquier sistema en una WLAN Es utilizado para conectar a la WLAN y poder enviar los mensajes al host d USB UART CP2102 Bridge que permite la conexi n USB a UART En un PC mediante la carga de un driver permite acceder a l al instalar un puerto serie virtual Comunica el sistema con el terminal mediante el que interact a el usuario con el sistema e MMA7361 M dulo sensor anal gico aceler metro e inclin metro de tres ejes Dispone de una salida anal gica en tensi n por cada eje cuyo valor es proporcional a la fuerza G aplicada sobre l Es el sensor utilizado para detectar los movimientos f Pulsador Utilizado para que el sistema empieza a capturar los movimientos 9 LEDs Diodos Emisores de Luz Utilizados
47. l patr n que se est generando En las pruebas de lectura he detectado que tengo algunas lecturas muy fuera de rango posiblemente por problemas en falsos contactos en las conexiones el ctricas entre el aceler metro y el LPC cuando lo muevo o interferencias electromagn ticas Por este motivo realiza una serie de tratamiento a las se ales le das de los ejes del aceler metro El tratamiento que realizo se basa en dos filtros e Filtro de mediana De cada tres lecturas s lo tomo la mediana como valor correcto Esto me filtra algunos valores que alcanzan valores extremos espor dicamente Llave electr nica basada en patrones de movimiento P gina 41 de 58 Ram n Gonz lez Valle TFC Sistemas embebidos e Filtro paso bajo IIR de 1 orden A n con el primer filtro la se al oscila demasiado por lo que realizo un filtro paso bajo de primer orden Utilizo el algoritmo de un IIR Infinite Impulse Response o Respuesta infinita al impulso porque no necesita un orden alto para conseguir los resultados deseados y computacionalmente es muy sencillo y r pido 2 A NN e VITA SS a Figura 27 Filtro tratamiento se al aceler metro En esta figura se puede apreciar la se al procedente de un eje del aceler metro X y el valor en la salida del filtro F Estos filtros son realizados en los tres ejes y el valor resultante de ellos es el que utilizo en el resto del programa Hay que tener en cuenta que el aceler m
48. mediante el mismo sistema y compararlas posteriormente con una introducida por un usuario Si la clave introducida corresponde con una de las almacenadas enviar un mensaje a un host conectado en una red Ethernet que puede ser local o de Internet indicando dicha coincidencia Cada una de estas claves es un patr n de movimiento digitalizado por medio del aceler metro Mediante este sistema se pueden llegar a implementar desde un control de permisos de acceso hasta un control remoto Para el primer caso los movimientos corresponder an a claves de acceso donde el sistema reconocer a al usuario por el movimiento realizado y en el segundo caso cada uno de movimientos corresponder a a las diferentes acciones que se desea realizar en el sistema controlado En ambos casos los patrones a reconocer podr an estar pregrabados o permitir que el propio usuario fuera el que los definiera El hecho de que la interacci n con el usuario se pueda simplificar a que ste realice una serie de movimientos con el gadget cada uno de los cuales puede ser tan simple como se desee permite que pueda ser utilizado por personas de muy diversas edades y limitaciones tanto f sicas como mentales Llave electr nica basada en patrones de movimiento P gina 3 de 58 Ram n Gonz lez Valle TFC Sistemas embebidos ndice de contenidos 1 IRtFOCUCCI N sada acada A atadas e da cera da a e dal a Da e a a DA DANS 7 1 1 TU e o o e de ADA DIA CIAS 7 1 2 PeSCHPCI q TN
49. nar las variables se est copiando la informaci n del otro sector Sector valid El sector se est utilizando para almacenar las variables Sector invalid El sector se ha llenado y la informaci n ya ha sido pasada al otro sector este sector ser borrado La cantidad y tama o de las variables a almacenar tiene unas ciertas restricciones Siendo SECTOR SIZE el tama o de un sector utilizado en bytes MAX VARIABLES el n mero m ximo de variables MAX VARIABLE SIZE el tama o m ximo de una variable en bytes Se ha de cumplir que MAX VARIABLES lt SECTOR SIZE 48 MAX_VARIABLE_SIZE 4 MAX VARIABLE SIZE 4 MOD 16 0 256 MOD MAX_VARIABLE_SIZE 4 0 Para este proyecto he utilizado los sectores 22 y 23 que empiezan en las direcciones 0x00040000 y 0x00048000 respectivamente Estos sectores est n encima de los 256KB que puede programar el LPCXpresso gratuito y cada uno es de 32 KB de capacidad con lo que tengo 32 KB de capacidad de almacenaje de memoria no vol til menos 48 bytes que ocupa el estado del sector Aunque he definido un m ximo de 20 variables s lo utilizo 11 10 patrones y una de los par metros de configuraci n del host El tama o m ximo de las variables que utilizo es de 60 bytes Con estos valore se puede apreciar que tengo la memoria no vol til infrautilizada 4 3 Patrones de movimiento 4 3 1 Conceptos previos Para poder interpretar los datos que un aceler m
50. ntar por el n mero del patr n Este n mero no es m s que una referencia temporal que numera la lista mostrada y no est asociado al patr n en s Llave electr nica basada en patrones de movimiento P gina 50 de 58 Ram n Gonz lez Valle TFC Sistemas embebidos La segunda selecci n del submen de patrones de movimiento permitir crear nuevos patrones El sistema admite un m ximo de 10 superado este n mero mostrar un mensaje indicando este hecho 48 Hercules SETUP utility by HW group com ThE UDP Setup Seral TCP Client TCP Server UDP Test Mode About Recelved Sent data Configuracion patrones 1 Edicion Ea Crear Coma x X Salir 22 x Era Data size Serial Configuracion 1 WiFly E y 2 Cliente TCP 3 Patrones de Movimiento none 222 3 Configuracion patrones 1 Edicion Crear A Salir 233 2 Activa y manten el pulsador para crear el patron ES X Close Figura 33 Creaci n de un patr n de movimiento Al seleccionar esta opci n no indica qu tenemos que hacer para crear un patr n Tenemos que activar el pulsador para empezar y mantenerlo pulsado mientras creamos el patr n Mientras el sistema est capturando un patr n el LED Lectura Patr n estar parpadeando Los patrones tienen un l mite de movimientos si nos excedemos de ellos dar por finalizada la creaci n del patr n Al finalizar la captura el LED se apagar y nos pedir confirmaci n p
51. o tiene acceso a la WIFI configurada Fijo La conexi n a la red est activa y correcta e Lectura Patr n Parpadeando Se est introduciendo un movimiento bien para crear un patr n o bien como entrada de clave de movimiento e Env o a Host Parpadeando Se ha introduciendo una clave de movimiento ha sido reconocida y se est enviando la notificaci n al host Si permanece por mucho tiempo es indicativo de que no consigue conectar con el host configurado bien por no estar correctamente configurados los par metros del cliente TCP o bien porque el host no est accesible 8 2 Ejecuci n y compilaci n Para la compilar y cargar el proyecto en el LPC es necesario tener instalado el LPCXpresso Las siguientes indicaciones est n realzadas con la versi n LPCXpresso v7 0 0 Build 92 2014 02 20 Llave electr nica basada en patrones de movimiento P gina 52 de 58 Ram n Gonz lez Valle TFC Sistemas embebidos 8 2 1 Importaci n del proyecto Los pasos a seguir para importar el proyecto son los siguientes a Guardar el archivo FreeRTOS _workspace_UOC zip en alguna carpeta sin descomprimir b Seguir los pasos mostrados en las figuras Open File Close Ctrl WWW Close All Ctrl Shift W e SS i g Save Ctrl 5 Save As Sawe ll Ctrl 5h1ft 5 Rewert Move Rename F2 2 Refresh PS Convert Line Delimiters To b Print Ctrl P Switch Workspace Choose
52. o vol til Llave electr nica basada en patrones de movimiento P gina 30 de 58 Ram n Gonz lez Valle TFC Sistemas embebidos En la gesti n de la memoria no vol til ten a dos opciones La memoria flash interna del propio microcontrolador La memoria EEPROM del chip 24LC64 del que est dotada la placa del LPC1769 Ambas soluciones eran v lidas a nivel de capacidad de memoria aunque con este microcontrolador con 512 KB de memoria flash y teniendo en cuenta que el software LPCXpresso gratuito s lo pueden programar los primeros 256 KB y no toda esa memoria est usada quedan un m nimo de otros 256 KB de memoria flash utilizable como memoria no vol til La memoria del 24LC64 tiene la ventaja de soportar mayor cantidad de escrituras De todas formas teniendo en cuenta que esta memoria no tengo pensada utilizarla como memoria temporal s lo para guardar configuraciones y patrones y que no preveo que esto datos cambien muy a menudo no creo que esta limitaci n sea determinante Finalmente opt por utilizar la memoria flash interna del microcontrolador ya que pensando en un sistema real el hecho de utilizarla evita tener que utilizar componentes externos con lo que disminuye el coste el tama o y el consumo siempre pensando en que no tuviera que utilizar un microcontrolador superior Como librer a para la gesti n de la memoria no vol til utilizando la memoria flash del microcontrolador he utilizado una proporcion
53. p com http www lpcware com e Manuales y Web del desarrollador del SO utilizado en el LPC http www freertos org e Manuales del WiFly convertidor USB UART CP2102 aceler metro MMA7361 e nternet en general 1 7 Productos obtenidos El producto obtenido es este proyecto es el sistema de llave electr nica basada en movimientos formado por otros subsistemas embebidos los cuales acaban generando un sistema at mico Este es un sistema independiente de otros sistemas para su funcionamiento nicamente hace uso de un host externo que ser a el que podr a tomar la decisi n de c mo ante un aviso de patr n reconocido que podr a ser de permiso de acceso o de actuaci n por un comando recibido Llave electr nica basada en patrones de movimiento P gina 14 de 58 Ram n Gonz lez Valle TFC Sistemas embebidos 2 Antecedentes 2 1 Estudio de mercado Buscando por Internet aplicaciones o sistemas que utilicen los movimientos para realizar alg n tipo de actuaci n o como claves de acceso no he encontrado ninguna que utilice los movimientos como claves ni en sistemas de seguridad o permisos de acceso En el campo del control remoto hay sistemas que disponen de funcionalidades accesibles a trav s del movimiento dentro de estos sistemas puedo destacar e Magus 3D gestos Magus es una app para sistemas operativos Android que le permite mover el tel fono en tres dimensiones para abrir aplicaciones desbloquear tomar fotos
54. re apps details i d com stmp magus hl es gt Consulta 15 junio 2014 NXP Semiconductors lt http www nxp com gt Consulta 31 marzo 2014 PlayStation Move lt http store sony cl w playstation move gt Consulta 15 junio 2014 PuTTY lt http www chiark greenend org uk sgtatham putty download html gt Consulta 1 abril 2014 Wii Remote Plus lt http www nintendo com wilu accessories gt Consulta 15 junio 2014 Wiki de la asignatura lt http cv uoc edu webapps xwiki wiki matembeddedsystemslabhome view Main WebHome gt Consulta 31 marzo 2014 VMware M quinas virtuales lt http www vmware com es gt Consulta 26 febrero 2014 Llave electr nica basada en patrones de movimiento P gina 47 de 58 Ram n Gonz lez Valle TFC Sistemas embebidos 8 Anexos 8 1 Manual de usuario 8 1 1 Requisitos iniciales Para poner el sistema en servicio hay que cumplir los siguientes requisitos La UART del m dulo WiFly est configurado para comunicarse a 9600 baudios 8 bits de datos sin paridad y 1 bit de stop EI PC con el terminal al que se conecta el convertidor USB UART CP2102 ha de tener instalado su driver correspondiente La configuraci n del puerto serie a la que se ha conectado el CP2102 ha de ser 57600 baudios 8 bits de datos sin paridad y 1 bit de stop 8 1 2 Configuraci n Al alimentar el sistema el terminal nos muestra el siguiente men Received Sent d
55. reintentos de cinco segundos Por defecto la IP del servidor es 192 168 254 1 y el puerto 5123 Los valores asignados los grabar en la memoria no vol til de forma que si al iniciarse la tarea encuentra valores guardados los utilizar como v lidos en lugar de los de defecto Tarea de gesti n de patrones Permite editar los patrones listarlos borrarlos y crearlos Tambi n se encarga de vigilar la entrada de un movimiento indicado a trav s del pulsador para que sea comparado con los almacenados Est limitado a un m ximo de diez patrones por el mero hecho de concretar un m ximo ya que el nico l mite real es la capacidad de memoria no vol til y en este sistema podr a haber almacenado m s de quinientos simplemente con un simple cambio de par metros en el c digo Llave electr nica basada en patrones de movimiento P gina 18 de 58 Ram n Gonz lez Valle TFC Sistemas embebidos Cuando se est introduciendo un movimiento ya sea para compararlo o para crear un patr n lo indica a trav s del LED Lectura Patr n que parpadea indicando este estado Cuando se introduce un movimiento que coincide con uno de los patrones almacenados env a un mensaje a la tarea Cliente TCP a trav s de una cola Este mensaje est compuesto por el nombre asignado al patr n reconocido e Tarea de gesti n de LEDs y pulsadores B sicamente se encarga de configurar de una forma coherente las entradas asignadas a pulsadores y salidas
56. s iniciales y realizado el debug de alguno de ellos UART Conocer y utilizar una librer a para la gesti n de los puertos UART del LPC Convertidor USB UART CP2102 Conocer el m dulo interconectarlo con el LPC y crear unas librer as para utilizarlo como debug e interacci n con el sistema conect ndolo a un terminal en el PC M dulo radio WiFly Conocer el m dulo interconectarlo con el LPC y crear unas librer as para utilizarlo y dotar al sistema de acceso a una WLAN y a trav s de l a servidores externos e Adquisici n de conocimientos sobre los elementos espec ficos necesarios Con la decisi n del proyecto concreto a realizar he tenido que adquirir conocimientos sobre otros elementos que necesitaba utilizar O O O O ADC Conocer y crear una librer a para gestionar el conversor anal gico digital del LPC Entradas Salidas digitales Conocer y crear una librer a para gestionar entradas salidas del LPC Aceler metro MMA7361 Conocer el m dulo interconectarlo con el LPC y crear unas librer as para utilizarlo y acceder a su informaci n Acceso lectura escritura a memoria no vol til Evaluar qu memoria no vol til utilizar interna o externa al microcontrolador y utilizar una librer a para gestionarla e Representaci n digital de un patr n de movimiento O O An lisis y estudio de la problem tica Analizar y estudiar qu par metros puedo tomar como representativos de un movimiento
57. su palabra inglesa smart se est n integrando en nuestro quehacer de cada d a Si bien en algunos casos dicha denominaci n no es m s que un gancho publicitario es cierto que cada vez son m s los dispositivos que poseen funcionalidades ampliadas neveras que llevan el stock de productos relojes con captaci n de biorritmos televisores que integran la conectividad a internet y mezcla su contenido con el de la propia televisi n El efecto directo de la ampliaci n de las funcionalidades es que tambi n se ampl an las opciones que ha de configurar o a las que ha de acceder el usuario con lo que su manejo se suele complicar El propio avance de estos sistemas tambi n proporciona m todos de interacci n m s naturales como son los mandos girosc picos la detecci n de movimientos con c maras Dentro de stos es donde se puede englobar una de las funcionalidades del sistema presentado ya que pude permitir el env o de comandos generados por simples movimientos 1 2 Descripci n Este sistema permite almacenar patrones de movimientos y su posterior reconocimiento Al estar conectado a una WLAN a trav s del m dulo WIFI que incorpora cada vez que reconoce uno de los patrones almacenados env a un mensaje a un host predefinido que puede local o remoto Dado que este sistema s lo se encarga del procesamiento de los patrones a nivel de almacenamiento y reconocimiento y no de la actuaci n a realizar cuando encuentra una coincid
58. z Valle TFC Sistemas embebidos 8 2 3 Cargar del proyecto Los pasos a seguir para cargar el proyecto son los siguientes a Conectar el LPC al PC b Seguir los pasos mostrados en las figuras Program Flash using LPC Link Probe v1 3 Program target flash LPC1 hoc NXP LPC1769 Options Display progress log Reopen on completion Reset target on completion C Repeat on completion C Run flash command and copy to clipboard Just copy flash command to clipboard Connection Options FT Use JTAG interface LPE Link HID Options Speed 250 i i Flash Driver Flash driver LPC175x 6x_512 cfx Browse Buscar el archivo h di PC1f5x bx lc T aa A S TFC LEBPM Project axf dentro del directorio debug mory Erase flash memory del Workspace Select file al Base address Select file Erase Options O Mass erase a Erase only required pages Figura 44 Cargar el proyecto en el LPC 2 Llave electr nica basada en patrones de movimiento P gina 57 de 58 Ram n Gonz lez Valle TFC Sistemas embebidos LPC Link HID Options speed 250 Flash Driwer Flash driver LPC175x 6x 512 cfx gt Select file 133 Base address Erase Options O Mass erase Program Flash ay d cr emu cm3 nxp flash load exec ON Usersiplesoft Documents LPCXpresso_7 0 0 IA workspacet testi TFC_LEBPM_ProjectiDebug TFC_LEBPM_Project axf g 2 vendor WNXP pLPC1769 wire hid 5250 flash iLPcxPresio
Download Pdf Manuals
Related Search
Related Contents
Netgear EX7000 Wi-Fi Ethernet LAN Dual-band 「取扱説明書」 MRV(エアレギュレータ) HQ W9-EPH-22-22B Miele TOUCHTRONIC W 4802 User's Manual ClearSounds® A300E* DECT 6.0 Expandable Handset MANUAL DE INSTRUCCIONES PARA INGRESO attention! - Q.E.P. Co., Inc. Manual - Medcare Aspirateur robot eClean EC-01 Profitez de votre Tigex 350702 bottle sterilizer Copyright © All rights reserved.
Failed to retrieve file