3. 01 | Introducción
Introducció
Módulo multiformato de códigos de barras y códigos 2D
¿Qué son códigos 2D?
3
4. 01 | Introducción
Introducció
¿Para qué se pueden utilizar en PIRAmIDE?
Es un sensor más
› Etiquetas dónde estás
› Etiquetas cuándo caduca la carne que acabas de sacar del frigorífico
› Etiquetas un evento
› Etiquetas un identificador de un producto con el que interactuar
Ofrece información que cada aplicación de PIRAmIDE pueden
consumir
› Algunos formatos centralizados a nivel de proyecto
› Principalmente formatos “estándares” existentes
› Desarrolladores de aplicaciones pueden añadir nuevos formatos
4
5. 01 | Introducción
Introducció
Problema
¿Qué código utilizar?
› QR Code y GS1 Data Matrix soportan mucha información
› EAN-13 y EAN-8 son comúnmente utilizados para etiquetar
› GS1 Databar
› Bajo acuerdos bilaterales desde 2010 en punto de venta
› Desde 2014 se gestionará en punto de venta
› Almacenará fechas de caducidad o trazado
Ninguno es suficiente para los escenarios
› Información compleja para escenarios propios
› Realista: que esté o vaya a estar utilizado por la industria ahora o a corto plazo
¿Librerías de códigos?
5
7. 02 | Soporte multiformato
Solución: desarrollo de un módulo...
Extensible en códigos a utilizar
› QR Code, Databar, EAN-13...
Extensible en formatos a procesar
› Geolocalización, calendario, productos...
› Introducidos por desarrolladores de aplicaciones en tiempo de
ejecución
7
12. 01 | Soporte GS1 Databar
Problema
No existe implementación de GS1 Databar para móviles
Cuatro tipos de Databar a soportar (usados en punto de venta)
GS1 Databar Omnidireccional
GS1 Databar Expandido Apilado
GS1 Databar Expandido
GS1 Databar Omnidireccional Apilado
12
13. 01 | Soporte GS1 Databar
Solución
Implementarlos en ZXing ( http://code.google.com/p/zxing )
› Librería Open Source para Java ME, Android, Java SE
› Ya soporta QR Code, EAN-13, EAN-8, ITF, Code 39, Code 128...
› Utilizada aplicaciones populares de Android como “Barcode Scanner”, “Google
Shopper” o “ShopSavvy”
Comenzamos a trabajar en Omnidireccional y Omnidireccional apilados
› Ellos también estaban trabajando en ello, por lo que esa parte no la implementamos
13
14. 01 | Soporte GS1 Databar
Solución
Implementamos GS1 Databar Expanded
› Aceptado por el proyecto ZXing
› Pasamos a contribuidores del proyecto
Diferencias con GS1 Databar Omni
› Longitud variable
› 11 veces más bloques
Trabajando en: Expanded stacked
› Mayoría de código de Expanded reutilizable
14
15. 01 | Soporte GS1 Databar
Otras contribuciones
Utilizamos el codificador Open Source zint
› http://www.zint.org.uk
Encontramos algunos problemas
› Hemos informado de todos ellos
› Hemos proveído parches para algunos de ellos
15
17. 04 | Conclusiones
Dentro del proyecto
Módulo extensible multiformato multilibrería de códigos sobre Java ME
Integración de dicho módulo como un sensor más
Impacto sobre estado de herramientas de GS1 Databar
Codificador zint
Decodificador en ZXing
› Comunidad activa
› Licencia Apache (reutilizable para proyectos comerciales cerrados)
17