Pilote d’imprimante PC
Le pilote d’imprimante PC est un service Windows local pour l’impression Plato POS. Il accepte les travaux d’impression sur HTTP, les stocke dans les files d’attente BullMQ sauvegardées par Redis et écrit les octets ESC/POS sur les imprimantes thermiques réseau via TCP. Il ne s’agit pas d’un pilote d’imprimante pour le système d’exploitation. Il s’agit d’un petit pont local entre le navigateur POS de Plato et les imprimantes brutes ESC/POS.Ce qu’il fait
- Reçoit les travaux d’impression de la console Plato via
POST /print. - Convertit les blocs raster base64 ESC/POS entrants en tâches d’imprimante en file d’attente.
- Conserve une file d’attente distincte par adresse d’imprimante.
- Traite une tâche à la fois par imprimante.
- Envoie les octets bruts ESC/POS aux imprimantes TCP.
- Prend en charge les vérifications de l’état de l’imprimante, le coup de pied du tiroir-caisse, les commandes sonores, l’inspection de la file d’attente, le proxy HTTPS et la signalisation de maillage PeerJS.
Forme d’exécution
Fichiers principaux
| Déposer | Rôle |
|---|---|
drivers/pc-printer/src/index.ts | Application express, CORS, démarrage, HTTPS, serveur maillé, gestionnaires d’arrêt. |
drivers/pc-printer/src/routes.ts | Points de terminaison HTTP pour l’impression, l’état, le bip, le tiroir-caisse, l’intégrité et l’état de la file d’attente. |
drivers/pc-printer/src/printer-stores.ts | File d’attente par imprimante, travailleur, cycle de vie du socket, vérification de l’état, nouvelle tentative de récupération. |
drivers/pc-printer/src/printer.ts | Écritures TCP de bas niveau, délai d’attente d’écriture, commande d’initialisation de l’imprimante, découverte IP locale. |
drivers/pc-printer/src/lib/config.ts | config.json valeurs par défaut, analyse et nettoyage. |
drivers/pc-printer/src/lib/redis.ts | Runtime Redis intégré ou externe. |
drivers/pc-printer/src/lib/receipt-encoder.ts | Commandes d’emballage de morceaux, de coupe, de bip sonore et de tiroir-caisse ESC/POS. |
drivers/pc-printer/src/scripts/* | Aides à la configuration et à la publication du Caddy HTTPS. |
Ports réseau
| Port | Défaut | Utilisé pour |
|---|---|---|
server.port | 8080 | Principal HTTP API. |
caddy.httpsPort | 443 | Proxy inverse HTTPS lorsqu’il est activé. |
redis.port | 6379 | Redis intégré ou externe. |
| Port imprimante | Généralement 9100 | Connexion TCP brute à l’imprimante. |
Capacités
- Imprimantes réseau qui acceptent ESC/POS sur TCP.
- Travaux d’impression raster générés par la console Plato.
- Travaux d’impression différés via
runAt. - Files d’attente de nouvelles tentatives persistantes.
- Pulse du tiroir-caisse via ESC/POS.
- Séquence de bips répétés.
- HTTPS via Caddy sous Windows.
- Signalisation maillée PeerJS sur
/mesh.