Ana içeriğe atla

PC Yazıcı Sürücüsü

PC yazıcı sürücüsü, Plato POS yazdırmaya yönelik yerel bir Windows hizmetidir. Yazdırma işlerini HTTP üzerinden kabul eder, bunları Redis destekli BullMQ kuyruklarında saklar ve ESC/POS baytlarını TCP üzerinden ağ termal yazıcılarına yazar. Bu bir işletim sistemi yazıcı sürücüsü değildir. Plato’nin tarayıcısı POS ile ham ESC/POS yazıcıları arasında küçük bir yerel köprüdür.

Ne İşe Yarar

  • Yazdırma işlerini POST /print aracılığıyla Plato Konsolundan alır.
  • Gelen base64 ESC/POS raster parçalarını sıraya alınmış yazıcı işlerine dönüştürür.
  • Yazıcı adresi başına ayrı bir kuyruk tutar.
  • Yazıcı başına aynı anda bir işi işler.
  • Ham ESC/POS baytlarını TCP yazıcılarına gönderir.
  • Yazıcı durumu kontrollerini, kasa çekmecesi vuruşunu, bip sesi komutlarını, kuyruk incelemesini, HTTPS proxy’yi ve PeerJS ağ sinyalini destekler.

Çalışma Zamanı Şekli

Plato POS browser
  |
  | POST /print
  v
PC printer HTTP server
  |
  | build print chunks
  v
PrinterStores
  |
  | one BullMQ queue per ip:port
  v
PrinterStore worker
  |
  | TCP socket
  v
ESC/POS thermal printer

Ana Dosyalar

DosyaRol
drivers/pc-printer/src/index.tsEkspres uygulama, CORS, başlangıç, HTTPS, ağ sunucusu, kapatma işleyicileri.
drivers/pc-printer/src/routes.tsYazdırma, durum, bip sesi, kasa çekmecesi, sağlık ve kuyruk durumu için HTTP uç noktaları.
drivers/pc-printer/src/printer-stores.tsYazıcı başına kuyruk, çalışan, soket yaşam döngüsü, durum araştırması, kurtarmayı yeniden deneme.
drivers/pc-printer/src/printer.tsDüşük düzeyli TCP yazma, yazma zaman aşımı, yazıcı başlatma komutu, yerel IP bulma.
drivers/pc-printer/src/lib/config.tsconfig.json varsayılanlar, ayrıştırma ve temizleme.
drivers/pc-printer/src/lib/redis.tsGömülü veya harici Redis çalışma zamanı.
drivers/pc-printer/src/lib/receipt-encoder.tsESC/POS parça sarma, kesme, bip sesi ve para çekmecesi komutları.
drivers/pc-printer/src/scripts/*Caddy HTTPS kurulum ve sürüm yardımcıları.

Ağ Bağlantı Noktaları

LimanVarsayılanİçin kullanılır
server.port8080Ana HTTP API.
caddy.httpsPort443Etkinleştirildiğinde HTTPS ters proxy.
redis.port6379Gömülü veya harici Redis.
Yazıcı bağlantı noktasıGenellikle 9100Yazıcıya ham TCP bağlantısı.

Yetenekler

  • TCP üzerinden ESC/POS’yi kabul eden ağ yazıcıları.
  • Plato Konsolu tarafından oluşturulan taramalı yazdırma işleri.
  • runAt aracılığıyla ertelenen yazdırma işleri.
  • Kalıcı yeniden deneme kuyrukları.
  • Para çekmecesi ESC/POS aracılığıyla nabız atıyor.
  • Tekrarlanan bip dizisi.
  • Windows’ta Caddy aracılığıyla HTTPS.
  • /mesh’de PeerJS ağ sinyali.