scieee Open visual document viewer

Sistema de control de acceso con huella dactilar y Arduino

Fernández Villacañas, Julia Miguélez; Navazo Escudero, Adrián

Abstract

Este proyecto consiste en el diseño e implementación de un dispositivo de control de acceso para un comedor escolar. Se compone de dos Arduinos, un lector de huellas, una pantalla TFT LCD y una base de datos dónde se almacena la información. El objetivo del proyecto es facilitar el registro del alumnado y proporcionar datos relevantes del mismo al personal encargado de la supervisión de ese espacio. Se busca sustituir otros sistemas más arcaicos como el uso de ficheros físicos o el uso de códigos para cada alumno. Prestamos una atención especial a las alergias alimentarias y creemos, que este sistema puede ayudar a prevenir errores con consecuencias no deseadas.

Full text

Sis ema de con ol de acceso con huella dac ila y A duino Uni e sidad Complu ense de Mad id Facul ad de In o má ica Cu so 2018/19 Au o es Julia Miguélez Fe nández Villacañas Ad ián Na azo Escude o Di ec o es José Ignacio Hidalgo Pé ez Juan Lancha es Dá ila T abajo Fin de G ado en Ingenie ía In o má ica 20 de sep iemb e de 2019 “Nues a mayo glo ia no es á en no cae nunca, sino en le an a nos cada ez que caemos." - Con ucio, Resumen Es e p oyec o consis e en el diseño e implemen ación de un disposi i o de con ol de acceso pa a un comedo escola . Se compone de dos A duinos, un lec o de huellas, una pan alla TFT LCD y una base de da os dónde se almacena la in o mación. El ob- je i o del p oyec o es acili a el egis o del alumnado y p opo ciona da os ele an es del mismo al pe sonal enca gado de la supe isión de ese espacio. Se busca sus i ui o os sis emas más a caicos como el uso de iche os ísicos o el uso de códigos pa a cada alumno. P es amos una a ención especial a las ale gias alimen a ias y c eemos, que es e sis ema puede ayuda a p e eni e o es con consecuencias no deseadas. Palab as cla e A duino, econocimien o de huella, con ol de acceso, base de da os, pan alla TFT, comedo escola , ale gias alimen a ias, biome ía Abs ac This p ojec consis s o he design and implemen a ion o an access con ol de ice o a school can een. I consis s o wo A duinos, a inge p in eade , a TFT LCD sc een and a da abase whe e he in o ma ion is s o ed. The aim o he p ojec is o acili a e he egis a ion o he s uden s and p o ide ele an da a o he same o he s a esponsible o supe ising ha space. I seeks o eplace o he mo e a chaic sys ems such as he use o physical iles o he use o codes o each s uden . We pay special a en ion o ood alle gies and belie e ha his sys em can help p e en e o s wi h undesi able consequences. Keywo ds A duino, inge p in ecogni ion, access con ol, da a base, TFT sc een, school can een, ood alle gies, biome ics 5 Dedica o ia Es e p oyec o se lo quie o dedica p incipalmen e a mis pad es, Ca men y Juanma, y a mi he mano Diego, que siemp e han es ado ahí apoyándome du an e oda la ca e a, an o en los buenos momen os como en los malos, y me han ayudado a segui adelan e. A mi abuela Luisa, que eza po mí en cada examen y que an as eces me ha p egun ado de qué iba Ingenie ía In o má ica, y yo in en aba explicá selo de la mane a más ácil posi- ble, aunque nunca le quedaba del odo cla o. A mi abuela Ma ía, que cada ez que me e me p egun a qué al me ha salido el exa- men aunque no lo haya hecho oda ía. A mi amilia en gene al, po su p eocupación, su apoyo y sus consejos. A esos amigos que he conocido en la Facul ad, Lidia, Bolaños y Ca los, con los que he pasado muy buenos momen os y a los que si no los hubie a conocido, mi ida an o uni- e si a ia como ue a de la uni e sidad hab ía sido muy dis in a. Y po supues o, a mi compañe a de TFG y amiga Julia, a la que conocí el p ime año de ca e a y que nunca me ha de audado. Con la que an as ho as he pasado haciendo odas esas p ác icas que al p incipio no salían, pe o siemp e acababan saliendo con nues o es ue zo. G acias a odos. Ad ián Na azo 6 Dedica o ia Pa a empeza quie o ag adece a mi mad e, Me cedes, po que ha es ado siemp e ahí y me ha animado cuando ya no me quedaba ue za. A Luci po odo su apoyo y ca iño du an e muchos años. No engo su icien es palab as de ag adecimien o pa a ellas. A mis he manos Luisa y And és que, cada uno en su es ilo, me han ayudado cuando lo he necesi ado. A mis íos y p imos po p opo ciona me momen os inol idables. A mi abuelo Pepe po que me dijo que no me indie a nunca y espe o que es é o gulloso de mí. Te eco da é siemp e. A mis amigos Pa icia, Lidia, Ca los y Bolaños que han llenado de expe iencias y mo- men os elices es a década que lle amos conociéndonos y, además han sabido es a en los momen os di íciles. A Sa a po aleja los nuba ones y hace que con ia a más en mí. Y po úl imo, pe o no menos impo an e, a mi compañe o y g an amigo Ad ián. Ha es ado ahí, cons an e siemp e y con una paciencia inc eíble. No sé como hab ía podido acaba las p ác icas sin u ayuda. Os quie o mucho Julia Miguélez 7 Ag adecimien os Que emos ag adece a nues o u o Iñaki po odas sus ideas en usias as y odo el apoyo y medios que nos ha p opo cionado a lo la go del p oyec o. También a Ca los Roa po odo el man enimien o que le ha hecho a nues os disposi i os y po ecibi nos siemp e de buen humo . A Lancha es po da nos las bases del p oyec o del que hemos pa ido. Po úl imo que emos ag adece a odos los p o eso es que hemos enido du an e odos es os años y que g acias a sus enseñanzas hemos ap endido lo necesa io pa a llega a es e pun o y se capaces de hace es e p oyec o. 8 2 In oduc ion Since he c ea ion o he i s A duino model in 2005 a he I ea Design In eg a ion In- s i u e (IDII) [1] loca ed in no he n I aly, an app oach o elec onics has been achie ed o hund eds o housands o use s. This has been possible because he p oduc s o his b and a e F ee Ha dwa e, which means ha he plans a e public and e en when you buy a boa d om a dis ibu o you can modi y i and adap i o you needs. A he same ime, he A duino so wa e en i onmen , he A duino IDE, is c ea ed unde he GPL (Gene al Public License) which is ee so wa e and allows you o eely execu e he code wi hou any expense, modi y i and ansmi i . Due o he abo e, he A duino pla o m has b ough mic op ocesso s close and made hem a o dable o non-p o essional use s. Thanks o hese de ices wi h use - iendly en i- onmen s, such as he Raspbe y Pi boa d, an in ini e numbe o p ojec s ha e been ca ied ou using hei senso s and hei modi iabili y, since i is one o he mos impo an ee ha dwa e p ojec s. I is mainly used in eaching, bu hanks o he In e ne , o ums ha e been c ea ed, such as he o icial A duino o um whe e many people show he p ojec s hey ha e done o he wo ld and e en sha e he code and make ideo u o ials o he whole p ocess. These p ojec s ange om digi al clocks o sel -playing pianos o au oma ic ca ood dispense s. 2.1 Mo i a ion Wi h he inc ease in he numbe o people a ec ed by he a ious alle gies and ood in- ole ances, we need a ool o acili a e he wo k o p o iding a p ope die o he heal h o each indi idual. We ocus especially on places whe e, due o he la ge amoun o peo- ple ea ing he same menu, (such as school can eens) mus ake an excep ional ca e wi h ulne able collec i es (like child en and he elde ly). The e o e, ou a ge audience a e school can eens. Ou aim is ha each s uden will be iden i ied only wi h espec o hei classma es o moni o s and ki chen s a o ul ill hei needs. This wo k is o i al impo ance, since gi ing ood mis akenly wi h an alle gen o an alle - gic pe son, ei he in insically o due o c oss-con amina ion 3, can,lead o an anaphylac ic shock 4in he wo s cases. 2.2 Objec i es To p opose a isual way o in o m use s abou he ood hey can consume wi hin he can- een menus in o de o a oid an alle gic esponse o hei body. The s uden ’s iden i ica ion 3p ocess by which a ood ha does no con ain an alle gen comes in o con ac wi h a su ace o ood ha con ains he alle gen and is con amina ed wi h i 4closu e o he ai ways due o he eac ion o he immune sys em o he alle gen 15 is ca ied ou by means o checking hei inge p in s and in his way i is a pe sonalized expe ience a oiding he memo izing o keys. Mo eo e , adminis a o s will be able o eg- is e hei s uden s e icien ly as well as o e ase and make a backup o hei inge p in s. They may also en e hei s uden s in a da abase by illing in a web o m quickly and easily. Ou objec i e also consis s o using an a o dable and e sa ile de ice, such as he A - duino ha could be modi ied and be scaled i necessa y a a educed cos . A he beginning, ou goal was o ecognize all use s we had egis e ed in ou da abase by hei inge p in s and display hei in o ma ion on a sc een.Ou aim was also o be able o egis e se s o people as h adminis a o wished. As he p ojec p og essed, we ound a p ac ical use o ou sys em: school can eens. A ha momen , we added he objec i e o combining i wi h hei daily menus and highligh ing he alle gens he use was sensi i e o in he di e en menus. 2.3 O ganiza ion In he ollowing sec ions we will expose he di e en ha dwa e and so wa e componen s ha we ha e used in he comple ion o his deg ee inal p ojec , as well as he implemen- a ion, and an example o usage and i s echnical ou comes. •3. Backg ound. In he i s pa a e his in oduc ion, we will ell he backg ound o A duino p ojec s ha se ed as a guide o inspi a ion o he ealiza ion o his p ojec . •4. De ices. In he ou h pa we will desc ibe he de ices used in he de elopmen o he p ojec , hei ea u es, models and ele an in o ma ion. •5. Da abase. In his pa we will explain he da abase used, oge he wi h he da abase manage and i s s uc u e: he di e en ables, he ela ionship be ween hem and hei a ibu es. •6. Implemen a ion. In pa six we will discuss he implemen a ion, wi h he lib a ies, an use ’s manual and he di e en di icul ies and d awbacks encoun e ed. •7. Use case. In sec ion se en we will show how he applica ion uns, inge p in egis- e and s uden iden i ica ion, om he ini ial sc een wi h sc eensho s o each s ep. •8. Ou comes. The las bu one sec ion will be he mos echnical, whe e we will ob ain measu emen s in ou applica ion and show he ou comes. This pa can include access imes, memo y used in execu ion, e c. •9. Conclusion. Finally we will come o ou conclusions abou he objec i es eached, he di icul ies ound and he end o he p ojec . 16 3 An eceden es En es a sección desc ibi emos los abajos p e ios que se han hecho an o de con ol de acceso como de econocimien o de huellas y p oyec os de A duino. Po la ele ancia de A duino en el campo de la educación, solamen e en la Facul ad de In- o má ica de la Uni e sidad Complu ense encon amos dos p oyec os en los que se emplea es e disposi i o. •Una ed de senso es pa a las Sma Ci ies. [3] En es e abajo de in de Más e se u iliza A duino y sus senso es pa a medi los ni eles de uido en di e en es pun os de una ciudad. •Conducción asis ida po d on con sopo e ha dwa e pa a la isión. [4] En es e caso, es e abajo de in de g ado u iliza un A duino den o del au omó il como con- olado . Es os dos abajos son sólo la pun a del icebe g de la can idad de p oyec os en los que se emplea es a placa. Bas a una búsqueda básica con la palab a A duino en un buscado de In e ne pa a encon a un conjun o eno me de p oyec os con una a iedad ex ao dina ia. 4 Disposi i os Hemos u ilizado es placas de A duino y dos lec o es de huellas di e en es. A con inuación les p esen a emos sus ca ac e ís icas, sus en ajas e incon enien es de cada uno de ellos con espec o al o o. Debido a una a e ía en la placa A duino Uno WiFi que u ilizábamos como p incipal, se ap o echó pa a comp a una placa con mayo capacidad de p ocesado. 4.1 A duino Uno WiFi El o iginal, con el que empezó el p oyec o y sob e el que es aba mon ado el lec o de huellas 1. Se puede e en la Figu a 1 17 Figu a 1: A duino Uno WiFi Sus ca ac e ís icas écnicas son: •Pins de E/S (En ada/ Salida) digi ales: 20 •Salidas PWM [5] (Modulación de Ancho de Pulsos): 5 •Consumo de ene gía: 93 mA •Mic ocon olado : ATmega328 •Vol aje al que unciona: 5 V •Memo ia lash: 32 KB •SRAM: 2 KB •Velocidad del eloj: 16 MHz •Pins de en ada analógicos: 6 •EEPROM: 1 KB •Co ien e con inua po cada pin E/S : 40 mA •P ocesado WiFi : ESP8266 18 •Vol aje al que unciona el mic op ocesado WiFi: 3,3 V •Memo ia lash del mic op ocesado WiFi: 4 MB •RAM del mic op ocesado WiFi: 8 MB ins ucción, 12 MB de da os •WiFi: 802.11 b/g/n 2.4 GHz •Tiempo de espues a: meno a 2 ms 4.2 A duino Uno Al p incipio del p oyec o se u ilizó como placa auxilia que u ilizamos pa a p oba la pan- alla y con el lec o de huellas Ada ui pe o, al no ene WiFi, no lo podíamos emplea pa a la ans e encia de da os con la base de da os. Cuando a anzó el p oyec o y debido a una di icul ad que se explica á en el apa ado de Impedimen os den o de implemen ación , se es ableció como disposi i o maes o (Mas e ). Las ca ac e ís icas écnicas son las mismas que las de la placa A duino Uno WiFi a excep- ción del módulo ESP8266, que es el que le o o ga conec i idad WiFi al modelo explicado en el pun o an e io . Se expone una o og a ía del mismo a con inuación. Figu a 2: A duino Uno Sus ca ac e ís icas écnicas son: •Pins de E/S (En ada/ Salida) digi ales: 14 19 •Salidas PWM (Modulación de Ancho de Pulsos): 6 •Consumo de ene gía: – •Mic ocon olado : ATmega328P •Vol aje al que unciona: 5 V •Memo ia lash: 32 KB •SRAM: 2 KB •Velocidad del eloj: 16 MHz •Pins de en ada analógicos: 6 •EEPROM: 1 KB •Co ien e con inua po cada pin E/S : – 4.3 A duino Uno Wi i Re 2 Du an e el anscu so del p oyec o se pensó en comp a es e A duino pa a disminui los iempos de acceso a la base de da os, pe o su comp a se ió p ecipi ada po una a e ía del disposi i o del p ime pun o, como ya se ha mencionado. En el p oyec o iene el ol de Sla e y se mon a la pan alla encima sob e los pines. Figu a 3 Figu a 3: A duino Uno Wi i Re 2 20 Sus ca ac e ís icas écnicas son: •Pins de E/S (En ada/ Salida) digi ales: 14 •Salidas PWM (Modulación de Ancho de Pulsos): 5 •Consumo de ene gía: – •Mic ocon olado : ATmega4809 •Vol aje al que unciona: 5 V •Memo ia lash: 48 KB •SRAM: 6,144 B •Velocidad del eloj: 16 MHz •Pins de en ada analógicos: 6 •EEPROM: 256 B •Co ien e con inua po cada pin E/S : 20 mA •WiFi: 802.11 b/g/n 2.4 GHz 4.3.1 Compa ación de A duino Uno WiFi y A duino Uno WiFi Re 2 A con inuación explica emos el po qué de la elección de es e modelo en conc e o: •Memo ia lash. La di e encia en e la placa de A duino Uno WiFi y es a es que la p ime a iene 32 KB de memo ia lash y es a iene 48 KB. La memo ia lash es dónde se almacena el código del p og ama o ske ch [6] Al se mayo , es a nos pe mi ía esc ibi más uncionalidades, con sus consecuen es líneas de código, además de pone nomb es de a iables más signi ica i os. •SRAM. En es e apa ado, la di e encia en e el modelo de la placa del A duino es o- peado y el modelo que lo eemplazó en nues o p oyec o es de 2 KB en e a 8KB.La SRAM es la memo ia RAM es á ica, es e ipo de memo ia es olá il (es deci , que cuando se apaga el A duino, los da os que hubie a almacenados en es a memo ia, se pie den).[6] •EEPROM. En es e pun o sí hay una pé dida a a o del disposi i o an e io . Es amos hablando de 1 KB que iene el A duino Uno WiFi y 256 B que iene el A duino Uno WiFi Re 2. En es e p oyec o, la pé dida en es e ipo de memo ia no es signi ica i a, ya que 21 no almacenamos ningún da o en el "disco du o"del A duino.[6] Los modelos de hue- llas es án almacenados en el p opio lec o de huellas y los demás da os se encuen an alojados en la base de da os. •Re i ado. En úl imo luga , la decisión de cambia de modelo ue debido a que en la página de A duino [7] el modelo del A duino Uno WiFi apa ecía como e i ado. Po ello conside amos que podía es a obsole o. 4.4 A duinos auxilia es En es a sección habla emos sob e los dos modelos que empleamos auxilia men e pa a la ealización del p oyec o en momen os pun uales. 4.4.1 A duino Mega ADK Figu a 4: A duino Mega ADK Sus ca ac e ís icas écnicas son: •Pins de E/S (En ada/ Salida) digi ales: 54 22 •Salidas PWM (Modulación de Ancho de Pulsos): 15 •Consumo de ene gía: – •Mic ocon olado : ATmega2560 •Vol aje al que unciona: 5 V •Memo ia lash: 256 KB, de los cuales 8 KB dedicados al boo loade . [8] •SRAM: 8 KB •Velocidad del eloj: 16 MHz •Pins de en ada analógicos: 16 •EEPROM: 4 KB •Co ien e con inua po cada pin E/S : 40 mA 4.4.2 A duino Duemilano e Figu a 5: A duino Duemilano e Debido a su escasa SRAM, al ca ga ejemplos del lec o de huellas en el A duino IDE nos salía el a iso de : "Poca memo ia disponible, pueden apa ece p oblemas de es abilidad". 23 Es e ipo de memo ia es el que iene que almacena las a iables globales. La memo ia lash es la que se enca ga de almacena el ske ch (p og ama) y con los mismos ejemplos ondaba una ocupación de en e el 60% y el 80 % de la memo ia del A duino. Po ese mo i o, en cuan o nues o skech empezó a ene una longi ud mayo pa a con ene odo el código especí ico de la pan alla, el lec o y la comunicación I2C, la memo ia de es e A duino se quedó insu icien e y no podía ca ga el p og ama. Sus ca ac e ís icas écnicas son: •Pins de E/S (En ada/ Salida) digi ales: 14 •Salidas PWM (Modulación de Ancho de Pulsos): 6 •Consumo de ene gía: – •Mic ocon olado : ATmega168 •Vol aje al que unciona: 5 V •Memo ia lash: 16 KB, de los cuales 2 KB dedicados al boo loade . [8] •SRAM: 1 KB •Velocidad del eloj: 16 MHz •Pins de en ada analógicos: 6 •EEPROM: 512 B •Co ien e con inua po cada pin E/S : 40 mA 4.5 Lec o de huellas 1 El p ime lec o de huellas, es uno que iba en una es uc u a p epa ada po los di ec o es jun o con el A duino Uno Wi i. Consis e en un lec o de huellas con capacidad mayo que el Lec o de huellas Ada ui y que iene un sis ema de lec o de a je as RFID inco po ado. Tu imos p oblemas con las lib e ías de los d i e s y la ans e encia de da os al A duino, po an o, aunque la capacidad de huellas e a mayo en es e disposi i o, nos acabamos decan ando po el segundo lec o de huellas. 4.6 Lec o de huellas Ada ui El segundo lec o de huellas que usamos, es de la ma ca Ada ui (ha dwa e lib e). Es e disposi i o iene una disponibilidad de gua da has a 127 huellas di e en es, po an o, una capacidad meno que el an e io . Es un pe i é ico que o ece lib e ías pa a su uso con A duino y po an o la ans e encia de da os en e el A duino y el econocedo de huellas es aba con enida en unciones. 24 6 Implemen ación En es e apa ado se exponen los di e en es p og amas, lib e ías y ecnologías usados pa a lle a a cabo el p oyec o. Además se expone una guía pa a el mon aje y el cableado y un manual de uso pa a el so wa e. 6.1 P og amas y lenguajes 6.1.1 A duino IDE El en o no open-sou ce de A duino, pe mi e esc ibi código y subi lo a cualquie placa A duino. No solo pe mi e p og ama lo, sino que con el boo loade in eligen e, se puede deja co iendo el p og ama que le has ca gado sin conec a lo al o denado . Con una ba e ía ex e na es su icien e. La e sión usada es la 1.8.8. 6.1.2 P ocessing P ocessing es un en o no que hemos u ilizado pa a c ea un sc ip que co e en el o de- nado pa a ecoge la salida del pue o se ie del A duino. E a necesa io pa a c ea nues a copia de segu idad, ya que el IDE de A duino solo pe mi e gua da da os de su pue - o se ie si iene un módulo de a je a SD. El p og ama se puede desca ga en la página h ps://p ocessing.o g/download/. 6.1.3 PHP PHP (ac ónimo ecu si o de PHP: Hype ex P ep ocesso ) es un lenguaje de código abie - o muy popula especialmen e adecuado pa a el desa ollo web y que puede se inc us ado en HTML [12]. Lo usamos como in e media io en e el A duino y la base de da os pa a hace las consul as SQL que pe mi en iden i ica a los alumnos. También se usa á en el o mula io web pa a da de al a a los alumnos en la base de da os. Ve sión de PHP: 7.3.2 6.1.4 HTML HTML, siglas en inglés de Hype Tex Ma kup Language(Lenguaje de Ma cas de Hipe ex- o).es un lenguaje de ma cado que se u iliza pa a el desa ollo de páginas web. Noso os usamos la úl ima e sión, HTML5, pa a ealiza un o mula io donde ellena los da os del alumno, y que median e PHP se conec e con la base de da os. 6.2 Lib e ías Es as lib e ías han sido u ilizadas en es e p oyec o. A con inuación se p ocede á al desglose de las mismas, su unción den o de es e abajo y su o igen. 31 6.2.1 Wi e Es a lib e ía si e pa a usa la conec i idad I2C en e los dos A duinos. Se es ablecen dos oles: Mas e y Sla e, o Maes o y Escla o en español. Es os oles si en pa a oma el con ol del bus po el cual se mandan los da os. En la sección Cableado ya se habla á de cómo se conec an el cable de da os y el cable que lle a la señal de eloj. El cable que conec a los pines SDA anspo a los da os y el cable que conec a los pines SCL de cada uno manda la señal de eloj pa a sinc oniza la señal. En nues o p oyec o u ilizamos la lib e ía Wi e pa a pode manda el iden i icado de la huella del A duino Uno (Mas e ) al A duino UNO WiFi Re 2 (Sla e). Al p incipio del ske ch, empezamos con la unción Wi e.begin() que une el bus en e el Mas e y el Sla e. Luego unciona po e en os con las unciones Wi e.onRecei e() y pa a esc ibi en el bus, se ealiza con Wi e.w i e() y pa a lee del mismo lo hacemos con Wi e. ead(). En el bus iene p e e encia el Mas e y el Sla e p egun a po la disponibilidad del mismo. Es e modelo se puede eplica eniendo más A duinos conec ados al bus pe o, siemp e iene que habe un Mas e , los demás ienen que se Sla es. En caso de que haya más de dos A duinos conec ados, se iene que nomb a los al inicia con el Wi e.begin(). 6.2.2 Ada ui Finge p in Senso Lib a y Es a lib e ía es la o icial de Ada ui y se enca ga de odo lo elacionado con el senso de huellas. Es el d i e del lec o de huellas. En nues o p oyec o la usamos pa a egis a las huellas, pa a econoce huellas, pa a hace una copia de segu idad de odas las huellas, y pa a elimina huellas. Indagando en el código de la lib e ía emos que gua da los modelos de las huellas como ipo uin -8. El lec o de huellas ealiza una cuad icula (se puede e exac amen e en el pd que colgamos en el Gi Hub como pa e de la documen ación) pa a mapea las huellas y con ello c ea un modelo que es un conjun o de ca ac e es al anumé ico con que iden i ica únicamen e a cada huella. Cuando in oduces un dedo en el senso , ealiza la misma ope ación pe o es a ez compa a con los modelos que iene almacenados en ese momen o. Si hay un código que co esponde al código que acaba de calcula e econoce á la huella y e da á la posición en su memo ia in e na en la que es á almacenado (dispone de un a ay de modelos del 1 al 128). En caso con a io, e di á que no es á egis ado. Es as unciones noso os las p ocesamos en el A duino UNO y las mandamos a a és del bus mencionado en el pun o an e io has a el o o A duino (UNO Wi i Re 2). 6.2.3 TFT TouchShield V2, Touch Sc een D i e Es as lib e ías se usan pa a la pan alla TFT que a mon ada sob e el A duino UNO WiFi Re 2. Noso os la u ilizamos pa a mos a ex o en la pan alla. Se inicializa con TFT.TFTini () en el código y a pa i de ahí se puede empeza a usa . La unción d awS- ing() que u ilizamos abundan emen e iene 5 a gumen os: el p ime o es pa a me e la cadena de ca ac e es que quie es mos a po pan alla, el segundo es la coo denada X den- o de la pan alla en la que quie es esc ibi , el e ce o la coo denada Y, el cua o es el 32 amaño y po úl imo le in oduces en inglés el colo en que a a esc ibi . Es a lib e ía iene un p oblema con los ca ac e es que no engan una codi icación ASCII como se explica en el pun o 6.6.4 Tildes y ca ac e es especiales de es a memo ia. 6.2.4 WiFiNINA Lib e ía pa a conec a con el WiFi, és a es nue a pa a el A duino UNO WiFi Re 2. Sopo a conexiones con segu idad WEP y WPA2. An e io men e, cuando aún usábamos el A duino UNO WiFi, la lib e ía usada e a WiFiLink. Es a lib e ía pe mi e abaja con e o es de i ados de una mala conexión a la ed WiFi y en su unción de inicialización se in oduce el SSID de la conexión WiFi (el nomb e de la misma) y la con aseña de acceso. 6.2.5 Wi iClien La lib e ía pa a el clien e de WiFi. Con es a lib e ía nos comunicamos con la base de da os median e un sc ip PHP. Usamos la unción h pReques () pa a comunica nos con la base de da os y le mandamos un iden i icado de la huella que hemos econocido. Es o p ocede á a hace una consul a en la base de da os y nos de ol e á los da os de la pe sona egis ada con esa huella. 6.3 Mon aje Con el in de que los dos A duinos y el lec o de huellas es u iesen suje os y los cables no se qui asen de los pines, ya que u imos que ol e a solda los en nume osas ocasiones, decidimos ancla los A duinos y el lec o de huellas a una abla de made a de 31x20.5 cm. Los A duinos an suje os con cua o o nillos cada uno en cada esquina, jun o a cua o ele ado es que los sepa an medio cen íme o de la abla pa a que no se sob ecalien en. El lec o de huellas se suje a con una b ida. El mon aje una ez inalizado puede e se en la Figu a 11. 6.4 Cableado Pa a que el sis ema ealice co ec amen e odas las unciones es undamen al que los cables que conec an el lec o de huellas con el A duino y los dos A duinos en e sí se encuen en bien conec ados. El cable e de del lec o de huellas se conec a al pin 2 del A duino UNO, y el cable blanco al pin 3. Pa a que le llegue ene gía al lec o de huellas hay que conec a el cable ojo al pin 5V y el cable neg o a GND. La pan alla TFT se inse a di ec amen e sob e el A duino UNO WiFi Re 2. Pa a pode ansmi i el nume o de iden i icación del alumno desde el A duino UNO al A duino UNO WiFi Re 2 es necesa io conec a los pines SCL y SDA del A duino UNO con los pines SCL y SDA del A duino UNO WiFi Re 2 espec i amen e. La Figu a 11 p esen a el sis ema con odo el cableado. 33 Figu a 11: Mon aje y cableado 6.5 Manual de uso Lo p ime o que hay que hace pa a pode hace uso del sis ema desa ollado es desca ga los p og amas necesa ios. El p incipal es el A duino IDE, que se puede desca ga de su página web [13]. Es á disponible pa a Windows, Linux y Mac OS X Es e p og ama si e pa a ca ga y edi a el código en o ma o “ino”. También hab á que desca ga e ins ala la dis ibución XAMPP [14]. XAMPP es una dis i- bución de Apache comple amen e g a ui a y ácil de ins ala que con iene Ma iaDB, PHP y Pe l. De es e paque e de so wa e lib e u ilizamos el ges o de bases de da os MySQL, el se ido web Apache y el in é p e e pa a PHP. O o p og ama eque ido es el P ocessing. En es e caso solo se u iliza á pa a lle a a cabo la copia de segu idad de las huellas. También se á necesa io el uso de un na egado de In e ne pa a usa el o mula io web pa a da de al a a los alumnos en la base de da os. El siguien e paso se á desca ga el eposi o io de Gi hub “TFG2019_HUELLAS” [15], el cual con iene odos los a chi os eque idos pa a que el sis ema uncione, a pa e de oda la documen ación necesa ia. Una ez desca gada la ca pe a “TFG2019_HUELLAS” e ins alados odos los p og amas, se debe añadi al A duino IDE odas las lib e ías que necesi amos. Se ienen que desca ga las siguien es lib e ías: WiFiNINA [16], TFT Touch Shield V2 [17], Touch Sc een D i e [18] y Ada ui Finge p in Senso Lib a y [19]. Cada una de ellas se explican en el apa ado 6.2 Lib e ías. 34 Pa a inclui las en el en o no, ab imos el A duino IDE y en la ba a de menú hacemos click en P og ama - Inclui lib e ía - Añadi lib e ía .ZIP (Figu a 12). Figu a 12: Inclui lib e ías Se ab i á una en ana donde hay que selecciona las lib e ías y pulsa en Ab i . A con inuación amos a impo a la base de da os con la in o mación de los alumnos. Pa a ello, ab imos el p og ama XAMPP Con ol Panel e iniciamos los módulos Apache y MySQL (Figu a 13). Figu a 13: Inicia Apache y MySQL 35 Una ez iniciados es os dos módulos, ya se puede ab i el na egado e in oduci la di ección h p://localhos /phpmyadmin. En la ba a supe io , hacemos click en Impo a . En la pan alla que se ab e hay que pulsa en Selecciona a chi o y ab i el a chi o “ale - gias.sql”, que se encuen a en TFG2019_HUELLAS/P oyec o_Julia_Ad ian/s c/. Pa a e mina de impo a la base de da os solo queda da le a Con inua en la pa e in e io de la página (Figu a 14). Figu a 14: Impo a ale gias.sql Una ez impo ada la base de da os, únicamen e queda copia la ca pe a “comedo ” disponible en TFG2019_HUELLAS/P oyec o_Julia_Ad ian/s c/ a la ca pe a “h docs” de XAMPP, que se encon a á en la u a del PC donde se haya ins alado el XAMPP. Es a ca pe a con iene los a chi os h ml y php necesa ios pa a pode lle a a cabo el egis o de los alumnos en la base de da os median e un o mula io HTML y pa a consul a la base de da os con el in de iden i ica a los alumnos. En los a chi os selec .php y egis o.php se deben ac ualiza las a iables se e , dbuse name y dbpasswo d, con el nomb e del se - ido , el nomb e de usua io y la con aseña espec i amen e. T as ealiza es os p ime os pasos ya se puede hace uso de las dis in as uncionalidades que o ece el sis ema, cuyo uncionamien o se de alla a con inuación. 36 6.5.1 Regis o de huellas Los a chi os que lle an a cabo el egis o de huellas son En oll_UNO.ino y En oll_UNO_Wi i.ino, que se localizan en la ca pe a /s c. T as ab i es os dos a chi os, conec amos los dos A dui- nos a los pue os USB del o denado . Aho a hay que deci le al A duino IDE en qué placa y en que pue o uncionan cada uno. El En oll_UNO.ino unciona en el A duino UNO. Es el enca gado de egis a las huellas y manda la in o mación al A duino UNO WiFi Re 2. Con el En oll_UNO abie o hacemos click en He amien as - Placa: y selecionamos A duino/Genuino UNO. Pa a selecciona el pue o, pulsamos en He amien as - Pue o y elegimos el pue o que enga esc i o al lado A duino UNO, como se mues a en la Figu a 15. Se debe hace lo mismo en el En oll_UNO_Wi i, pe o en es e caso seleccionamos placa A duino UNO WiFi Re 2 y el pue o en el que ponga al lado A duino UNO WiFi Re 2. Es e A duino se enca ga de mos a la in o mación po la pan alla. Es impo an e ene en cuen a es as dos con igu aciones cada ez que se use el p og ama ya que sino el código no se sube co ec amen e a los A duinos y ob iamen e no unciona. Figu a 15: Con igu ación de pue os Una ez con igu ado odo co ec amen e, solo queda pulsa en el segundo icono em- pezando po la izquie da (Subi ). Hacemos es o pa a ambos códigos. T as unos segundos, p ime o se compila el código y luego se sube a los A duinos, el lec o de huellas empeza á a pa padea y el usua io debe segui las ins ucciones de la pan alla. Al inal del p oceso se le asigna un ID al alumno, que es el que se le debe pone al da le de al a en la base de da os. Es e ID se á el siguien e disponible que no es é siendo u ilizado po el lec o . 37 El p ocedimien o pa a egis a una huella dac ila se de alla más p o undamen e en la sección 7. Ejemplo de uso. 6.5.2 Iden i icación de alumnos Pa a iden i ica a los es udian es y mos a la in o mación po la pan alla se deben ca ga los a chi os “ID_UNO.ino” e “ID_UNO_WiFi.ino”. Ambos se encuen an en la ca pe a /s c. Lo p ime o, as conec a los A duinos al PC si no se ha hecho ya, es selecciona la placa y el pue o pa a cada a chi o. “ID_UNO” se conec a al A duino UNO y “ID_UNO_WiFi” al A duino UNO WiFi Re 2. El código de “ID_UNO” se enca ga de lee la huella del usua io, mien as que el código de “ID_UNO_WiFi” ealiza la conexión con la base de da os y p esen a los da os en la pan alla. P ecisamen e, con el in de conec a se a la base de da os median e WiFi, se debe modi ica la a iable SSID, e e ida al SSID de la conexión WiFi (el nomb e de la misma); la a iable pass, e e ida a la con aseña del ou e ; y la a iable se e , siendo és a la di ección IP del o denado . Podemos encon a nues a di ección IP esc ibiendo el comando ipcon ig en la consola de comandos y buscando el alo de la di ección IP 4, como se mues a en Figu a 16. Figu a 16: Busca di ección ip 4 Después de esc ibi el nomb e del pun o de acceso, la con aseña y la di ección IP, es p eciso asegu a se de que los módulos Apache y MySQL del Panel de Con ol de XAMPP es án iniciados, ya que sino lo es án no se ealiza á la conexión con la base de da os. Una ez hecho es o, ya se pueden subi los códigos a los A duinos. Después de unos segundos en los cuales se compila y se sube el código ya se pod á lle a a cabo la iden i icación de los alumnos. Es a uncionalidad se explica más de alladamen e en la sección 7. Ejemplo de uso. 6.5.3 Bo ado de huellas Las huellas de los alumnos se pueden elimina de dos mane as, o bien bo ando de una en una o bien eliminando odas a la ez. En ambos casos solo se necesi a á conec a al pue o USB del o denado el A duino UNO. Si se quie e bo a únicamen e una huella, se debe ab i el a chi o ”dele eFinge p in .ino“, den o de la ca pe a /s c. Después de selecciona la placa y el pue o co ec o (aquel dónde ponga A duino UNO) y de subi el código al A duino hay que ab i el Moni o 38 Se ie haciendo click en He amien as - Moni o Se ie. A con inuación se han de segui las ins ucciones que apa ecen el Moni o Se ie, las cuales consis en en in oduci el ID del alumno cuya huella se quie e elimina y pulsa ENTER. Nos pedi á que si es amos segu os pulsemos la ecla ’Y’. T as ello, la huella se hab á eliminado. Figu a 17: Bo a una huella En caso de que se equie a la eliminación de odas las huellas econocidas hay que ca ga el a chi o “emp yDa abase.ino”, que como odo el código se puede encon a en la ca pe a /s c del p oyec o. También se iene que selecciona la placa A duino UNO y el pue o que co esponda a es a placa. T as subi el código al A duino se debe ab i el Moni o Se ie y segui las ins ucciones, que en es e caso son an simples como esc ibi la le a ’Y’ y pulsa ENTER. Una ez hecho es o se hab án bo ado odas las huellas de los alumnos. 39 Figu a 18: Bo a odas las huellas 6.5.4 Copia de segu idad Pa a hace un backup de las huellas gua dadas en el lec o hacen al a los a chi os “bac- kup.ino” y “backupP ocessing.pde”, disponibles la ca pe a /s c del p oyec o. Además ha á al a el p og ama P ocessing (Figu a 19), el cual podemos desca ga la e sión pa a nues- o sis ema ope a i o de su página web [20]. Cuando engamos la ca pe a desca gada, la descomp imimos y ejecu amos la aplicación. En el A duino IDE con backup.ino abie o seleccionamos la placa A duino UNO y el pue o que co esponda al A duino UNO. Después subimos el código. En el en o no de P ocessing ejecu amos el sc ip backup.pde. Y en unos segundos se c ea á un a chi o de ex o con los códigos al anumé icos que co esponden a cada huella. El códi- go de P ocessing u ilizado pa a hace una copia de segu idad pe enece a Mohan Chand a P adhan y se ha ex aído de la página web [21]. Noso os simplemen e hemos cambiado el nomb e del a chi o de ex o. 40 Figu a 22: Re i a el dedo Figu a 23: Vuel e a coloca el dedo 47 Figu a 24: Huella gua dada Figu a 25: Las huellas no coinciden 7.2 Iden i icación del alumno Un alumno llega al comedo escola . En la pan alla del A duino se le indica que in oduzca su huella dac ila (Figu a 26). El es udian e coloca su dedo en el lec o de huellas. Si se 48 econoce su huella y es á dado de al a en la base de da os, se mues a en la pan alla su nomb e, apellidos y si ha ealizado el pago o no (Figu a 27). Después se mues an en la pan alla las ale gias que iene (Figu a 28). En caso de que el alumno no enga ninguna ale gia se mues a en la pan alla la palab a “NINGUNA”. A con inuación, si el menú del día con iene algún alé geno que el alumno no pueda consumi , se mues a en la pan alla el mensaje “Menú especial sin:” y debajo es os alé genos (Figu a 29). Si el alumno no iene ninguna ale gia o en el menú del día no hay ningún alé geno al que el es udian e sea alé gico se e á en la pan alla el mensaje “MENU NORMAL” en e de (Figu a 30). En caso de que la huella del alumno no haya sido egis ada, se mues a en la pan alla “Alumno no egis ado” (Figu a 31) y se uel e al mensaje “In oduce huella” pa a que o o alumno se iden i ique. Si el alumno sí que se ha egis ado con an e io idad, pe o aún no se le ha dado de al a en la base de da os, se le indica en la pan alla con el mensaje “Alumno no dado de al a en la BD” (Figu a 32). Y en caso de que el alumno no haya ealizado el pago del comedo no se mues an sus ale gias ni se le dice si puede come el menú no mal o si iene que come el menú especial. El sis ema queda en espe a de econoce la huella de o o alumno. Figu a 26: In oduzca huella 49 Figu a 27: Da os del alumno Figu a 28: Ale gias del alumno 50 Figu a 29: Menú especial sin pescado y lác eos Figu a 30: Menú no mal 51 Figu a 31: Alumno no egis ado Figu a 32: Alumno no dado de al a en la BD 52 8 Resul ados 8.1 Tiempos de acceso a la ed y a la base de da os El A duino UNO WiFi Re 2 se conec a a la ed WiFi en unos 2 segundos. El A duino UNO WiFi que se usó al p incipio a daba algo más, pe o se a e ió an es de pode hace mediciones. El in e alo de iempo desde que se hace la pe ición a la base de da os has a que se mues an los da os en el Moni o Se ie y en la pan alla ha mejo ado eno memen e cuando se ha usado el A duino UNO WiFi Re 2 con espec o a las p uebas con el A duino UNO WiFi, ya que en el p ime o se p oduce casi de o ma inmedia a y en el segundo caso la espe a e a no able. 8.2 Memo ia de los A duinos En es e apa ado se especi ica el espacio de almacenamien o que usa cada código y cuan o ocupan las a iables globales. En oll_UNO El Ske ch usa 7390 by es (22 %) del espacio de almacenamien o de p og ama. El máximo es 32256 by es. Las a iables Globales usan 962 by es (46 %) de la memo ia dinámica, dejando 1086 by es pa a las a iables locales. El máximo es 2048 by es. En oll_UNO_WIFI El Ske ch usa 8796 by es (17 %) del espacio de almacenamien o de p og ama. El máximo es 49152 by es. Las a iables Globales usan 544 by es (8 %) de la memo ia dinámica, dejando 5600 by es pa a las a iables locales. El máximo es 6144 by es. ID_UNO El Ske ch usa 6610 by es (20 %) del espacio de almacenamien o de p og ama. El máximo es 32256 by es. Las a iables Globales usan 711 by es (34 %) de la memo ia dinámica, dejando 1337 by es pa a las a iables locales. El máximo es 2048 by es. ID_UNO_WiFi El Ske ch usa 19906 by es (40 %) del espacio de almacenamien o de p og ama. El máximo es 49152 by es. Las a iables Globales usan 860 by es (13 %) de la memo ia dinámica, dejando 5284 by es pa a las a iables locales. El máximo es 6144 by es. Dele eFinge p in El Ske ch usa 5344 by es (16 %) del espacio de almacenamien o de p og ama. El máximo es 32256 by es. Las a iables Globales usan 601 by es (29 %) de la memo ia dinámica, dejando 1447 by es pa a las a iables locales. El máximo es 2048 by es. 53 Emp yDa abase El Ske ch usa 4526 by es (14 %) del espacio de almacenamien o de p og ama. El máximo es 32256 by es. Las a iables Globales usan 495 by es (24 %) de la memo ia dinámica, dejando 1553 by es pa a las a iables locales. El máximo es 2048 by es. Backup El Ske ch usa 6370 by es (19 %) del espacio de almacenamien o de p og ama. El máximo es 32256 by es. Las a iables Globales usan 351 by es (17 %) de la memo ia dinámica, dejando 1697 by es pa a las a iables locales. El máximo es 2048 by es. 9 Conclusión A aíz de los esul ados ob enidos en el apa ado an e io , c eemos que el cambio del A - duino UNO WiFi al A duino UNO WiFi Re 2 nos ha bene iciado, ya que és e úl imo se conec a mucho más ápido a la ed y a la base de da os aunque u ié amos que sol en a lo del d i e del lec o de huellas. Po o a pa e, la elección de sepa a el código en dos A duinos, debido a la imposibilidad de usa el lec o de huellas con el A duino UNO WiFi Re 2, ha sido una buena idea. Se epa e la ca ga de abajo y el sis ema es más obus o, apa e de que es más ácil de ec a e o es. Ningún código llega a ocupa el 50 % del almacenamien o disponible. El único que se ace ca es ID_UNO_WiFi.ino con un 40 %. En cuan o al p oyec o en gene al, se han cumplido los obje i os decla ados al p inci- pio. Los esponsables del comedo pueden sabe de una mane a ápida y sin e o es que alimen os pueden come los alumnos, y los alumnos no se ienen que p eocupa de na- da. Además los adminis ado es pueden da de al a a los alumnos sin apenas es ue zo. Ya que les b indamos las he amien as y el u o ial pa a que no engan ni que sabe p og ama . En lo pe sonal, g acias a es e T abajo de Fin de G ado hemos ap endido mucho. Hemos ap endido a p og ama pa a A duino y qué ipos de A duinos exis en. También hemos ampliado nues os conocimien os en HTML y PHP. y además hemos is o aplicados los conocimien os de bas an es asigna u as de la ca e a, po ci a algunas: Bases de Da os, Robó ica, Fundamen os de P og amación, Aplicaciones Web, ... También hemos is o un in e és de las emp esas en las en e is as de abajo sob e nues o p oyec o. Pe o sob e odo nos sen imos muy o gullosos de habe hecho una aplicación que puede usa se pa a mejo a la ida de las pe sonas con lo de las ale gias alimen a ias. Es un ema que nos pilla muy de ce ca, ya que enemos amilia es y amigos con ale gias alimen a ias se e as. 54 10 Conclusion As a esul o he ou comes ob ained in he p e ious sec ion, we belie e ha he change om he A duino UNO WiFi o he A duino UNO WiFi Re 2 has been o ou ad an age, since he la e connec s much as e o he ne wo k and da abase e en i we had o ix he d i e o he inge p in eade . On he o he hand, he choice o sepa a ing he code in o wo A duinos, due o he impos- sibili y o using he inge p in eade wi h he A duino UNO WiFi Re 2, has been a good idea. The wo kload is dis ibu ed and he sys em is mo e obus , and i is easie o de ec e o s. No code akes up o 50 % o he a ailable s o age. The only one ha comes close is ID_UNO_WiFi.ino wi h 40 %. Rega ding he p ojec gene ally, he objec i es s a ed a he ou se ha e been me . The people in cha ge o he can een can know quickly and unmis akenly wha ood he pupils can ea , and he pupils do no ha e o wo y abou any hing. In addi ion, he adminis a- o s can egis e he s uden s wi h ha dly any e o . We p o ide hem wi h he ools and he u o ial so ha hey don’ e en ha e o know how o p og am. On a pe sonal no e, hanks o his Deg ee Final P ojec we ha e lea ned a lo . We ha- e lea ned how o p og am o A duino and wha ypes o A duinos exis . We ha e also expanded ou knowledge in HTML and PHP. We ha e also applied he knowledge acqui ed in qui e a ew subjec s o ou deg ee, o name a ew: Da abases, Robo ics, P og amming Fundamen als, Web Applica ions, ... We ha e also pe cei ed an in e es om companies in job in e iews abou ou p ojec . Bu abo e all we a e e y p oud o ha e made an appli- ca ion ha can be used o imp o e he li es o people wi h ood alle gies. I ’s a opic ha a ec s us pe sonally, as some o ou amily and iends su e om se e e ood alle gies. 55 Re e encias [1] h ps://spec um.ieee.o g/geek-li e/hands-on/ he-making-o -a duino [2] h ps:// o um.a duino.cc/ [3] h ps://ep in s.ucm.es/34796/ [4] h ps://ep in s.ucm.es/45230/ [5] h ps://www.a duino.cc/en/Tu o ial/PWM [6] h ps://www.a duino.cc/en/ u o ial/memo y [7] h ps://s o e.a duino.cc/a duino-uno-wi i [8] h ps://www.a duino.cc/en/Hacking/Boo loade ? om=Tu o ial.Boo loade [9] h ps://www.spa k un.com/p oduc s/512 [10] h ps://sea cho acle. ech a ge .com/de ini ion/MySQL [11] h ps://www.phpmyadmin.ne / [12] h p://php.ne /manual/es/in o-wha is.php [13] h ps://www.a duino.cc/en/Main/So wa e [14] h ps://www.apache iends.o g/es/index.h ml [15] h ps://gi hub.com/ABSysG oup/TFG2019_HUELLAS [16] h ps://gi hub.com/a duino-lib a ies/WiFiNINA [17] h ps://gi hub.com/Seeed-S udio/TFT_Touch_Shield_V2 [18] h ps://gi hub.com/Seeed-S udio/Touch_Sc een_D i e [19] h ps://gi hub.com/ada ui /Ada ui -Finge p in -Senso -Lib a y [20] h ps://p ocessing.o g/download/ [21] h ps://www. esea chga e.ne /pos /How_can_I_sa e_da a_di ec ly_in_ he_ pc_using_an_A duino_UNO 56