Device Hub: instalar, emparejar e imprimir
El puente local entre las apps del navegador y el hardware del almacén: instale en el PC, empareje una vez, conecte impresoras/básculas y vigile la cola en el centro de impresión.
Qué es Device Hub#
El sandbox del navegador no puede abrir TCP crudo / USB / serie, así que el WMS web no habla directo con impresoras ZPL ni básculas. Device Hub es una app residente en la bandeja, instalada en cada PC del almacén (Windows / Mac), que hace de puente «navegador ↔ hardware»: se inicia con el equipo y corre sin notarse. Hecho con Tauri v2: un código para Windows + macOS (Intel y Apple Silicon).
Descargar e instalar#
- Descárguelo de la página oficial (/zh/download o /en/download): la página recomienda automáticamente DMG de Mac o MSI de Windows (universal) según su plataforma.
- Descargar → instalar → siguiente-siguiente-terminar. Cero pasos manuales: sin controladores a mano, sin comandos, sin archivos de configuración.
- Asistente de primera ejecución: ① muestra un código de emparejamiento → ② descubre impresoras automáticamente (mDNS + USB); marque los dispositivos y defina la impresora de etiquetas por defecto → ③ listo.
- Se inicia con el equipo y corre en segundo plano.
Emparejamiento#
- El icono de la bandeja muestra un código de emparejamiento de 6 dígitos.
- Ingréselo una vez en el lado web: en el diálogo de emparejamiento que aparece al imprimir, o en Admin → Print Devices (la gestión del Hub está ahí).
- Tras emparejar se emite un token (guardado en localStorage); cada handshake WebSocket lo lleva desde entonces. Por defecto solo escucha 127.0.0.1; el modo LAN (para imprimir desde el móvil) es opt-in y sigue exigiendo el token.
Conectar impresoras#
- Impresoras ZPL (Zebra y similares): USB o red puerto 9100; el Hub envía ZPL crudo y sondea el estado (sin papel/cinta/tapa abierta).
- Todos los botones de impresión web van por el SDK al Hub. Si no está instalado, el botón muestra una tarjeta «Device Hub no detectado» con el enlace de descarga; descargar el ZPL queda como alternativa.
- Impresora de etiquetas por defecto: márquela en la página de dispositivos (is_default_label_printer).
- Las básculas se conectan por serie / USB-serie, con baudios, prefijo/sufijo y unidad configurables; admiten protocolos comunes de salida continua (p. ej. Mettler Toledo, CAS, AND). Regístrela en la página de dispositivos como tipo scale.
Canal de impresión en la nube del móvil#
- Toque imprimir etiqueta en el móvil → POST /api/wms/print-jobs → tabla print_jobs (queued, con el contenido ZPL).
- El Device Hub del PC se suscribe a Supabase Realtime (con sondeo de 3 s de respaldo) → reclama el trabajo atómicamente (UPDATE … WHERE status=queued; cero filas = cancelado, no imprime; evita errores).
- Imprime localmente en la Zebra → escribe done/failed → el teléfono consulta el estado.
Centro de impresión (app Admin)#
- Cola de impresión: toda la tabla print_jobs; filtre por estado/almacén/impresora/tipo de etiqueta/tiempo. Trabajos sin atender >5 min se resaltan; los queued se pueden cancelar, los failed reimprimir; actualización en vivo; al enviar desde un botón de WMS recibe un enlace aquí.
- Dispositivos de impresión: toda la tabla devices; en línea/fuera de línea según el latido last_seen_at (umbral 2 min); tipo de conexión, marca de impresora por defecto, Hub propietario; la gestión de emparejamiento del Hub también está aquí.