Configuración Raspberry para impresión de TPV

Imprimiendo Tickets con Odoo v.8

Valentín Vinagre

Configuración Raspberry para impresión de TPV

Imprimiendo Tickets con Odoo v.8

1.     Definición

Posbox es una solución de código abierto la cual gracias a los siguientes componentes:

·       Raspberry

·       Impresora de tickets

·       Adaptador USB inalámbrico

·       MicroSDHC

Permite la comunicación entre la raspberry con el sistema implantado en la empresa basado en Odoo, dando como consecuencia muchas más funcionalidades y comodidades a la hora de realizar ciertas acciones.

En este manual se explicará brevemente la configuración a seguir para la utilización de una raspberry para la impresión de tickets del TPV, con conexión automática a la wi-fi, autentificación automática en caso de reinicio.

2.     Descarga imagen posbox

Desde el siguiente enlace necesitaremos descargar la versión 13 de posbox

http://nightly.odoo.com/trunk/posbox/

Una vez realizada la descarga descomprimiremos el archivo y le añadiremos el número de la versión de posbox al nombre de la ISO obtenida(en este caso 13).

3.     Preparar la MicroSD

Utilizaremos la herramienta ya proporcionada en Windows llamada diskpart, a la cual se tiene que acceder por terminal.

A continuación listaremos los discos actualmente conectados a nuestro ordenador con

List disk

Al identificar el nombre del disco perteneciente a la MicroSD lo seleccionaremos con

Select disk (número del disco)

Para finalizar la formatearemos con

Clear

*Se puede utilizar clear all, que es lo equivalente a un formateo exhaustivo.

4.     Copiar Imagen a la MicroSD

El programa utilizado es win32diskimager el cual es gratuito y portátil, se puede descargar desde el siguiente link:

https://sourceforge.net/projects/win32diskimager/

Se deberá seleccionar la letra de la unidad correspondiente a la MicroSD que le haya asignado Windows, la imagen que hemos descomprimido en el paso 2 y darle al botón de escribir.


 

5.     Autentificación automática

Por defecto la Raspberry al reiniciarse o al apagarse y volverse a encender requiere de un password por defecto para la inicialización de esta, gracias a este método haremos que esta autentificación no sea necesaria y nuestro sistema se ponga en funcionamiento automáticamente.

Lo primero que tendremos que hacer será iniciar un Linux e insertar la MicroSD (es el método más fácil ya que de esta manera no tendremos problemas con reescritura de permisos y las unidades de la MicroSD se montarán automáticamente).

Lo segundo será abrir un terminal y ejecutar el siguiente comando

sudo nano /etc/inittab

*Se puede sustituir el editor de archivos por otro, por ejemplo gedit.

Buscaremos las líneas siguientes:

#1:2345:respawn:/sbin/getty --noclear 38400 tty1 # RPICFG_TO_ENABLE

1:2345:respawn:/bin/login -f root tty1 </dev/tty1 >/dev/tty1 2>&1 # RPICFG_TO_DISABLE

Si la primera línea está comentada la dejaremos tal cual, si no la comentaremos.

En la segunda línea se especifica que usuario utiliza por defecto el sistema al iniciarse. Por defecto está puesto como root, lo que haremos será cambiarlo por el usuario pi con el cual no demanda una autentificación. La línea nos quedará de la siguiente manera:

1:2345:respawn:/bin/login -f pi tty1 </dev/tty1 >/dev/tty1 2>&1 # RPICFG_TO_DISABLE

6.     Conexión automática a la red Wi-fi

Puesto que no queremos estar configurando todo el rato la IP de conexión de impresión de nuestro Odoo le daremos una conexión automática con IP estática a nuestro PosBox (todo el proceso está realizado sobre Linux como el punto anterior).

Necesitaremos configurar dos archivos:

    1.- /etc/network/interfaces

Este archivo lo utilizaremos para activar la interfaz de la Wi-fi de nuestra Raspberry e indicarle la ubicación del archivo que contiene los datos sobre la conexión Wi-fi.

Al principio del archivo añadiremos (esto iniciará la interfaz 0 de la wi-fi):

auto wlan0 #added

Al final del archivo añadiremos:

allow-hotplug wlan0

iface wlan0 inet static

address 192.168.1.250

netmask 255.255.255.0

gateway 192.168.1.1   

wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

iface default inet dhcp

Donde:

  • Address: Dirección IP fija que tendrá la Raspberry.
  • Netmask: Máscara de red.
  • Gateway: Puerta de enlace (Normalmente IP del Router).

    2.- /etc/wpa_supplicant/wpa_supplicant.conf

Este archivo contendrá la configuración de conexión de la wi-fi.

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev

update_config=1

network={

            ssid="Nombre de la wifi"

            psk="Contraseña"

            proto=RSN

            key_mgmt=WPA-PSK

            pairwise=CCMP

            auth_alg=OPEN

}

Donde:

  • Ssid: Nombre de la wi-fi.
  • Psk: Contraseña de la wi-fi.
  • Proto: RSN(WAP2) o WPA(WP1)
  • Key_mgmt: WPA-PSK(lo más probable) o WPA-ESP(para redes empresariales)
  • Pairwise: CCMP(WPA2) o TKIP(WPA1)
  • Auth_alg: OPEN(lo más probable), LEAP O SHARED

7.     Verificación de la conexión

Una vez hayamos realizado todos los pasos extraeremos con seguridad la MicroSD para asegurarnos de que no quede ningún archivo corrupto y la colocaremos en la Raspberry, una vez colocada, le conectaremos el resto de componentes (Impresora de tickets, usb wi-fi) y por último la encenderemos.

Para verificar que la raspberry cumple el paso 5 será suficiente con conectarla a la pantalla y ver que no pide password o esperar a que llegue a este momento y ver como la impresora saca un ticket.

Existen dos posibilidades en esta impresión de ticket:

  • El ticket contiene la IP que ha cogido la Raspberry y por lo tanto significa que se ha realizado correctamente la configuración automática de la wi-fi (paso 6).
  • El ticket da un error, por lo tanto la configuración de la red no ha sido satisfactoria y se ha realizado un error en dicha configuración.

Acceder a la web de posbox

Para acceder a la web que viene por defecto en posbox, se deberá abrir un navegador web e ingresar la IP que ha adquirido nuestro dispositivo con el puerto 8069

Acceder por ssh a la raspberry

Abrir un terminal y ejecutar el siguiente comando:

ssh pi@(IP)

Donde:

  • IP: ip asignada a la raspberry

Problema de conexión ssh de clave

Es probable que si has realizado varias configuraciones con la misma raspberry al final te pueda dar un error de clave ssh, el cual se soluciona de la siguiente manera en MAC:

  1. Abrir la carpeta ~/.ssh/
  2. En el archivo known_hosts, borrar las líneas asociadas a la IP de la raspberry.

Una vez hemos realizado toda la configuración y verificado que funciona correctamente, solo caldrá añadir la IP que nos ha imprimido la impresora a la configuración del TPV de Odoo.