SISTEMA INALÁMBRICO DE LECTURA DE CÓDIGOS DE BARRAS Aplicado a la recolección de grandes volúmenes de información proveniente de encuestas en papel EDWIN ORLANDO GRISALES CLAVIJO. UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS FACULTAD TECNOLÓGICA TECNOLOGÍA EN ELECTRÓNICA BOGOTÁ D.C. 2010 1 SISTEMA INALÁMBRICO DE LECTURA DE CÓDIGOS DE BARRAS Aplicado a la recolección de grandes volúmenes de información proveniente de encuestas en papel EDWIN ORLANDO GRISALES CLAVIJO. Propuesta de grado para aspirar al grado de tecnología en electrónica bajo la modalidad de proyecto de pasantía empresarial. Director: Ing. Hermes Javier Eslava Blanco. UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS FACULTAD TECNOLÓGICA TECNOLOGÍA EN ELECTRÓNICA BOGOTÁ D.C. 2010 2 Índice 1. INTRODUCCIÓN 5 2. ESTADO DEL ARTE 5 3. JUSTIFICACIÓN E IMPORTANCIA 6 4. DEFINICIÓN DEL PROBLEMA 6 5. OBJETIVOS 7 5.1. Objetivo General…………………………………………………………………………………………....7 5.2. Objetivos Específicos……………………………………………………………………………………....7 6. MARCO DE REFERENCIA 8 6.1. MARCO TEÓRICO………………………………………………………………………………………....8 6.1.1. Código de barras………………………………………………………………………………………....8 6.1.2. MS9520 Voyager………………………………………………………………………………………....9 6.1.3. Wireless………...……………………………………………………………………………………….. 11 6.1.4. MAX232………...……………………………………………………………………………………….. 11 6.1.5. Memoria 24LC64….…………………………………………………………..……………………….. 11 7. RESULTADOS ESPERADOS 12 8. METODOLOGÍA 12 9. CRONOGRAMA 14 11. BIBLIOGRAFIA 15 3 Índice de cuadros 1. Tabla 1. Especificaciones - Lector de códigos de barras MS9520…..………………………….….. 10 2. Tabla 2. Comparativo Costos/Tiempos………………………………..…………………………….12 3. Tabla 3. Tabla de actividades de cronograma ……………...………..……………………………14 1. Figura 1. Diseño de comunicación del MAX232.…….……………………………………………..….11 4 1. INTRODUCCIÓN Con el fin de optimizar el trabajo realizado en los procesos de recolección de información mediante la utilización de lectores de código de barras, eliminando también la dificultad que se presenta puesto que la distancia alcanzada por estos no es la mejor, se pretende diseñar un dispositivo de interfaz wireless para la conexión de un lector de código de barras convencional al PC desarrollando también una etapa de software que permita la gestión efectiva de los datos recolectados. El diseño del dispositivo está constituido por un lector de código de barras que registra la información del cuestionario, por un módulo transmisor conformado por una terminal portátil transmisora que consta de un transceptor RF, antena y memoria. Este módulo se encarga de adquirir los datos, guardarlos y transferirlos al módulo receptor el cual tiene también un transceptor y antena; dicho módulo recibe los datos enviados por el transmisor y los pasa a la base de datos alojada en un servidor. El diseño posterior de una página Web permite al usuario consultar la información de dicha base en tiempo real. 2. ESTADO DEL ARTE LECTOR DE CÓDIGO DE BARRAS MS860 UNITECH HOUSTON, TEXAS (USA) Lector láser de código de barras inalámbrico, diseñado específicamente para los usos en mercados tales como depósitos, fábricas, etc. Este lector posee un módulo incorporado de Bluetooth que permite que el MS860 sea utilizado dentro de un rango aproximado de 30 m. de su unidad receptora, dando a los usuarios más movilidad y libertad para explorar y alcanzar artículos o realizar la exploración de una caja registradora o de un terminal en ambientes extensos [1]. Características: • • • • • Tecnología Bluetooth Hasta 30 metros de rango de trabajo. Batería recargable de ion-litio. Diseño ergonómico para mayor comodidad en el trabajo. Interfaz RS232 LECTOR DE CÓDIGO DE BARRAS MS9535 VOYAGER BLUETOOTH, NEW JERSEY (USA) Es un lector láser que ofrece comodidad y libertad de movimiento, incorporando la tecnología inalámbrica Bluetooth. Provee una solución ligera, cómoda y fácil de usar. Utilizando un botón se activa el sensor IR (Infrarrojo) del lector. Después de leer un código de barras, se oprime el mismo botón y el dato es transmitido al host en forma inalámbrica [2]. Características: • • • Lector láser sin cables, usando el estándar inalámbrico Bluetooth. Tecnología CODE GATE, para transmisión de datos. Rango de trabajo de 10 metros. 5 LECTOR BLUETOOTH IMAGETEAM 3870 SKANEATELES FALLS, NEW YORK El lector inalámbrico IMAGETEAM (IT) 3870 satisface las necesidades de muchas aplicaciones. Está diseñado para un uso industrial rudo, como el de los muelles donde se carga mercancía, donde el envío y recepción de los materiales requiere de libertad de movimiento. El lector inalámbrico es ideal además para aplicaciones de manufactura, tales como trabajo en proceso, donde la seguridad puede ser un problema. Eliminar los cables evita que éstos se atoren en maquinaria y equipo, disminuyendo así la probabilidad de accidentes [3]. Características: • • • Frecuencia de 2.4 a 2.4835 GHz (Banda ISM) (Frecuency Hopping Carrier). Alcance: 100 pies (30 m) típico Tasa de datos: 1Mbps 3. JUSTIFICACIÓN E IMPORTANCIA El registro inicial de información recopilada a través de encuestas en papel es una tarea de gran importancia dentro de la línea de procesamiento realizada en investigación de mercados, siendo éste primer registro un paso fundamental de control para asegurar un resultado satisfactorio basado en un muestreo poblacional óptimo. Así mismo esta es una de las tareas más tediosas y complicadas cuando se realiza en la forma tradicional conocida, situación que se complica aún más cuando existe un alto volumen de material por revisar. La idea del proyecto es aprovechar la tecnología que existe, tal como dispositivos móviles, lectores de códigos de barras, redes inalámbricas y junto con un lenguaje de programación adecuado, crear una herramienta de apoyo que facilite esta tarea, convirtiéndolo en proceso fácil, rápido y vanguardista, beneficiando así no solo a los operarios y responsables de realizar esta tarea, sino también a quienes dependen de esa información para la toma oportuna de decisiones. 4. DEFINICIÓN DEL PROBLEMA En la actualidad y a nivel mundial, las empresas que manejan pequeños y grandes volúmenes de mercancías, productos e información, recurren a distintos métodos para el control de sus inventarios. Algunas aún recurren a métodos manuales como robustos libros de registro y otras, en realidad muy pocas, poseen la implementación de complejos y costosos sistemas para el control de sus inventarios con tecnología RFID (Identificación por Radiofrecuencia), a partir de equipos PDA ó HANDHELDS. En general, la tecnología más frecuentemente utilizada, es la automatización de procesos a partir de códigos de barras y sus respectivos equipos de adquisición, ya que sin ser estos tan costosos y poderosos como los mencionados anteriormente, proveen soluciones para satisfacer las necesidades de dichos procesos. En base a este hecho los dispositivos de adquisición de información utilizados con fines de inventario de productos pueden también ser utilizados para recolectar información proveniente de encuestas en papel de forma rápida obteniendo resultados en un tiempo significativamente menor, reduciendo costos y aumentando notablemente la calidad de la información recolectada, usando para esto un equipo de bajo costo, que provee movilidad y una conexión a una base de datos de fácil manejo y acceso. 6 5. OBJETIVOS 5.1. Objetivo General Desarrollar e implementar un dispositivo de interfaz wireless compatible con lectores de códigos de barras seriales convencionales, para optimizar procesos a partir de la transferencia de la información en tiempo real. 5.2. Objetivos Específicos • Analizar y diseñar los circuitos respectivos para la terminal portátil transmisora y el módulo receptor. • Implementar los algoritmos de programación para la comunicación de los transceptores de radiofrecuencia a 2.4 GHz, que proporcione un área de cobertura en línea de vista directa cercana a los 50 metros. • Desarrollar las rutinas para adquisición de datos de lectores de códigos de barras seriales convencionales, así como el respectivo software para el almacenamiento de 250 registros de información, cuando el dispositivo se encuentra por fuera del área de propagación. 7 6. MARCO DE REFERENCIA 6.1. MARCO TEÓRICO 6.1.1. Código de barras. El código de barras es una representación de un conjunto de líneas paralelas verticales de distinto grosor que contienen una determinada información. Su estructura se encuentra estandarizada por sistemas internacionales lo que permite a distribuidores y proveedores de bienes y servicios obtener información de productos en cualquier país alrededor del mundo [4]. El mapeo entre la información y el código que la representa se nombra simbología. Estas simbologías pueden ser clasificadas en dos grupos: • Continua o discreta: En la simbología continua los caracteres comienzan con un espacio y en el siguiente comienzan con una barra (o viceversa). En la simbología discreta los caracteres comienzan y terminan con barras y el espacio entre caracteres es ignorado, ya que no es lo suficientemente ancho. • Bidimensional o multidimensional: En la simbología bidimensional las barras pueden ser anchas o estrechas. En la simbología multidimensional las barras son múltiplos de una anchura determinada (X). De esta forma, se emplean barras con anchura X, 2X, 3X, y 4X. Estructura de un código de barras: • • • • Módulo: Unidad básica de un código. Las barras y espacios están formados por un conjunto de módulos. Barra: El elemento (oscuro) dentro del código. Se hace corresponder con el valor binario 1. Espacio: El elemento (claro) dentro del código. Se hace corresponder con el valor binario 0. Carácter: Formado por barras y espacios. Normalmente se corresponde con un carácter alfanumérico. Ventajas del código de barras: • • • • • • Agilización de la lectura de artículos en las bodegas o almacenes. Evitar errores de digitación. Agilidad en etiquetar precios. Rápido control del stock de mercancías. Estadísticas comerciales. El código de barras permite conocer las referencias vendidas en cada momento pudiendo extraer conclusiones de mercadotecnia. El consumidor obtiene una relación de artículos en el ticket de compra lo que permite su comprobación y eventual reclamación. Tipos de códigos de barras Los códigos de barras se dividen en dos grupos: los códigos de barras lineales y los códigos de barras de dos dimensiones. Códigos de barras lineales (EAN) European Article Number es un sistema de códigos de barras adoptado por más de 100 países y cerca de un millón de empresas. 8 El código EAN más usual es EAN13, constituido por 13 dígitos y con una estructura dividida en cuatro partes: • • Los primeros dígitos del código de barras EAN identifican el país que otorgó el código, no el país de origen del producto. Referencia del ítem, compuesto de: o o o Código de empresa. Es un número compuesto por entre 5 y 8 dígitos, que identifica al propietario de la marca. Código de producto. Completa los 12 primeros dígitos. Dígito de control. Para comprobar el dígito de control, numeramos los dígitos de derecha a izquierda. A continuación se suman los dígitos de las posiciones impares, el resultado se multiplica por 3, y se le suman los dígitos de las posiciones pares. Se busca decena inmediatamente superior y se le resta el resultado obtenido. El resultado final es el dígito de control. Si el resultado es múltiplo de 10 el dígito de control será 0. Para nuestro caso utilizaremos dicho estándar, aunque en el caso particular de recolección de datos de encuestas en papel no necesitaremos un estándar global el EAN13 ofrece un alto nivel de confianza dado a la utilización de dígitos de control. 6.1.2. MS9529 Voyager. El Voyager es el escáner de códigos de barras de línea única más avanzado del mercado, puede operar en el modo "manos libres" cuando se sitúa sobre su soporte. Basta con la presentación del código para que el lector realice automáticamente la lectura. Además es programable para lecturas de corto o largo alcance tanto en el modo automático como manual, con lo que incrementa su eficiencia y productividad al tiempo que su ergonomía [5]. Características: • • • • • • Proyección manual y fija. PowerLink, con cables reemplazables por el usuario. Incluye un soporte ajustable. Activación de corto y largo alcance. Memoria ROM tipo flash con la utilidad de actualización Meteor. Clasificación clase B de la EMI. El lector de código de barras, por defecto viene con una conexión directa al PC, para comunicarse y para registrar los códigos a la base de datos del computador. Para esta aplicación no se hace uso de dicha conexión, el lector va directamente relacionado con la etapa de transmisión, puesto que el propósito es manejar y transferir los datos de manera inalámbrica. Para que el lector funcione de manera correcta, es necesario configurar tres parámetros del mismo: • • • Velocidad de Transmisión: Por defecto el lector viene con una velocidad de 9600 bps, para la aplicación del proyecto en particular, la velocidad que se maneja es de 38400 bps. Control de Flujo: Se maneja con el Enable ACK/NAK, para habilitar o deshabilitar la lectura de los registros en caso de ser necesario. Custom (One Shot): Este parámetro se configura por comodidad y seguridad, cada vez que el lector toma un registro, deshabilita el láser que hace la lectura, es decir permite un solo disparo, esto se determina para evitar duplicación de lectura o interferencia si dos o más códigos impresos (cuestionarios) se encuentran en línea de vista del lector. 9 Otro aspecto importante hace referencia a la memoria del lector (250 registros), por esta limitante si el lector toma el código de 250 encuestas y la etapa de transmisión no ha enviado los datos a la de recepción, el lector se bloquea y espera hasta que la memoria está desocupada para habilitar la toma de más datos. Cuando el lector está en color verde significa que el dispositivo está listo para leer, cuando se pone en rojo significa que el dato se leyó de manera correcta. Fuente luminosa Potencia láser Profundidad del campo de exploración Anchura del campo de exploración Velocidad de exploración Modelo de exploración Anchura mínima de barras Activación infrarroja Capacidad de decodificación Giro, inclinación y oscilación Indicador acústico N° de caracteres leídos Longitud Profundidad Peso Cable Voltaje de entrada Potencia en funcionamiento Potencia en espera Intensidad de corriente Intensidad de corriente en espera Transformadores CC Clase láser Compatibilidad electromagnética Temperatura de funcionamiento Temperatura de almacenamiento Humedad Niveles de luz Contaminantes Ventilación Diodo láser visibles de 650 nm ± 10 nm 0.7 mW (pico) 0 mm - 203 mm para un código de barras de 0.33 mm con la configuración predeterminada 64.0 mm @ cara; 249 mm @ 203 mm 72 ± 2 líneas exploradas por segundo Línea de exploración única 0.127 mm Largo alcance: 0 mm - 279 mm ± 51 mm Discriminación automática de todos los códigos de barras estándar 42°, 68°, 52° o 360°, 60°, 60° 7 tonos o sin indicación acústica Hasta 80 caracteres de datos (le número máximo varía de acuerdo con la simbología y la densidad ) 198 mm 40 mm 149 g Estándar 2.7 m en espiral; opcional 2.1m recto 5 VDC ± 0.25 V 825 mW 600 mW 165 mA típica @ 5VDC 120 mA típica @ 5VDC Clase 2; 5.2 VDC @ 650mA CDRH: Clase II; EN608251:1994/A11:1996 Clase 1 Clase B de la FCC De 0°C a 40°C De -40°C a 60°C De 5% a 95% de humedad relativa, sin condensación) Hasta 4842 Lux (450 candelas por pie cuadrado) Sellado para resistir la contaminación de partículas transportadas por el aire No es necesaria Tabla 1. Especificaciones - Lector de códigos de barras MS9520 10 6.1.3. Wireless. La comunicación inalámbrica se basa en la comunicación donde no se utiliza un medio de propagación físico, sino la modulación de ondas electromagnéticas las cuales se propagan por el espacio sin un medio físico que comunique cada uno de los extremos de la transmisión. 6.1.4. MAX232. El MAX232 es un circuito integrado que convierte los niveles de las líneas de un puerto serie RS232 a niveles TTL y viceversa. Lo interesante es que sólo necesita una alimentación de 5V, ya que genera internamente algunas tensiones que son necesarias para el estándar RS232. Otros integrados que manejan las líneas RS232 requieren dos voltajes, +12V y -12V. Este chip permite adaptar los niveles RS232 y TTL, permitiendo conectar un PC con un micro controlador. Sólo es necesario este chip y 4 condensadores electrolíticos de 22 micro-faradios. El MAX232 soluciona la conexión necesaria para lograr comunicación entre el puerto serie de una PC y cualquier otro circuito con funcionamiento en base a señales de nivel TTL/CMOS. El circuito integrado posee dos conversores de nivel TTL a RS232 y otros dos que, a la inversa, convierten de RS232 a TTL. Estos conversores son suficientes para manejar las cuatro señales más utilizadas del puerto serie del PC, que son TX, RX, RTS y CTS. TX es la señal de transmisión de datos, RX es la de recepción, y RTS y CTS se utilizan para establecer el protocolo para el envío y recepción de los datos [6]. Figura 1. Diseño de comunicación del MAX232 6.1.4. Memoria 24LC64. Memoria serial EEPROM I2C DPID 8-pin [7]. Las características se describen a continuación: Tecnología CMOS de bajo consumo / Corriente máxima para escritura: 3 mA (5V) / Corriente máxima de lectura: 400 uA (5V) / Corriente en reposo: 100 nA / Interfaz de dos cables I2C / Cascada de hasta 8 memorias / Control interno automático del ciclo de lectura/escritura / Paginación de 64-byte para paginas / Protección de escritura por hardware / Ciclos de borrado/escritura: 1.000.000 / Retención de datos: > 200 años / Pb-fre y RoHS. 11 7. RESULTADOS ESPERADOS El modelo anteriormente descrito permitirá reducir costos operativos, aumentar eficiencia en la entrega de resultados y asegurar un mayor nivel de calidad. Proceso manual Costo Tiempo requerido $ 1.000.000 1 Dia / 5 Personas $ 594.000 3 Dias / 2 Personas $ 594.000 3 Dias / 2 Personas Premarcación de cuestionarios Recepción del material y conteo Revisión de material faltante Total $ 2.188.000 7 Dias / 9 Personas ** Estimación realizada para un proceso de 10000 Encuestas Proceso automatizado Costo Tiempo requerido $ 66.000 2 Horas / 1 Persona $ 99.000 3 Horas / 1 Persona $ 99.000 3 Horas / 1 Persona $ 264.000 1 Dia / 1 Persona Tabla 2. Comparativo Costos/Tiempos 8. METODOLOGÍA Para hacer una descripción completa del sistema inalámbrico de lectura de códigos de barras se segmentará el diseño en seis etapas fundamentales de las cuales se hará énfasis en aquellas que demandan un proceso de investigación, análisis, diseño e implementación aplicados al campo de acción del proyecto, las etapas restantes son parte importante del proceso de aplicación pero conforman eventos de programación e interfaz usuario - maquina. • Software de parametrización por parte del usuario e impresión del código de barras. • Lector de código de barras MS9520. • Etapa de transmisión de datos. • Etapa de recepción de datos. • Comunicación con el PC. • Almacenamiento en la base de datos alojada en el servidor y visualización de datos en web (Interfaz usuario para obtención de resultados). Etapa de transmisión de datos El proceso de transmisión se realiza de la siguiente forma: En la LCD se muestra el mensaje inicial, con la memoria 24LC64 configurada, en la terminal portátil se le da prioridad a esperar un código de barras, es decir es más importante un nuevo código a registrar que la comunicación que se da con el receptor. Una vez se ha registrado un nuevo código de barras, este se almacena en la memoria, que tiene una capacidad de 250 registros, y si existe señal o comunicación los datos son transferidos al receptor de manera inalámbrica, si se están transfiriendo datos, y hay un nuevo código para registrar, se da una interrupción para leer el código de barras. 12 Al enviar el código de barras, también se envían dos caracteres en hexadecimal: 0d-0a, 0a para alinear el dato a la izquierda y el 0d para darle enter al registro, la interrupción termina cuando llegan estos dos caracteres. Al culminar la interrupción y estando los datos en la memoria el transmisor vuelve a atender las peticiones del receptor. Así no tenga señal, los datos se guardan en la memoria. En la etapa de transmisión se hace control de flujo con ACK, ACK: 6 = Significa que el dato llego de manera correcta y ACK: 15 = Significa que el dato no llego bien. Cuando la memoria se llena (250 registros), y no ha transmitido los datos al receptor, no manda el 6, hasta que no encuentre señal y desocupe su buffer de almacenamiento. Cabe anotar que el dispositivo puede registrar un código de hasta máximo 24 caracteres, un código más grande armaría conflicto y podría no visualizarse correctamente en la LCD. Cuando se registra un código de barras, el mismo se visualiza en la LCD, esto se hace con el propósito de verificar que lo que se está registrando es verdaderamente lo que se guardando en la base de datos. Etapa de recepción de datos En la etapa de recepción el transceptor se configura de la misma forma que en el transmisor, puesto que dicha configuración debe ser compatible para que la comunicación entre las dos terminales sea óptima. Básicamente la función de la etapa receptora es preguntar si existe un nuevo registro para transferirlo a las base de datos en el PC. Una vez se tenga señal con el transmisor, los datos son transferidos de este al receptor. El transceptor en la etapa de RX tiene la dirección 0 Comunicación con el PC Como el lector de código de barras trae por defecto el driver para la comunicación con el PC, y esta conexión no se está utilizando, fue necesario crear un driver que permitiera la comunicación del PC con la etapa receptora ya diseñada. El driver coge el dato del puerto RS232 y lo digita, es decir simula un evento del teclado. Por seguridad a los datos se les añade un carácter de verificación, es decir se hace uso de un algoritmo interno que guarda todo código de barras con 2 caracteres de verificación. 13 9. CRONOGRAMA Actividad 1 Estudio de las tecnologías existentes Duración Inicio 10 días 15 de Nov/10 10 días 20 de Nov/10 30 días 1 de Dic/10 15 días 15 de Ene/10 30 días 3 de Feb/10 Estudio de tecnologías óptimas según las necesidades 2 de la empresa 3 4 Diseño del dispositivo y de la interfaz Usuario-Maquina Implementación del dispositivo Realizar las respectivas pruebas para garantizar el 5 correcto funcionamiento del dispositivo Tabla 3: Tabla de actividades de cronograma. 14 10. BIBLIOGRAFIA [1] Identific-Ar. [Tipo de medio electrónico].http://identific-ar.com.ar/ms860.htm [2] Identific-Ar. [Tipo de medio electrónico].http://identific-ar.com.ar/ms9535.htm [3] Articles: HHP IT Imageteam 3870. [Tipo de medio electrónico].http://www.altatec.com.mx/html/index.php?module=News&func=display&sid=66 [4] Lectores y códigos de barras. http://www.serviciosjfp.com/Otros/codigo_barras.htm [Tipo de medio electrónico]. [5] Lector laser MS 9520 Voyager® Metrologic. [Tipo de medio electrónico]. http://www.tecnosolutions.com/metrologic/ms9520voyager/ms9520voyager.html [6] Robert L. Boylestad y Louis Nashelsky. Electrónica Teoría de circuitos y dispositivos electrónicos. Pearson Educación pp. 116-121. [7]I. Thompson. El proceso de la investigación de mercados. [Tipo de medio electrónico]. http://www.promonegocios.net/investigacion-mercados/proceso.html 15