UNIVERSIDAD TECNICA DE AMBATO DIRECCIÓN DE INVESTIGACIÓN Y DESARROLLO DESARROLLO
SISTEMA DE AUTENTICACIÓN AUTENTICACIÓN DE USUARIOS DE AULAS Y LABORATORIOS BASADO EN SOFTWARE Y HARDWARE LIBRE CONTROLADO CONTROLAD O DESDE DES DE UNA UN A PLAT PLATAFORMA CLOUD COMPUTING
ENERO, 2016 pág. 1
INFORME
1.- TITULO: SISTEMA DE AUTENTICACIÓN DE USUARIOS DE AULAS Y LABOR ABORA ATORIOS IOS BASAD ASADO O EN SOF SOFTWA TWARE Y HARDW ARDWA ARE LIB LIBRE CONTROLADO DESDE UNA PLATAFORMA CLOUD COMPUTING. 2.- OBETIVOS: G!"!#$%: -Implemen! -Implemen!"" #n $%$em! &e !#en%'!'%( !#en%'!'%(nn &e #$#!"%)$ &e !#l!$ * l!+)"!)"%) l!+)"!)"%)$$ +!$!&) +!$!&) en $),!"e * !"&!"e l%+"e ')n")l!&) &e$&e #n! pl!!,)"m! Cl)#& C)mp#%ng E&'!()*+(&: - In$!l!" #n $e"/%&)" LAMP en l! Pl!!,)"m! Cl)#& C)mp#%ng. - De,% De,%n% n%"" l! e'n e'n)l )l)g )g0! 0! &e ')n ')n") ")ll &e !#e !#en n%'! %'!'% '%(n (n p!"! p!"! #$#! #$#!"% "%)$ )$ &e !#l! !#l!$$ * l!+)"!)"%)$. -An!l%1!" el %p) &e ')m#n%'!'%(n en"e el !"&!"e * $),!"e l%+"e p!"! el ')n")l &e !#en%'!'%(n. 1. RESUM ESUMEN EN En el p"e$ene %n,)"me2 $e &e$'"%+e l! %mplemen!'%(n &e #n $%$em! &e !#en%'!'%(n &e #$#!"%)$ &e !#l!$ * l!+)"!)"%)$2 &e$!"")ll!&) en l! F!'#l!& &e Ingen%e"0! en S%$em!$2 Ele'"(n%'! e In$"%!l &e l! Un%/e"$%&!& T3'n%'! &e Am+!). L! ge$%(n * "eg%$") &e l)$ #$#!"%)$ e$á $#pe"/%$!&) p)" #n! pl!!,)"m! Cl)#& C)mp#%ng2 en l! 4#e $e ! %mplemen!&) #n! +!$e &e &!)$ 4#e ')n%ene l! %n,)"m!'%(n !$)'%!&! ! l! !#en%'!'%( !#en%'!'%(nn &e #$#!"%)$. #$#!"%)$. A&emá$2 A&emá$2 $e ! emple!&) emple!&) e'n)l)g0! e'n)l)g0! &e '(&%g) '(&%g) !+%e") !+%e") ')n g"!n&e$ ,#n'%)n!l%&!&e$ 4#e pe"m%%"án #n! "áp%&! * ,á'%l %neg"!'%(n &e n#e/!$ e'n)l)g0!$ &e !#en%'!'%(n &e #$#!"%)$. 2. PALABRA PALABRAS S CLAV CLAVES: A#en%'!'%(n2 !"&!"e l%+"e2 $),!"e l%+"e2 $e"/%&)" LAMP.
pág. 2
. D!&(#+'(+" /!% T#$$ L! %mplemen!'%(n &el $%$em! &e !#en%'!'%(n &e #$#!"%)$ &e !#l!$ * l!+)"!)"%)$ $e &e$!"")ll( en &%,e"ene$ e!p!$5 - Implemen!'%(n &e #n $e"/%&)" LAMP. - Sele''%(n &e l!$ e'n)l)g0!$ &e !#en%'!'%(n &e #$#!"%)$. - Implemen!'%(n &e #n $%$em! &e "eg%$") &e #$#!"%)$ en #n! +!$e &e &!)$. - P")g"!m!'%(n &e %n&%'!&)"e$ !$)'%!&) ! l! !#en%'!'%(n &e #$#!"%)$. En l)$ $%g#%ene$ !p!"!&)$2 $e &e$'"%+en l!$ !'%/%&!&e$ &e$!"")ll!&!$ en '!&! e!p!. •
I'%!!"3$(+" /! 4" &!#5+/# LAMP Un $e"/%&)" LAMP2 e$ #n !'"(n%m) &e #n ')n6#n) &e !pl%'!'%)ne$5 L%n#78Ap!'e8M*$4l8PHP. En p"%me"! %n$!n'%! $e &e+e %n$!l!" l! /e"$%(n má$ !'#!l &e !p!'e. En l! &%$"%+#'%(n &e U+#n# $e &e+e emple!" el ')m!n&)5 sudo apt-get install apache2 –y
De e$! m!ne"! l! /e"$%(n má$ !'#!l &e !p!'e $e %n$!l!"á en l! má4#%n!. El p")'e$) &e %n$!l!'%(n e$ $en'%ll). P!"! 4#e el $e"/%&)" $e! ')mple)2 $e &e+e %n$!l!" #n m))" &e +!$e &e &!)$. Un) &e l)$ m))"e$ má$ p)p#l!"e$ * $en'%ll) &e %n$!l!".2 p!"! ell) $e &e+e &%g%!" el ')m!n&)5 sudo apt-get install mysql-server mysql-client
En e$! p!"e2 el #$#!"%) &el $e"/%'%) &e +!$e &e &!)$ &e+e"á eleg%" #n! ')n"!$e9! 4#e le pe"m%! !''e&e" en #n ,##") !l $e"/%'%) ')mple) &e M*$4l2 ,%g#"! :.
F%g#"! :5 In")''%(n &e l! ')n"!$e9! &e M*$4l ;:<
pág. 3
P!"! #n! m!*)" $eg#"%&!& $e &e+e %n")'%" &)$ /e'e$ l! m%$m! ')n"!$e9!. A$%m%$m)2 $e &e+e %n$!l!" el leng#!6e PHP2 p!"! ell) $e emple!"á el ')m!n&) sudo apt-get install php5 –y
De e$! m!ne"! l! !/e"$%(n má$ !'#!l &e PHP $e %n$!l!"á en el $e"/%&)". C#!n&) el p")'e$) &e %n$!l!'%(n &e l)$ &%,e"ene$ ')mp)nene$ !*! ,%n!l%1!&)2 $e &e+e"á emple!" el ')m!n&)5 sudo /etc/init.d/apache2 restart.
Un! /e1 4#e el $e"/%&)" !*! "e%n%'%!&) l!$ !pl%'!'%)ne$ $e e6e'#!"án ')n n)"m!l%&!&. A&emá$2 &e !+e" %n$!l!&) #n m))" &e +!$e &e &!)$ e$ ne'e$!"%) ene" #n !&m%n%$"!&)" &e +!$e &e &!)$. P!"! e$e '!$) $e emple!"á ppM*!&m%n ! "!/3$ &el ')m!n&)5 sudo apt-get install phpmyadmin
Un! /e1 e6e'#!&) el ')m!n&) !ne"%)"2 $e &e+e eleg%" el %p) &e $e"/%&)" ')n l! +!""! e$p!'%!&)"! &el e'l!&)2 ,%g#"! =.
F%g#"! =5 Ele''%(n &el $e"/%&)" p!"! ppM*!&m%n ;:<.
Un! /e1 !'ep!&) el $e"/%&)" ')""e')2 $e &e+e &e6!" p)" &e,e') l! )p'%(n >&+')n,%g?')mm)n@ ,%g#"! .
pág. 4
F%g#"! 5 C)n,%g#"!'%(n &e ppm*!&m%n ;:<.
De e$! m!ne"!2 el p")'e$) &e %n$!l!'%(n &e ppm*!&m%n pe&%"á 4#e $e %n")'! #n! ')n"!$e9!. L! ')"!$e9! 4#e $e &e+e %n")'%" e$ l! m%$m! 4#e $e #%l%1( p!"! ')n,%g#"!" M*$4l. De e$! m!ne"! 4#e&!"á %n$!l!&) ppm*!&m%n en el $e"/%&)" &e &!)$. P!"! !''e&e" ! ppm*!&m%n $e &e+e"á &%g%!" en l! %p &el $e"/%&)" $eg#%&) &e ppm*!&m%n2 ,%g#"! .
F%g#"! . A''e$) ! ppm*!&m%n.
pág. 5
En e$e $en%&)2 $e '"e!"á #n! +!$e &e &!)$ 4#e en p"%n'%p%) en&"á &)$ !+l!$ &e "eg%$") &e %n,)"m!'%(n
F%g#"! 5 C"e!'%(n &e l! +!$e &e &!)$ * !+l!$.
El p")'e$) &e '"e!'%(n &e !+l!$ &e &!)$ e$ ,á'%l emple!n&) el ge$)" ppm*!&m%n.
•
S!%!((+" /! %$& 3!("%)$& /! $43!"3+($(+" /! 4&4$#+&. E7%$en /!"%!$ e'n)l)g0!$ * $%$em!$ &e !#en%'!'%(n &e #$#!"%)$2 $%n em+!"g)2 l! p"e$ene p")p#e$! &e %n/e$%g!'%(n %mp#l$! el emple) &e e'n)l)g0! &e '(&%g) !+%e"). De e$! m!ne"! $e ! "e!l%1!&) #n! ')mp!"!'%(n en"e l!$ p"%n'%p!le$ pl!!,)"m!$ &e !"&!"e l%+"e 4#e pe"m%!n #n! "áp%&! %neg"!'%(n !l $e"/%&)" * m))" &e +!$e &e &!)$ emple!&). En"e l!$ p"%n'%p!le$ pl!!,)"m!$ &e !"&!"e l%+"e p!"! !&4#%$%'%(n &e %n,)"m!'%(n e$án5 A"%n)2 R!$p+e""* P% * G!l%le) &e Inel. En l)$ $%g#%ene$ pá""!,)$ $e p"e$en! %n,)"m!'%(n má$ &e!ll!&! $)+"e e$!$ pl!!,)"m!$. A#/4+". E$ #n! pl!!,)"m! &e '(&%g) !+%e") 4#e p)$ee #n !"&!"e * $),!"e ,le7%+le. El !"&!"e pe"m%e #n! "áp%&! e$'!l!+%l%&!& ! "!/3$ &e $#$ &%,e"ene$ m(l)$2 * $# en)"n) &e p")g"!m!'%(n e$ m#* ,le7%+le p!"! )pe"!" en l!$ &%,e"ene$ &%$"%+#'%)ne$ &e $%$em!$ )pe"!%/)$ ')m) $)n W%n&)$.2 MAC2 L%n#7.
pág. 6
A$%m%$m)2 A"%n)2 e$á +!$!&) en m%'")')n")l!&)"e$ ATMEGA * ATMEGA : &e ATMEL. P)" )"! p!"e2 l)$ &%!g"!m!$ &e l)$ &%,e"ene$ m(l)$ $e en'#en"!n p#+l%'!&)$ +!6) l%'en'%! C"e!%/e C)mm)n$2 en e$e $en%&)2 /!"%)$ &%$e9!&)"e$ ')n e7pe"%en'%! en '%"'#%)$ p#e&en el!+)"!" $# p")p%! /e"$%(n &el m(l). El en)"n) &e p")g"!m!'%(n &e A"%n) e$ ,á'%l &e #$!" p!"! p"%n'%p%!ne$ * $#,%'%enemene p"á'%'! p!"! #$#!"%)$ !/!n1!&)$. El leng#!6e $e p#e&e e7p!n&%" ! "!/3$ &e l%+"e"0!$ &e$!"")ll!&!$ en C882 +!$!&) en leng#!6e AR C ;=<. En l! ,%g#"! 2 $e m#e$"! el m)&el) A"%n) Un)2 el má$ p)p#l!" &e e$! pl!!,)"m!.
F+4#$ 6: A#/4+" UNO.
R$&'!##7 P+. E$ #n! #n%&!& &e '(mp#)2 p"á'%'!mene e$ #n m%n% ')mp#!&)" &e +!6) ')$) ')n #n !m!9) $%m%l!" !l &e #n! !"6e! &e '"3&%). E$ #n &%$p)$%%/) m#* p)p#l!" &e+%&) !l $)p)"e 4#e "e'%+e p)" l! ')m#n%&!& &e $),!"e l%+"e. A&emá$2 $#$ ,#n'%)n!l%&!&e$ $)n m#* !mpl%!$ *! 4#e le pe"m%en ')ne'!"$e ! /!"%)$ pe"%,3"%')$ ')m) e'l!&)$2 m)n%)"e$2 m)#$e2 &%$p)$%%/)$ &e !#&%). En l! !'#!l%&!& e7%$en /!"%)$ m)&el)$ &e e$! e'n)l)g0!2 en l! ,%g#"! 2 $e m#e$"! el m)&el) R!$p+e""* P% =2 4#e %ene l!$ '!p!'%&!&e$ &e #n )"&en!&)" &e e$'"%)"%). A$%m%$m)2 en e$! pl!'! ele'"(n%'! $e p#e&e %n$!l!" #n $%$em! )pe"!%/) L%n#7 4#e pe"m%%"á el &e$!"")ll) &e '!$% '#!l4#%e" !pl%'!'%(n. En $# %ne"%)" $e en'#en"! #n p")'e$!&)" ARM &e M1 &e '!p!'%&!& * #n! GPU '!p!1 &e &e')&%,%'!" /0&e) ! :p ;2<.
pág. 7
F+4#$ 8: R$&'!##7 P+ 2.
I"3!% G$%+%! E$ #n! pl!'! &e$!"")ll!&! p)" Inel ')n #n! !"4#%e'#"! ')mp!%+le ')n A"%n)2 %neg"!&) ')n #n p")'e$!&)" p")p%) &e Inel el S)C :. El !m!9) &e l! pl!'! e$ &e : 'm &e l)ng%#& p)" 'm &e !n')2 en $# %ne"%)" $e en'#en"!n %neg"!&)$ ')ne')"e$ USB2 6#mpe"$ UART2 #n ')ne')" Ee"ne2 !$0 !m+%3n2 el ')ne')" &e !l%men!'%(n ;<. El &%$e9) &e Inel ! "!/3$ &e e$! %nn)/!&)"! !"6e! ll!m!&! G!l%le) e$ )p%m%1!" el #$) &e A"%n) ')n #n $%$em! )pe"!%/) L%n#7. L) 4#e pe"m%%"á e7p!n&%" en g"!n m!ne"! $#$ ,#n'%)n!l%&!&e$2 n)"m!lmene A"%n) p#e&e ')ne'!"$e ')n /!"%)$ m(l)$ ! "!/3$ &e l!$ &%,e"ene$ l%+"e"0!$ ')m) Ee"ne2 W%,%2 EEPROM2 SPI2 W%"e. P)" )"! p!"e2 el $%$em! )pe"!%/) L%n#7 le pe"m%e #n! ')mp!%+%l%&!& m#* ele/!&! ')n !pl%'!'%)ne$ 4#e p#e&en $e" &e$!"")ll!&!$ en P*)n2 N)&e.6$2 SSH2 Telne ;<. En l! ,%g#"! 2 $e m#e$"! l! !"6e! Inel G!l%le).
F+4#$ 9: I"3!% G$%+%! G!" 2.
pág. 8
L!$ e'n)l)g0!$ !$)'%!&!$ !l !"&!"e l%+"e e/)l#'%)n!n ')n$!nemene2 en ,#n'%(n &e l!$ !pl%'!'%)ne$ ! &e$!"")ll!"$e $e &e+e"á )m!" en ')n$%&e"!'%(n !lg#n)$ !$pe')$ 4#e $e p"e$en!n en l! $%g#%ene !+l!5 T$%$ 1: T!("%+$& /! H$#/$#! L+#!
C!"!'e"0$%'!$ L)g)%p)
A"%n)
R!$p+e""* P%
Inel G!l%le)
P"e'%) P")'e$!&)"
J =K. Ameg! =
J . ARM ::
Cl)' Spee& Mem)"%! RAM Mem)"%! Fl!$ Mem)"%! EEPROM Al%men!'%(n C)n$#m)
: M1 = + = +-=+ : +
M1 = M+ SD C!"& N)
J K. #!" S)C : M1 = M+ G+ SD C!"& N)
-:= &' = mA 2 W
&' mA 2 W
P#e")$ D%g%!le$ P#e")$ PWM En"!&!$ An!l(g%'!$ USB P")g"!m!&)"
:- -: -:
: N) N%ng#n!
: En"!&! A"%n) IDE
2 Pe"%,3"%')$ S'"!'2 IDLE
SPI Ee"ne S!l%&! &e /%&e) S!l%&! &e !#&%)
: S%el& N) N)
: :Q: M+p$ HDMI HDMI2 An!l)g
&' : mA 2 W : :2 En"!&! A"%n) IDE2 E'l%p$e : :Q: M+p$ N) N)
pág. 9
En e$e $en%&)2 el #$#!"%) p)&"á eleg%" el e4#%p) 4#e má$ $e !&!pe ! $#$ ne'e$%&!&e$. P!"! l! p"e$ene p")p#e$! $e ! eleg%&) emple!" l! pl!!,)"m! A"%n)2 &e+%&) ! $#$ g"!n&e$ p"e$!'%)ne$ en el m!ne6) &e p#e")$ &%g%!le$ * !nál)g)$. A$%m%$m)2 #n p#n) ! ene" en ')n$%&e"!'%(n e$ 4#e el ')n")l * $#pe"/%$%(n e$!"á &e$!"")ll!&) en #n! pl!!,)"m! Cl)#& C)mp#%ng. De e$! m!ne"! en el ')n")l &e !#en%'!'%(n n) e$ ne'e$!"%) ene" #n m%n% ')mp#!&)" ')n $%$em! )pe"!%/). A$%m%$m)2 l! pl!!,)"m! A"%n) '#en! ')n /!"%)$ m)&el)$ &e !"6e!$ ele'"(n%'!$. En el &e$!"")ll) &e l! p")p#e$! $e emple!"á el m)&el) A"%n) Meg! =2 en ,#n'%(n &el nme") &e p#e")$ &%$p)n%+le$ p!"! l! ')m#n%'!'%(n ')n l)$ &%,e"ene$ &%$p)$%%/)$ p!"! el $%$em! &e !#en%'!'%(n * el "eg%$") en #n! +!$e &e &!)$ en l! pl!!,)"m! Cl)#& C)mp#%ng. •
I'%!!"3$(+" /! 4" &+&3!$ /! #!+&3# /! 4&4$#+& !" 4"$ $&! /! /$3&. El $%$em! &e "eg%$") &e #$#!"%)$ %neg"! #n! !"6e! ele'"(n%'! &e l! pl!!,)"m! A"%n) +!$!&! en el m%'")')n")l!&)" Ameg! =. A$%m%$m)2 e$! !"6e! $e &e+e ')m#n%'!" ')n l! +!$e &e &!)$ 4#e $e %mplemen( en l! pl!!,)"m! Cl)#& C)mp#%ng. L! e'n)l)g0! !$)'%!&! !l "eg%$") &e #$#!"%)$ e$ /!"%!&!2 en"e l!$ p"%n'%p!le$ $e en'#en"!n5 !#en%'!'%(n &e #$#!"%)$ ! "!/3$ &e !"6e!$ RFID2 ! "!/3$ &e #n le')" &e '(&%g) &e +!""!$ ) ')n "e')n)'%m%en) ,!'%!l. L!$ e'n)l)g0!$ &e !#en%'!'%(n &e #$#!"%)$ !$)'%!&!$ ! l)$ $%$em!$ &e le')"e$ &e '(&%g)$ &e +!""!$ ) $%$em!$ &e "e')n)'%m%en) ,!'%!l $)n $%$em!$ 4#e p")/een $# p")p%) $),!"e 4#e e$ &e #$) ')me"'%!l2 %mp%&%en&) $# !''e$) p!"! ,##"!$ m)&%,%'!'%)ne$ !l n) $e" #n $),!"e &e '(&%g) !+%e"). L)$ $%$em!$ &e !#en%'!'%(n p)" e'n)l)g0! RFID !l'!n1!n g"!n&e$ ,#n'%)n!l%&!&e$ en ,#n'%(n &e $# +!6) ')$) &e %mplemen!'%(n * $# )pe"!'%(n e$ m#* $en'%ll!. En e$e $en%&) e7%$en /!"%!$ e7pe"%en'%!$ 4#e $e !n &e$!"")ll!&) p!"! el ')n")l e %&en%,%'!'%(n &e pe"$)n!$ ) ')$!$ en &%,e"ene$ en)"n)$. De e$! m!ne"! en ;<2 $e &e$!"")ll( #n $%$em! &e 'en$!&) e %&en%,%'!'%(n %n!lám+"%') &e e4#%p!6e$ &e #n !e")p#e") en Pe"e%"!. En e$e n)/e&)$) $%$em! !p!"e &e l! e'n)l)g0! RFID2 $e %neg"! el e$án&!" &e ')m#n%'!'%)ne$ %g+ee2 pe"m%%en&) !$02 4#e el $%$em! p#e&! !&!p!"$e ! l!$ ne'e$%&!&e$ &el en)"n) &e "!+!6) * ! l!$ ne'e$%&!&e$ &el #$#!"%). P)" )"! p!"e2 en ;<2 $e p"e$en! #n $%$em! &e m)n%)"e) &e leg#m+"e$ e$pe'0,%'!mene le'#g!$. El $%$em! m)n%)"e! p"%n'%p!lmene l!$ ')n&%'%)ne$ &e empe"!#"! * #me&!& ! l!$ 4#e e$á e7p#e$) e$e p")') en el "!*e') %n/e"n!&e") ne/e"! $#pe"me"'!&). L! %mplemen!'%(n &e e$e $%$em! ! pe"m%%&) 4#e l!$ '!&en!$ &e $#pe"me"'!&)$ '#enen ')n #n %$)"%!l &e l! ,"e$'#"! &el p")') 4#e $e e7pen&e2 !$%m%$m)2 ')n")l!" l!$ ')n&%'%)ne$ &el en)"n) p!"! 4#e el p")') $e en'#en"e en (p%m!$ ')n&%'%)ne$. En el &e$!"")ll) &e l! p"e$ene p")p#e$! $e emple!"á l! e'n)l)g0! RFID p!"! el ')n")l &e !#en%'!'%(n &e #$#!"%)$ p)" $# g"!n p)p#l!"%&!& * $# ,á'%l * "áp%&! )pe"!'%(n. A&emá$2 e$ #n! e'n)l)g0! m#* ,le7%+le2 %neg"!n&) /!"%!$ e'n)l)g0!$ p!"! l! ')m#n%'!'%(n ')n &%,e"ene$ &%$p)$%%/)$ 4#e p#e&en $e" emple!)$ en /!"%!$ !pl%'!'%)ne$. pág. 10
El $%$em! &e "eg%$") &e #$#!"%)$ $e "e!l%1!"á %neg"!n&) #n le')" &e !"6e!$ RFID2 ')n")l!&) &e$&e #n! !"6e! &e l! pl!!,)"m! A"%n) ')ne'!&) ! l! +!$e &e &!)$ ! "!/3$ &el m(l) Ee"ne2 ,%g#"! K.
F+4#$ ;: D+&'&+3+5& <4! +"3!#$" !% &+&3!$ /! #!+&3# /! 4&4$#+&.
El $%$em! en %mplemen!'%(n pe"m%%"á 4#e l)$ #$#!"%)$ p#e&!n "eg%$"!"$e en ,)"m! &%"e'! !l p!$!" l! !"6e! p)" el le')" RFID. En pá""!,)$ !ne"%)"e$2 $e men'%)n( el emple) &e #n! !"6e! A"%n) Meg! = p)" $#$ ele/!&!$ p"e$!'%)ne$ !l m)men) &e "e!l%1!" l! ')m#n%'!'%(n en"e el le')" RFID * l! +!$e &e &!)$. De e$! m!ne"! $e "e!l%1!")n /!"%!$ p"#e+!$ p!"! )+ene" el "eg%$") &e l!$ !"6e!$ RFID en l! +!$e &e &!)$2 l)$ m%$m)$ 4#e $e &e!ll!n ! ')n%n#!'%(n. En p"%me"! %n$!n'%!2 $e !n!l%1( el %p) &e ')m#n%'!'%(n 4#e p)$ee el le')" RFID-RC ==. El m(l) #%l%1! . ')m) en$%(n &e !l%men!'%(n * e$ ')n")l!&) ! "!/3$ &el p"))')l) SPI p)" l) 4#e e$ ')mp!%+le ')n '!$% '#!l4#%e" m%'")')n")l!&)" A"%n). E$e '%"'#%) e$ #%l%1!&) p!"! ')m#n%'!'%)ne$ %n!lám+"%'!$ ! :. M1 p!"! e$'"%+%" ) lee" &!)$ &e !pl%'!'%)ne$ &e +!6) ')n$#m) &e ene"g0!2 +!6) ')$) * !m!9) "e'%&) ;K<. En l! !+l! =2 $e p"e$en! l! ')ne7%(n &el m(l) RFID-RC == ')n l)$ p%ne$ &e l! !"6e! A"%n).
pág. 11
T$%$ 2: C"!=+" /!% /4% RFID-RC>22 (" A#/4+" Módulo RFID-RC522
Arduino UNO
Arduino LONARDO
Arduino M!A 2560
"DA
Di#i$%l &in '10
Di#i$%l &in '10
Di#i$%l &in '53
"C(
Di#i$%l &in '13
IC"& &in ' 3
Di#i$%l &in '52
MO"I
Di#i$%l &in '11
IC"& &in ' 4
Di#i$%l &in '51
MI"O
Di#i$%l &in '12
IC"& &in ' 1
Di#i$%l &in '50
IR)
N*A
N*A
N*A
!ND
&o+,r !ND
&o+,r !ND
&o+,r !ND
R"
Di#i$%l &in '5
IC"& &in ' 5
Di#i$%l &in'5
3.3 /
&o+,r 3.3 /
&o+,r 3.3 /
&o+,r 3.3 /
De l! !+l! =2 $e p#e&e !p"e'%!" 4#e e7%$en /!"%!$ ,)"m!$ &e ')ne'!" el le')" RFIDRC== ')n l!$ &%,e"ene$ /e"$%)ne$ &e A"%n)2 e$) e$ p)" l)$ &%,e"ene$ m%'")p")'e$!&)"e$ 4#e %neg"!n e$!$ !"6e!$. L! ')""e'! le'#"! &e l)$ '(&%g) RFID $e "e!l%1! emple!n&) l!$ ')ne7%)ne$ !ne$ men'%)n!&!$. En e$e '!$) $e emple!n l!$ ')ne7%)ne$ &el A"%n) MEGA =2 en el !ne7) :2 $e p"e$en! el '(&%g) &e$!"")ll!&) p!"! l! le'#"!2 e$ ne'e$!"%) !'l!"!" 4#e el p%n RST e$á &e,%n%&) en el p%n K &el A"%n). E$e '!m+%) en l! ')ne7%(n $e"á &e!ll!&) má$ !&el!ne. Un! /e1 ')mp%l!&) * '!"g!&) el '(&%g) en el m%'")')n")l!&)"2 e$e p#e&e "e!l%1!" l! le'#"! &e l)$ &%,e"ene$ !g$ RFID2 ')mp")+!n&) !$0 4#e l! le'#"! e$ ')""e'! $e p#e&e p")'e&e" !l "eg%$") &e l)$ '(&%g)$ en l! +!$e &e &!)$. El "eg%$") &e l)$ '(&%g)$ RFID $e "e!l%1!"á emple!n&) el m(l) Ee"ne p")p%) &e A"%n)2 e$e m(l) %neg"! el '%p W%1ne : * #n ')ne')" R ;:<. E$e m(l) e$ !p%l!+le2 e$ &e'%" $e p#e&e ')l)'!" $)+"e el A"%n) $%n &%,%'#l!&e$2 !&emá$ p)$ee #n! "!n#"! p!"! #n! !"6e! &e mem)"%! SD2 ,%g#"! :.
pág. 12
F+4#$ 10: C"!=+" /!% /4% E3?!#"!3 S?+!%/ (" A#/4+" M!$ 2>60.
E$ ne'e$!"%) %n&%'!" 4#e el m(l) Ee"ne )'#p! el p%n p!"! l! ')m#n%'!'%(n ')n l! !"6e! SD. En e$e p")*e') n) $e #%l%1!"á #n! !"6e! &e mem)"%!2 pe"m%%en&) 4#e el p%n $e p#e&e #%l%1!" p!"! ')ne'!" )") &%$p)$%%/) 4#e $e men'%)n!"á má$ !&el!ne. En l! p")g"!m!'%(n &el m%'")')n")l!&)" A"%n) ')n el m(l) Ee"ne $e &e+e %n'l#%" l! l%+"e"0! Ee"ne. A$0m%$m)2 el #$#!"%) &e+e"á &e,%n%" l! &%"e''%(n IP &el $e"/%&)" &)n&e %ene %n$!l!&) l! +!$e &e &!)$2 &e+e"á &e,%n%" !&emá$ #n! &%"e''%(n IP p!"! 4#e el A"%n) p#e&! e$!+le'e" l! ')m#n%'!'%(n ')n el $e"/%&)". El m(l) Ee"ne &e A"%n) "!e m!"'!&! en $# p!"e p)$e"%)" l! &%"e''%(n MAC p")p%! &el m(l). En el !ne7) =2 $e p"e$en! el p")g"!m! 4#e pe"m%e el "eg%$") &e l)$ '(&%g)$ RFID en l! +!$e &e &!)$. El "eg%$") en l! +!$e &e &!)$ $e "e!l%1! emple!n&) el m3)&) GET 4#e pe"m%e el en/0) &e &!)$ ! "!/3$ &e Ine"ne. El m3)&) GET e$ emple!&) n)"m!lmene en el en/0) * "eg%$") &e ,)"m#l!"%)$. En el leng#!6e &e p")g"!m!'%(n &e A"%n)2 $e &e+e emple!" l! $enen'%!5 client.print("GET /registros/iot.php?codigo=") . En e$! l0ne!2 $e &e+e e$pe'%,%'!" l! "#! &e #n !"'%/).pp g#!"&!&) en el $e"/%&)" 4#e pe"m%e el "eg%$") en l! +!$e &e &!)$. En l! +!$e &e &!)$ $e &e+e ')n,%g#"!" #n! !+l! ')n '!mp)$ 4#e pe"m%!n %&en%,%'!" &e m!ne"! 'l!"! l! %n,)"m!'%(n "eg%$"!&! p)" p!"e &e l)$ !g$ RFID. L! $enen'%! #%l%1!&! p)" A"%n) p!"! el "eg%$") &e l)$ '(&%g)$ RFID en l! +!$e &e &!)$ pe"m%en %&en%,%'!" l! "#! 4#e &e+e $eg#%" l! %n,)"m!'%(n p!"! $# "eg%$"). En e$e $en%&)2 $e p#e&e )+$e"/!" #n! '!"pe! ll!m!&! "eg%$")$2 e$! '!"pe! e$á %n$!l!&! en el $e"/%&)" &)n&e !&emá$2 $e en'#en"!n &)$ !"'%/)$2 -')n,%g.pp2 %).pp- ne'e$!"%)$ p!"! %n$e"!" l! %n,)"m!'%(n en l! +!$e &e &!)$ ;::<. El !"'%/) ')n,%g.pp2 pe"m%e e$!+le'e" l! ')ne7%(n ')n l! +!$e &e &!)$. E$ &e'%" en e$e !"'%/)2 $e &e+e"á %n$e"!" l! "#! &el )$ en '!$) &e "!!"$e &e #n! +!$e &e &!)$ e7e"n!2 el n)m+"e &el #$#!"%) 4#e $e ')n,%g#"( !l m)men) &e %n$!l!" ppm*!&m%n2 !$%m%$m)2 l! ')n"!$e9! 4#e ,#e e$!+le'%&! en ppm*!&m%n2 * el n)m+"e &e l! +!$e &e &!)$ 4#e ')n%ene ! l!$ !+l!$ &e "eg%$")2 Ane7) . pág. 13
El !"'%/) %).pp pe"m%e $#+%" l! %n,)"m!'%(n !l $e"/%&)"2 ')n l! p")g"!m!'%(n &e A"%n) ! "!/3$ &el m3)&) GET2 Ane7) . El m%'")')n")l!&)" A"%n) en/0! l! %n,)"m!'%(n ')n el m3)&) GET2 emple!n&) l! p")g"!m!'%(n PHP 4#e ')ne'! el m%'")')n")l!&)" ')n l! +!$e &e &!)$ &el $e"/%&)" ! "!/3$ &el p#e") . Un! /e1 4#e $e ! "e!l%1!&) l! ')""e'! p")g"!m!'%(n &e l)$ !"'%/)$ .pp * &el m%'")')n")l!&)" A"%n)2 el "eg%$") &e+e"0! "e!l%1!"$e ')n n)"m!l%&!&. •
P##$$(+" /! +"/+($/#!& $&(+$/ $ %$ $43!"3+($(+" /! 4&4$#+&. C)n el "eg%$") ,#n'%)n!n&) ')n n)"m!l%&!& e$ ne'e$!"%) p")g"!m!" %n&%'!&)"e$ 4#e pe"m%!n !l #$#!"%) %&en%,%'!" el ')""e') "eg%$"). L)$ %n&%'!&)"e$ 4#e $e !n p")g"!m!&) $)n &)$ &%)&)$ le& &e ')l)"e$ ")6) * /e"&e 4#e le pe"m%%"án !l #$#!"%) ')n)'e" $% $# "eg%$") $e "e!l%1( ')""e'!mene. A&emá$2 p!"! #n! m!*)" "e,e"en'%! $e ! ')n,%g#"!&) #n! p!n!ll! L'& &e :7= en l! 4#e $e &e$pleg!"á el n)m+"e &el #$#!"%) en '!$) &e e$!" "eg%$"!&) en l! +!$e &e &!)$2 ,%g#"! ::.
F+4#$ 11: P$"3$%%$ LCD 16=2 ('$3+%! (" A#/4+".
En l! !+l! 2 $e p"e$en! l!$ ')ne7%)ne$ &e l)$ &%,e"ene$ %n&%'!&)"e$ ')n l)$ p%ne$ &el m%'")')n")l!&)" A"%n) MEGA =. T$%$ : E&'!(+*+($(+" /! %& '+"!& /! ("!=+" (" A#/4+" MEGA 2>60
A#/4+" MEGA 2>60
L!(3# RFID-RC>22
P$"3$%%$ LCD 16=2
P)e" .
P)e" .
-
P)e"
-
P%n = &&
P)e" GND
P)e" GND
P%n : $$
D%g%!l P%n
SDA
-
D%g%!l P%n =
SCV
-
D%g%!l P%n :
MOSI
pág. 14
D%g%!l P%n
MISO
-
N) ')ne'!"
IR
-
D%g%!l P%n K
RST
-
D%g%!l P%n =
-
P%n RS
D%g%!l P%n
-
P%n En!+le
D%g%!l P%n
-
P%n :: D+
D%g%!l P%n
-
P%n := D+
D%g%!l P%n
-
P%n : D+
D%g%!l P%n
-
P%n : D+
L)$ LED$ %n&%'!&)"e$ &e ')l)" /e"&e * ")6) $e ')ne'!n ! l)$ p%ne$ * : &el m%'")')n")l!&)" A"%n) "e$pe'%/!mene. De l! !+l! 2 $e p#e&e n)!" 4#e $e ! #%l%1!&) l)$ p%ne$ :- &el m%'")')n")l!&)" A"%n) MEGA = p!"! ')ne'!" l)$ p%ne$ &e l)$ +%$ má$ $%gn%,%'!%/)$ &e l! p!n!ll! LCD. A$%m%$m)2 en l! p")g"!m!'%(n &e A"%n) $e &e+e %n'l#%" l! l%+"e"0! LCD p")p%! &el leng#!6e &e p")g"!m!'%(n &e A"%n). L! l%+"e"0! Ee"ne &e A"%n) pe"m%e l! e$'"%#"! * le'#"! !l m%$m) %emp) &e l! %n,)"m!'%(n 4#e $e "eg%$"! en l! +!$e &e &!)$ * !$0 p)&e" e7"!e" l! "e$p#e$! &el "eg%$") "e!l%1!&) en ,)"m! ')""e'!. En e$e $en%&)2 l! p")g"!m!'%(n en el !"'%/) %).pp pe"m%e l! /e"%,%'!'%(n &e l)$ #$#!"%)$ en ,#n'%(n &el "eg%$") e$!+le'%&) en l! +!$e &e &!)$. P!"! ell) $e ! emple!&) l! $enen'%!5 $query2= "SELET cod!rid# no%re &' control *+E'E cod!rid = ,$codigo,"-
L! l0ne! %n&%'! #n! pe%'%(n ! l! +!$e &e &!)$ en ,#n'%(n &el '!mp) ')&?",%& '"e!&) en l! +!$e &e &!)$. En l! pe%'%(n2 !m+%3n $e "e!l%1! #n! ')mp!"!'%(n ')n l! /!"%!+le J?')&%g) 4#e e$ el '(&%g) ",%& 4#e ! le0&) el m%'")')n")l!&)" A"%n). De e$! m!ne"!2 $e "e!l%1! l! /e"%,%'!'%(n * el ')""e') "eg%$") &e l)$ #$#!"%)$. A$%m%$m)2 el !"'%/) %).pp2 e$á p")g"!m!&) p!"! en/%!" #n! "e$p#e$! !l m%'")')n")l!&)" A"%n) en ,)"m! &%"e'! 4#e pe"m%%"á &e$pleg!" el n)m+"e &el #$#!"%) en l! p!n!ll! LCD. L! l0ne! &e p")g"!m!'%(n e$ $en'%ll!2 e$ #n! "e$p#e$! 4#e $e "e!l%1! en leng#!6e pp ')n l! l0ne!5 echo"lor=" .$ro013. "-"-
L! l0ne! !ne"%)" e$ #n! "e$p#e$! en '(&%g) pp2 e$ &e'%"2 m#e$"! l! %n,)"m!'%(n ')nen%&! en l! /!"%!+le J"). En e$e $en%&)2 $e &e+e ')n$%&e"!" l! e$"#'#"! &e l! /!"%!+le J") !l m)men) &e e$!+le'e" l! "e$p#e$! ')n l! ,#n'%(n e'). pág. 15
P)" )"! p!"e2 l! p")g"!m!'%(n en A"%n) !p")/e'! l! ,#n'%(n .leng 4#e pe"m%e '"e!" #n! /!"%!+le 4#e $)p)"! l! '!&en! &e '!"!'e"e$ &e l)$ n)m+"e$ "eg%$"!&)$ en l! +!$e &e &!)$. E$! /!"%!+le e$ &el %p) /e')" * 4#e ! "!/3$ &e l! ,#n'%(n l'&.p"%n p")p%! &e A"%n). A&emá$2 ')n l! ,#n'%(n l'&.$eC#"$)"2 $e p#e&e eleg%" l! ,%l! * l! ')l#mn! en l! 4#e !p!"e'en l)$ '!"!'e"e$ &e l! p!n!ll! l'&. En l! ,%g#"! :=2 $e p"e$en! el n)m+"e &e #n #$#!"%) "eg%$"!&) en ,)"m! ')""e'! * 4#e $e &e$pl%eg! ! "!/3$ &e l! p")g"!m!'%(n &e A"%n). En el Ane7) 2 $e p"e$en! el '(&%g) ,%n!l &el $%$em! &e "eg%$") * !#en%'!'%(n &e #$#!"%)$2 !&emá$ $e %n&%'! l!$ l0ne!$ emple!&!$ p!"! el &e$pl%eg#e &el '(&%g) &e "eg"e$) &e l! +!$e &e &!)$.
F+4#$ 12: V+&4$%+@$(+" /!% (/+ /! #!#!& !" '$"3$%%$ %(/ (" A#/4+".
C"(%4&+"!& 7 R!(!"/$(+"!& C"(%4&+"!&: •
•
•
•
El "eg%$") * !#en%'!'%(n &e #$#!"%)$ %neg"!&) en l! pl!!,)"m! Cl)#& C)mp#%ng pe"m%e #n! m!*)" !&m%n%$"!'%(n &e %n,)"m!'%(n ')n g"!n&e$ p"e$!'%)ne$. L! %mplemen!'%(n &e #n $e"/%&)" +!$!&) en el $%$em! )pe"!%/) L%n#7 %n'"emen! en g"!n m!ne"! l!$ ,#n'%)n!l%&!&e$ &el $%$em! &e !#en%'!'%(n &e #$#!"%)$2 pe"m%%en&) #n! "áp%&! %neg"!'%(n ')n n#e/!$ e'n)l)g0!$ &e ')m#n%'!'%(n. El emple) &e !"&!"e * $),!"e l%+"e pe"m%e #n! "áp%&! e$'!l!+%l%&!& &el $%$em! pe"m%%en&) #n ,á'%l %neg"!'%(n ')n &%,e"ene$ &%$p)$%%/)$. L! ')m#n%'!'%(n en"e el $%$em! &e le'#"! * l! +!$e &e &!)$ $e "e!l%1! en ,#n'%(n &e l! p")g"!m!'%(n en leng#!6e pp.
pág. 16
R!(!"/$(+"!&: •
• •
U%l%1!" l!$ l%+"e"0!$ p")p%!$ &e A"%n) en l! p")g"!m!'%(n &e l)$ &%,e"ene$ &%$p)$%%/)$. Emple!" ')ne')"e$ &e !l! '!l%&!& p!"! l)$ &%$p)$%%/)$ * m(l)$ &e A"%n). Re/%$!" !&e'#!&!mene l)$ p"))')l)$ &e ')m#n%'!'%(n en"e l)$ m(l)$ &e A"%n) * l)$ &%,e"ene$ &%$p)$%%/)$ 4#e $e %neg"!n !l $%$em! &e !#en%'!'%(n.
R!*!#!"(+$& +%+#*+($& ;:< D"#p!l !l S#"2 >C)m) %n$!l!" #n $e"/%&)" LAMP en U+#n# :.@ D%$p)n%+le en p5QQ&"#p!l!l$#".)"gQ!p#ne$Q')m)-%n$!l!"-#n-$e"/%&)"-l!mp-en-#+#n#-:. ;=< He""!&)" En"04#e1 R!,!el. >G#0! &e #$#!"%) &e A"%n)@. I.T.I S%$em!$2 Un%/e"$%&!& &e C("&)+!. C"e!%/e C)mm)n$ A"%+#%)n-N)n')mme"'%!l-S!"e Al%e .2 : &e n)/%em+"e =K. ;< W! #$ ! R!$p+e""* P%X =:=2 O'#+"e IEEE Onl%ne. D%$p)n%+le en5 p5QQe.%eee.)"gQ"egQQne$Q!"%'le$Q$epQl%e"!'*?e$.ml ;< R!$p+e""* P%. =:= Onl%ne. D%$p)n%+le en5 p5QQ."!$p+e""*$)p.e$Q;< Inel C)"p)"!%)n. Inel G!l%le) B)!"& U$e" G#%&e. O"&e" N#m+e" = : US. M!"' =: ;< Inel C)"p)"!%)n. Inel G!l%le) D!!$ee. Inel C)"p)"!%)n =:. ;< eg! %ll!,#e"e !%me2 D%$e9) &e #n $%$em! p!"! el $en$!&) e %&en%,%'!'%(n %nlám+"%'! &e e4#%p!6e$ p!"! #n !e")p#e"). Un%/e"$%&!& Te'n)l(g%'! &e Pe"e%"!. =: ;< G(me1 A""!1 M.2 D%e1m! B. C)""e! E. C.2 H%n)6)$! A.2 B!""e%") P.2 * E$'!l)n! . Reg%$") * !nál%$%$ &e empe"!#"!$5 p")')$ I g!m! &el '!mp) ! l! me$!. Un%/e"$%&!& &e C%le2 Cen") &e e$#&%)$ P)$')$e'!. III C)ng"e$) I+3"%') &e Ag")%ngen%e"0! :- #n%) =:. ;K< ELECTRONILAB2 Ingen%e"0! * D%$e9) Ele'"(n%'). M(l) RFID RC==-:.M1. Onl%ne2 &%$p)n%+le en5 p5QQele'")n%l!+.')Q%en&!Qm)l)-",%&-"'==-:-m1-"'==$-m%,!"e-)neQ ;:< A"%n)2 A"%n) Ee"ne S%el&2 O/e"/%e. Onl%ne2 &%$p)n%+le en 5 p$5QQ.!"%n).''QenQM!%nQA"%n)Ee"neS%el ;::< P3"e$ M!"%). Gee* Te)"*2 Ine"ne &e l!$ C)$!$ ;p!"e =< S#+%" l)$ &!)$ ! #n! +!$e &e &!)$. Onl%ne &%$p)n%+le en5 p$5QQgee*e)"*.')mQ%ne"ne-&e-l!$-')$!$-p!"e-=$#+%"-l)$-&!)$-!-#n!-+!$e-&e-&!)$Q
pág. 17
ANEOS A"!= 1: C/+ /! %!(34#$ /!% M/4% RFID-RC>22. #include #include #defne SS_PIN 53 //cambiamos el pin del ! al " paa $ene la comunicacion con el e$hene$ shield %e$hene$ shield ocupa el pin ! & '( )n el *e+a se cambia al pin 53 #defne RS,_PIN - in$ led 0 in$ led1 30 RFID fd%SS_PIN2 RS,_PIN(0 in$ numeo_seie540 // aui +uadaemos el n6meo ue nues$o senso RFID de$ec$a7 //888888888888888888888888888888888888888888888889aiables2 includes2:unciones2 e$c8888888888888888888888888888888888888888888888888 9oid se$up%( ; Seial.be+in%-!!(0 SPI.be+in%(0 fd.ini$%(0 pin*ode%2 =,P,(0 pin*ode%32 =,P,(0 ? 9oid loop%( ; lee_usuaio%(0 ? 9oid lee_usuaio%( ; i: %fd.is@ad%(( ; i: %fd.ead@adSeial%(( ; Seial.pin$%ANumeo usuaioB A(0 // +uadamos el numeo del usuaio :o%in$ i!0 i<' 0 iCC( ; numeo_seiei4 fd.seNumi40 ?
pág. 18
:o%in$ i!0 i<' 0 iCC( // & lo impimimos ;
Seial.pin$%numeo_seiei4(0 Seial.pin$%A A(0 ? di+i$ali$e%led2 E=(0 di+i$ali$e%led12 IG(0 Seial.pin$ln%A A(0 // espacio paa el si+uien$e cHdi+o dela&%1!!!(0 // paa ue no se impima cons$an$emen$e el mismo numeo ? ?
fd.hal$%(0 di+i$ali$e%led12 E=(0 di+i$ali$e%led2 IG(0 ?
pág. 19
A"!= 2: C/+ /! A#/4+" '$#$ !% #!+&3# /! (/+& RFID !" %$ $&! /! /$3&.
#include <)$hene$.h> #include #include #defne SS_PIN - //cambiamos el pin del ! al " paa $ene la comunicacion con el e$hene$ shiel %e$hene$ shield ocupa los pines ! & '( #defne RS,_PIN RFID fd%SS_PIN2 RS,_PIN(0 in$ numeo_seie540//aui se +uada el numeo ue nues$o senso RFID De$ec$aa in$ led 30 //led indicado de colo 9ede in$ led1 0 // led indicado de colo oo // @onf+uacion del )$hene$ Shield b&$e mac4 ;!J-!2 !JK12 !JDK2 !J!D2 !JKL2 !J!'?0 // Dieccion *K@ b&$e ip4 ; "12121321! ?0 // Dieccion IP del Kduino b&$e se9e4 ; "121213251 ?0 // Dieccion IP del se9ido )$hene$@lien$ clien$0 //Moa$ $empea$ua11.50 9oid se$up%( ; Seial.be+in%-!!(0 SPI.be+in%(0 fd.ini$%(0 )$hene$.be+in%mac2 ip(0 // Inicialiamos el )$hene$ Shield dela&%!!!(0 // )speamos se+undo de co$esia ? 9oid loop%( ; //llamamos la :uncion lee usuaio
i: %fd.is@ad%(( ; i: %fd.ead@adSeial%(( ; Seial.pin$%ANumeo usuaioB A(0 // +uadamos el numeo del usuaio :o%in$ i!0 i<' 0 iCC( ; numeo_seiei4 fd.seNumi40
pág. 20
?
:o%in$ i!0 i<' 0 iCC( // & lo impimimos ;
Seial.pin$%numeo_seiei4(0 Seial.pin$%A A(0 ?
Seial.pin$ln%A A(0 // espacio paa el si+uien$e cHdi+o di+i$ali$e%led2 IG(0 //enciende el led 9ede poue le&o el fd di+i$ali$e%led12 E=(0 //apa+a el led oo po la lec$ua del fd dela&%5!!(0 // paa ue no se impima cons$an$emen$e el mismo numeo
Seial.pin$ln%A@onnecOn+...A(0 i: %clien$.connec$%se9e2 !(>!( // @oneJion con el se9ido ; clien$.pin$%AG), /e+is$os/io$.phpcodi+oA(0 // )n9iamos los da$os po G), :o%in$ i!0 i<' 0 iCC( // & lo impimimos ;
clien$.pin$%numeo_seiei4(0 ? clien$.pin$ln%A ,,P/.!A(0 clien$.pin$ln%Ase8K+en$B Kduino .!A(0
clien$.pin$ln%(0
Seial.pin$ln%A@onec$adoA(0 ? else ; Seial.pin$ln%AFallo en la coneJionA(0 ? i: %Qclien$.connec$ed%(( ;
Seial.pin$ln%ADisconnec$edQA(0 ?
clien$.s$op%(0
clien$.Mush%(0 dela&%1!!!(0 // )speo 5 se+ an$es de $oma o$a mues$a Seial.pin$%A A(0
pág. 21
? ?
fd.hal$%(0 di+i$ali$e%led12 IG(0 //enciende el led oo J no ha& lec$ua di+i$ali$e%led2 E=(0 //apa+a el led 9ede J no ha& lec$ua
?
pág. 22
A"!= : C/+ /!% $#(?+5 ("*+.'?' '$#$ %$ ("!=+" /! %$ $&! /! /$3&.
<php
dbhos$Alocalhos$A0
dbuseAoo$A0
dbpassAead5A0
dbnameASensoesA0
conm&sli_connec$%dbhos$2 dbuse2 dbpass2 dbname(0
>
pág. 23
A"!= : C/+ /!% $#(?+5 +3.'?' '$#$ !% !"5) /! /$3& (" A#/4+" '# !% 3/ GET. <php euie%Aconf+.phpA(0 //llama al achi9o conf+ .php codi+om&sli_eal_escape_s$in+%con2 _G),;Tcodi+oT?(0 ue&1 AS)E)@, cod_fd2 nombe FR=* con$ol )R) cod_fd Tcodi+oTA0 esul$ m&sli_ue&%con2 ue&1(0 om&sli_:e$ch_aa&%esul$2*USVE_L=,(0//+uada los e+is$os de la consul$a ealiada i:%o(; ue&AINS)R, IN,= e+is$o%codi+o( WKE)S %Tcodi+oT(A0 echoA9aloA .o4. A0A0 m&sli_ue&%con2 ue&(0 m&sli_close%con(0 ?else; eoAeoA0 echo A9aloA.eo.A0A0 ? >
pág. 24
A"!= : C/+ A#/4+" /! #!+&3# 7 $43!"3+($(+" /! 4&4$#+& (" +"/+($/# LCD 16=2. #include #include <ie.h> #include #include <)$hene$.h> #include #defne SS_PIN 53 //cambiamos el pin del ! al " paa $ene la comunicacion con el e$hene$ shiel %e$hene$ shield ocupa los pines ! & '( #defne RS,_PIN - Eiuid@&s$al lcd%1232'2522"(0 RFID fd%SS_PIN2 RS,_PIN(0 in$ numeo_seie540//aui se +uada el numeo ue nues$o senso RFID De$ec$aa in$ led 30 //led indicado de colo 9ede in$ led1 0 // led indicado de colo oo // @onf+uacion del )$hene$ Shield b&$e mac4 ;!J-!2 !JK12 !JDK2 !J!D2 !JKL2 !J!'?0 // Dieccion *K@ b&$e ip4 ; "12121321! ?0 // Dieccion IP del Kduino b&$e se9e4 ; "121213251 ?0 // Dieccion IP del se9ido )$hene$@lien$ clien$0 //Waiables ue necei$a paa :unciona S$in+ codi+o0
//KuX se almacena la espues$a del se9ido
S$in+ nombe0
//KuX se almacena el nombe ue ecupeamos de *&SVE
boolean fn :alse0 boolean pe+un$a $ue0 9oid se$up%( ; pin*ode%led2 =,P,(0 pin*ode%led12 =,P,(0 lcd.be+in%21(0 Seial.be+in%-!!(0 SPI.be+in%(0 fd.ini$%(0 )$hene$.be+in%mac2 ip(0 // Inicialiamos el )$hene$ Shield dela&%!!!(0 // )speamos se+undo de co$esia ? 9oid loop%( ; //@ompobamos si $enemos da$os en el pue$o seie
pág. 25
i: %fd.is@ad%(( ; i: %fd.ead@adSeial%(( ; Seial.pin$%ANumeo usuaioB A(0 // +uadamos el numeo del usuaio :o%in$ i!0 i<' 0 iCC( ; numeo_seiei4 fd.seNumi40 ? :o%in$ i!0 i<' 0 iCC( // & lo impimimos ;
Seial.pin$%numeo_seiei4(0 Seial.pin$%A A(0
//lcd.pin$%numeo_seiei4(0 //lcd.pin$%A A(0 ? Seial.pin$ln%A A(0 // espacio paa el si+uien$e cHdi+o di+i$ali$e%led2 IG(0 //enciende el led 9ede poue le&o el fd di+i$ali$e%led12 E=(0 //apa+a el led oo po la lec$ua del fd dela&%5!!(0 // paa ue no se impima cons$an$emen$e el mismo numeo
Seial.pin$ln%A@onnecOn+...A(0 // @ompoba si ha& coneJiHn
hYpReues$%(0 ? ?
? // @on es$a :unciHn hacemos la conecion con el se9ido in$ hYpReues$%( ; i: %clien$.connec$%se9e2 !(( ; Seial.pin$ln%A@onec$adoA(0 // )n9ia la peOciHn ,,P //DiecciHn del achi9o php den$o del se9ido clien$.pin$%AG), /e+is$os/io$.phpcodi+oA(0 :o%in$ i!0 i<' 0 iCC( // & lo impimimos ;
pág. 26
clien$.pin$%numeo_seiei4(0 ? clien$.pin$ln%A ,,P/.!A(0 clien$.pin$ln%Ase8K+en$B Kduino .!A(0
clien$.pin$ln%(0 Seial.pin$ln%A@oneccion ceadaA(0 ?
else ; // Si no conse+uimos conec$anos Seial.pin$ln%A@oneJiHn :allidaA(0
Seial.pin$ln%ADesconec$andoA(0
clien$.s$op%(0 ?
dela&%5!!(0 //@ompobamos si $enemos espues$a del se9ido & la //almacenamos en el s$in+ 8888> codi+o.
//lcd.clea%(0
fd.hal$%(0 di+i$ali$e%led12 E=(0 //enciende el led oo J no ha& lec$ua di+i$ali$e%led2 E=(0 //apa+a el led 9ede J no ha& lec$ua hile %clien$.a9ailable%(( ; cha c clien$.ead%(0 codi+o C c0 //abili$amos la compobaciHn del cHdi+o ecibido fn $ue0 ? //Si es$7 habili$ada la compobaciHn del cHdi+o en$amos en el IF i: %fn( ; // Seial.pin$ln%codi+o(0 //Knaliamos la lon+i$ud del cHdi+o ecibido in$ lon+i$ud codi+o.len+$h%(0 //Luscamos en ue posiciHn del s$in+ se encuen$a nues$a 9aiable in$ posicion codi+o.indeJ=:%A9aloA(0 //Loamos lo ue ha&a almacenado en el s$in+ nombe
pág. 27
nombe AA0 //Knaliamos el cHdi+o ob$enido & almacenamos el nombe en el s$in+ nombe :o %in$ i posicion C 0 i < lon+i$ud0 i CC( ; i: %codi+oi4 T0T( i lon+i$ud0 else nombe C codi+oi40 ? //Deshabili$amos el an7lisis del cHdi+o fn :alse0 //Impimi el nombe ob$enido Seial.pin$ln%ALien9enidoB A C nombe(0
lcd.pin$%ALI)NW)NID=A(0
lcd.se$@uso%!2(0
lcd.pin$%nombe(0 //@ea coneJiHn
Seial.pin$ln%ADesconec$anA(0
clien$.s$op%(0 ? i: %nombe.len+$h%(> 5 ( ;
dela&%1!!(0 di+i$ali$e%led12 IG(0
dela&%1!!(0 di+i$ali$e%led12 E=(0 ?
dela&%1!!!(0 lcd.clea%(0 //else nombe C codi+oi40
//Loa cHdi+o & sali de la :unciHn//DiecciHn IP del se9ido
codi+oAA0 //e$un 0
?
pág. 28