-
Notifications
You must be signed in to change notification settings - Fork 40
Configurando mediante config.ini
config.ini: Es el archivo de configuracion, básicamente tiene el dato donde se le deberá indicar el nombre de la impresora como nombre de sección, y luego definir que Comando y Driver se va a utilizar. El nombre de la impresora va a ser el nombre que busque el servidor cuando reciba el JSON desde el cliente.
El comando define la Marca y Modelo. Mientras que el driver define la salida. Cada Marca y Modelo tiene un Driver por defecto (selecconar el driver en la configuracion es opcional, pero recomendado). El driver sirve ser modificado para el testing o desarrollo, usando los Drivers: Dummy, File o Txt.
- Bematech
- Epson
- EscP
- Hasar2Gen
- Sam4s2Gen
- Hasar
es decir que estas son las opciones para la variable marca. El modelo es opcional, y cada comando tiene un listado de modelos disponibles.
# .......
AVAILABLE_MODELS = []
- Dummy (para debugg)
- Txt (para debugg)
- File (para debugg)
- ReceiptFile (para comanderas o para enviar -en linux- a algun dev como file)
- Epson (para fiscales marca Epson)
- Hasar (para fiscales marca Hasar)
- Json (envia un JSON a un host determinado, se usa en la Hasar 2 gen)
- ReceiptDirectJet (para comanderas wthernet)
- ReceiptSerial (para comanderas serial)
- ReceiptUSB (para comanderas USB)
en el caso de las ultimas, se usa el modulo python-escpos el cual recomendamos leer para conectar las comanderas
Ejemplos de configuracion:
[impresora_fiscal]
marca = Hasar
modelo = 715v2
path = /dev/ttyUSB0
driver = Hasar
marca = Hasar
modelo = ["615", "715v1", "715v2", "320"]
marca = Epson
modelo = ["tickeadoras", "epsonlx300+", "tm-2000-af", "tm-220-af", "tm-t900fa", "sm-srp-270"]
Ademas se le podrá pasar parametros determinados por el constructor del Driver (init) Por ejemplo, si se usa el driver FileDriver, hay que agregar, como configuracion de esa impresora un "path", tal como es requerido en el init de la clase FileDriver.
[impresora1]
marca = EscP
driver = File
path = /tmp/archivo_salida.txt
Mientras que para usar el driver ReceiptDirectJetDriver hay que pasarle el host obligatoriamente, y, opcionalmente port, timeout y codepage.
[impresora2]
marca = EscP
driver = ReceiptDirectJet
host = 192.168.1.100
o, si no quiero usar los valores port, y codepage que vienen por defecto, puedo sobreescribirlos:
[impresora2]
marca = EscP
driver = ReceiptDirectJet
host = 192.168.1.100
port = 9012
codepage=cp866
[SERVIDOR]
puerto = 12000
Sirve para impresoras que funcionan en RED, que tienen conexion ethernet.
Variables de configuracion en el config.ini para impresoras con el driver ReceiptDirectJet:
- host *REQUERIDO Numero Ip o hostname de la impresora receipt (comandera)
- port default 9100, puerto donde escucha la impresora
- timeout default 10 segundos por defecto
- codepage default cp858
Ej:
[impresora Direct Ject Comandera]
host = 192.168.1.250
Es un driver que sirve para testing, cuando no tengo la impresora, puedo usarl el Dummy para no obtener salida alguna.
Es un driver para envió de comandos en formato JSON a una URL.
Variables de configuracion en el config.ini para impresoras con el driver JSON:
- host *REQUERIDO Numero Ip o hostname de la impresora
- port default 80, puerto donde escucha la impresora
- after_port default empty string "", string que prosigue a la ip / hostname de la impresora (el path). Por ej: 192.168.1.123:80/ifcmd.json o 192.168.1.123:80/fiscal.json
- user default None, usuario para autenticar y poder enviar comando a la impresora.
- password default None, password para autenticar y poder enviar comando a la impresora.
Luego, la impresora se configurara de la siguiente manera:
[samas_2g]
driver = Json
marca = Sam4s2Gen
host = 192.168.1.123
after_port = ifcmd.json
user = user
password = password
Sirve para las impresoras conectadas por puerto USB. Para hacer uso de este driver es necesario obtener los siguientes datos: id_vendor, id_product, interface, in_ep y out_ep. En el siguiente enlace encontrarás los pasos a seguir para obtener esos datos: https://pythonhosted.org/python-printer-escpos/manual/connections/usb.html#getting-vendor-id-and-product-id
Luego, la impresora se configurara de la siguiente manera:
[IMPRESORA_USB]
marca = EscP
driver = ReceiptUSB
usb_vendor = 0x1c8a
usb_product = 0x3a0e
in_ep = 0x81
out_ep = 0x02
Fiscalberry es un proyecto de PaxaPos -Punto de Venta en la nube-.