Puntos de venta con GNU/Linux: Parte I
Hay varias cosas a considerar.
- Planeación y definición de objetivos.
- Definición de equipamiento físico a utilizar: monitores, teclados, lectores de código de barras e impresoras de matriz de punto, térmicas y de validación.
- Definir si se utilizará una aplicación nativa (probablemente un desarrollo nuevo) o bien una aplicación Windows.
- Definir márgenes de error.
La planeación implica determinar la etapas de implementación del punto de venta. Lo más recomendable es realizar todo paso a paso. Un esquema como el siguiente puede ser apropiado:
Fase de selección de elementos de punto de ventas.
- Seleccionar aplicación.
- ¿Aplicación nativa para GNU/Linux?
- ¿Aplicación nativa para Windows a través de Wine?
- Funciones de la aplicación
- Venta.
- Cobro
- Facturación o nota de venta
- Validación de factura o nota de venta
- Impresión desde sistema, no desde aplicación.
- Seleccionar modelos de impresoras compatibles con GNU/Linux.
- Hacer funcionar la impresora de matriz de punto.
- Hacer funcionar la impresora térmica.
- Hacer funcionar la impresora de validación.
Fase de pruebas
- Si es aplicación nativa para Windows, verificar todo el funcionamiento a través de Wine.
- Impresión desde aplicación con todas las impresoras seleccionadas.
- Realizar y verificar todas las operaciones de venta, cobro, facturación y validación.
- Determinar problemas y corregirlos.
- Realizar y verificar todas las operaciones de venta, cobro, facturación y validación hasta eliminar todos los errores y problemas.
Fase de producción.
En el caso de aplicaciones nativas para Windows, es muy probable que cualquiera funcione bien desde GNU/Linux a través de Wine. La resolución de problemas se realiza a través de la utilización de bibliotecas nativas para (*.dll).
En el caso de impresoras, utilizando aplicaciones nativas para Windows, hay tres formas de hacerlas funcionar.
- Usando controlador nativo de Linux a través de Cups y su vez a través de Wine.
- Imprimir en un archivo de texto simple y enviarlo hacia el puerto de la impresora, junto con algunas secuencias de escape para avanzar, retroceder, cortar o liberar el papel y/o abrir el cajón de dinero.
- Imprimir desde la aplicación en formato PDF y de ahí a la impresora.
Lo que corresponde a lectores de código de barras, estos van conectados entre la computadora y el teclado. Funcionan transparentemente en Linux y a través de Wine, ya que estos dispositivos realizan la lectura e interpretación del código de barras y la envía ala salida estándar (pantalla) ya decodificado 8secuencias de números y letras listos para utilizar).
Para los cajones de dinero, Estos van conectados directamente a la impresora y pueden ser abiertos utilizando el mismo para Linux (CUPS), si estos incluyen el soporte necesario. En el caso de impresoras que no cuentan con con un controlador para Linux, se puede realizar a través de secuencias de escape enviadas directamente al puerto de impresión. Ejemplo (apertura de cajón en Epson TM-U295, en puerto serie):
echo -en '\x1B\x70\x30\x37\x79' > /dev/ttyS0
Obviamente se requiere algo de imaginación, mirar los problemas desde otra perspectiva y entender un poco de programación en BASH. Más adelante iré detallando más experiencias.












