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:
- Abrir la carpeta ~/.ssh/
- 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.