Hoy te mostraré un plugin que he desarrollado para abrir el cajón conectado a una impresora térmica desde JavaScript. El plugin tiene ese único propósito: abrir el cajón de dinero desde JS.

Para lograr esto lo que se hace es crear un servidor web que escuche peticiones hechas desde JavaScript y mandar la orden a la impresora (proporcionada por el cliente) para que el cajón de dinero sea abierto.

Así que lo único que tenemos que hacer es una petición de JavaScript al servidor de este plugin y enviarle el nombre de la impresora.

Sobre el plugin

En este caso el plugin no es gratuito. Para obtener el plugin:

  1. Realiza el pago de 10 dólares en Paypal o en los medios citados aquí
  2. Una vez realizado el pago, envíame un mensaje
  3. Yo confirmaré el pago y te enviaré el plugin.

Hago este tutorial pensando en que ya tienes el plugin, lo estás ejecutando y has compartido tu impresora.

Por cierto es importante mencionar que el plugin no crea ninguna ventana; simplemente se ejecuta en segundo plano, así que si quieres detenerlo puedes ponerlo en el administrador de tareas.

También puedes hacer que el plugin inicie con el sistema operativo.

Ejecutar plugin para cajón de dinero

El plugin crea un servidor que por defecto escucha en localhost:8080. Eres libre de cambiar el puerto pasando la opción --puerto al ejecutar el programa (puedes modificar el acceso directo si quieres).

Por ejemplo, si quiero que el plugin se ejecute en el puerto :5000 lo ejecuto así:

abrir_cajon_64_bits.exe --puerto=:5000

Y ya como ejemplo, si quieres cambiar el puerto desde el acceso directo ve a las propiedades del mismo y pasa la opción:

Cambiar puerto de plugin para abrir cajón de dinero en acceso directo

Cambiar puerto de plugin para abrir cajón de dinero en acceso directo

Documentación de la API

Ahora el plugin estará escuchando en localhost en el puerto que hayas seleccionado. Para los ejemplos supondré que es el puerto 8080.

Esta API tiene un solo endpoint que es la raíz /, misma que se encarga de abrir el cajón de dinero mandando el pulso a la impresora que le indiques por medio del parámetro GET impresora.

Por ejemplo si quiero abrir el cajón de dinero conectado a la impresora llamada ZJ-58 lo que haría sería invocar a:

http://localhost:8080/?impresora=ZJ-58

Y esta invocación puede ser desde cualquier lugar, solo debes hacer esa llamada HTTP. A continuación te mostraré cómo hacerlo desde JavaScript.

Cabe mencionar que el plugin devolverá un código de respuesta 500 y colocará el error en el cuerpo de la respuesta si hubo un error (por ejemplo, que la impresora no exista).

Cliente JavaScript

Me parece que puedes usar cualquier librería para hacer la petición HTTP, yo usaré fetch pero esto es compatible con axios o incluso el viejo $.get de jQuery.

Aquí el ejemplo:

En lo único que debes centrarte es en la función abrirCajon, a esta función puedes invocarla desde cualquier lugar de tu aplicación. Solo configura correctamente el nombre de tu impresora y el puerto.

Igualmente en lugar de usar alert para mostrar los resultados puedes usar console.log, Sweetalert o lo que consideres pertinente.

Para finalizar te recuerdo que tengo un plugin que hace esto y mucho más con las impresoras térmicas, es decir, es un plugin completo para impresoras térmicas desde JS.


Estoy disponible para trabajar en tu proyecto o realizar tu tarea pendiente, no dudes en ponerte en contacto conmigo.
Si el post fue de tu agrado muestra tu apoyo compartiéndolo, suscribiéndote al blog, siguiéndome o realizando una donación.

Suscribir por correo

Ingresa tu correo y recibirás mis últimas entradas sobre programación, open source, bases de datos y todo lo relacionado con informática

Únete a otros 2,003 suscriptores


parzibyte

Programador freelancer listo para trabajar contigo. Aplicaciones web, móviles y de escritorio. PHP, Java, Go, Python, JavaScript, Kotlin y más :) https://parzibyte.me/blog/software-creado-por-parzibyte/

2 Comentarios

Manuel Mar · julio 19, 2021 a las 11:31 pm

y cual es el codigo de abrir_cajon_64_bits.exe para que abra el cajon?, o ese archivo quien lo proporciona?

    parzibyte · julio 20, 2021 a las 8:01 am

    En el apartado Sobre el plugin encuentra los detalles.

Deja un comentario

Marcador de posición del avatar

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

A %d blogueros les gusta esto: