Aplicació Per Gestionar Codis De Barres Bidimensionals Del Tipus QR Code Utilitzant Un Telèfon Mòbil
Total Page:16
File Type:pdf, Size:1020Kb
TFC Aplicació per gestionar codis de barres bidimensionals del tipus QR Code utilitzant un telèfon mòbil - MEMÒRIA - Nom: Carles Cruz Camprubí Titulació: E. T. Industrial Especialitat: Electrònica Nº Registre: 1974 Convocatòria: Juny del 2010 INDEX 1. Definició i Objectius del Projecte ...................................................................... 6 2. Breu evolució històrica dels codis de barres .................................................... 7 3. Que és un codi de barres .................................................................................. 9 3.1 Codis de barres unidimensionals (1D) ........................................................ 9 3.2 Codis de barres bidimensionals (2D) ........................................................ 10 3.2.1 Simbologia tipus “stacked” ............................................................... 11 3.2.2 Simbologia tipus Matriu .................................................................... 12 3.3 Taula comparativa de codis 2D que es fan servir més ............................. 13 3.4 Un mal exemple a seguir: el codi BIDI ...................................................... 13 4. Eines per programar un mòbil amb sistema operatiu propietari ................. 14 4.1 Java 2 Platform, Micro Edition (J2ME) ..................................................... 14 4.2 Entorn d’execució de Java 2 Micro Edition .............................................. 15 4.2.1 KVM (Màquina Virtual) ..................................................................... 15 4.2.2 Configuracions ................................................................................... 16 4.2.3 Perfils ................................................................................................. 16 5. Funcionamentd’una aplicació (MIDlet) en J2ME ........................................... 18 5.1 Software encarregat d’executar les aplicacions (MIDlets) ....................... 18 5.1.1 Cicle de vida d’un MIDlet .................................................................. 18 5.2 Estats d’un MIDlet en fase d’Execució ..................................................... 19 5.3 Descarregar i Instal∙lar un MIDlet ............................................................. 20 5.3.1 Requeriments Funcionals .................................................................. 20 5.3.2 Localització de l’aplicació .................................................................. 20 5.3.3 Instal∙lació de l’aplicació ................................................................... 21 5.3.4 Actualització de MIDlets ................................................................... 21 5.3.5 Execució de MIDlets .......................................................................... 21 5.3.6 Eliminació de MIDlets ........................................................................ 21 2 6. Sistema operatiu dels telèfons Nokia de gama baixa(Series 40) .................. 22 6.1.1 Arquitectura del sistema operatiu Series 40 ..................................... 22 6.1.2 Elements de programació que suporta el sistema operatiu ............. 23 6.1.3 Llista de mòbils que tenen aquest sistema operatiu ........................ 24 7. Característiques del mòbil utilitzat en el projecte ......................................... 26 8. Aplicacions utilitzades per programar el mòbil ............................................. 28 8.1 Sun Java Wireless Toolkit for CLDC .......................................................... 28 8.2 Series 40 6th Edition SDK.......................................................................... 29 8.3 Mobile Processing..................................................................................... 30 9. QRCode ............................................................................................................ 31 9.1 Característiques ........................................................................................ 31 9.1.1 Disposició de la informació ............................................................... 31 9.1.2 Gran capacitat de codificar dades ..................................................... 32 9.1.3 És resistent a la pols i a danys parcials (té detector d’errors) .......... 32 9.1.4 Es pot escanejar des de qualsevol posició (360°) ............................. 33 9.1.5 Descomposició amb símbols més petits ........................................... 33 9.1.6 Versió del símbol ............................................................................... 33 9.1.7 Correcció d’errors .............................................................................. 34 9.1.8 Característiques de la correcció d’errors .......................................... 34 9.2 Utilitats del QR‐Code ................................................................................ 35 10. Aplicació realitzada ......................................................................................... 38 10.1 Explicació de l’aplicació ............................................................................ 38 10.2 Esquema de l’aplicació ............................................................................. 38 10.3 Programa principal que captura la imatge i la descodifica ...................... 39 10.3.1 Explicació de les funcions i el Codi .................................................... 42 10.4 Codi del QR‐Code ...................................................................................... 43 3 11. Procediment per descodificar un QR‐Code .................................................... 46 11.1 Descodificar la informació del Format ..................................................... 46 11.2 Descodificar la informació de la versió del QR‐Code ............................... 47 11.3 Patró de la màscara .................................................................................. 48 11.3.1 Generació del patró de la màscara ................................................... 48 12. Algorisme per descodificar el QR‐Code .......................................................... 50 12.1 Passos a seguir per la descodificació ........................................................ 50 12.1.1 Indicador de Mode ............................................................................ 52 12.1.2 Número de bits en el Character Count Indicator .............................. 53 12.1.3 Codificació en mode alfanumèric (Mode 2) ...................................... 53 12.2 Diagrama de la descodificació .................................................................. 54 12.3 Funcionament de la Classe QRCode ( ) ..................................................... 55 13. Programa per enviar un SMS a través del mòbil ............................................ 66 14. Possibles ampliacions del Projecte ................................................................. 68 15. Conclusions ...................................................................................................... 68 16. Bibliografia ...................................................................................................... 69 17. Annex ............................................................................................................... 70 17.1 Capacitat d’emmagatzemar dades de les diferents versions ................... 70 17.2 Capacitat de correcció d’errors de les diferentes versions ...................... 74 17.3 Polinomis correctors d’errors ................................................................... 83 4 www.epsem.upc.edu 5 1. Definició i Objectius del Projecte L’objectiu d’aquest treball es crear una aplicació per a telèfons mòbils que ens permeti llegir un codi de barres de dues dimensions del tipus QR‐Code, l’escanejat serà simplement fer una foto amb la càmera del mòbil, i en el moment en que es processi la informació podrem saber el contingut del text, ja que aquests codis poden emmagatzemar texts sencers en el mateix símbol. Un cop tenim la informació al mòbil, podem tractar‐la de diferents maneres segons la especificació que tingui o del tipus que sigui, per exemple pot ser un text amb una direcció de correu o numero de telèfon i el podrem enviar via WAP(1), SMS(2)o Bluetooth(3) través del mòbil. Com també el codi pot contenir una direcció web a on hi podrem anar‐hi directament, o simplement contenir un numero de telèfon per trucar‐ hi. (1) WAP(Wireless Application Protocol, protocol d’aplicació sense fils), internet pel mòbil. (2) SMS (Short Message System, sistemes curts de missatges), són els missatges de text. (3) Bluetooth, aquest sistema ens permet la creació de xarxes amb un ample de banda molt gran, per distàncies de fins a 100 metres. Una altra utilitat és queel QR‐Code formi part d’una targeta de visita o presentació, en que prenent una foto d’aquest podem obtenir les dades complertes de la persona dins del mòbil, sense tenir que entrar manualment la informació. La següent memòria s’estructura en diferents parts, primer s’explica com funciona un codi de barres de 2 dimensions QR‐Code i els avantatges d’aquest respecte els altres codis 2D, com també els avantatges sobre els codis convencionals de 1 dimensió, també s’explica el procés que es segueix per descodificar un codi d’aquest tipus. La següent part és com capturar la imatge amb la càmera del telèfon,aquí ha d’interactuar el software amb el hardware d’aquest,i s’utilitzen criteris estandarditzats com la configuració CLDC i el perfil MIDP. Un cop capturada la imatge del codi aquest serà descodificat, abans d’això s’explicaran les característiques d’aquests