İçeriğe atla
ÖzelliklerFiyatlandırmaİş OrtaklığıBlogYardımHakkımızdaİletişim
BaşlaGiriş Yap
Bloga Dön
guides2026-08-286 dk okuma

Fiş Yazıcı + Bluetooth: Star Micronics TSP143 ve Web Bluetooth API ile Tarayıcıdan Baskı

Star Micronics TSP143IIIBI ile Chrome 56+ Web Bluetooth API üzerinden ESC/POS komut göndererek uygulama indirmeden fiş bastırma rehberi.

th

thMenu Team

thmenu.com

İstanbul Cihangir'de küçük bir kahveci, $260'lık Star Micronics TSP143IIIBI yazıcıyı satın aldı ve $0 yazılım lisansı ile POS kurdu — çünkü Chrome'un Web Bluetooth API'si fiş baskısını doğrudan tarayıcıdan yapıyor. Uygulama indirme, sürücü kurulumu veya middleware yok. Bu rehber çalışan kodu, Türkçe karakter sorununu ve gerçek edge case'leri kapsar.

Web Bluetooth API Eşleştirme Akışı

Chrome 56+ (Android ve macOS/Linux) Web Bluetooth'u destekler; iOS Safari desteklemez — bu yüzden kasiyer tabletini Android seçmek kritik. navigator.bluetooth.requestDevice({ filters: [{ services: ['000018f0-0000-1000-8000-00805f9b34fb'] }] }) çağrısı kullanıcıya cihaz seçim diyaloğu açar. TSP143IIIBI bu UUID'yi yayınlar; FFE1 karakteristiği üzerinden ESC/POS komutları yazılır.

Eşleştirme bir kez yapılır, ancak Chrome güvenlik nedeniyle her oturumda requestDevice'ı kullanıcı jestiyle çağırmanızı zorunlu tutar. Çözüm: "Yazıcıya Bağlan" butonu kullanın, GATT bağlantısını localStorage'da değil BluetoothDevice referansında tutun.

Türkçe Karakter (CP857) Encoding

Varsayılan ASCII modu "ş, ğ, ı, ö, ü, ç" karakterlerini "?" olarak basar. TSP143 CP857 (Turkish DOS) code page'i destekler ve aşağıdaki ESC/POS sekansıyla aktif edilir:

  • 0x1B 0x74 0x0D — Code page 13 (CP857) seç
  • Metni Uint8Array'e CP857 mapping ile encode et (TextEncoder UTF-8 değil)
  • Satır sonu 0x0A, kesme 0x1D 0x56 0x00

Edge Case'ler ve Reset Stratejisi

Bluetooth bağlantısı 4-5 dakikalık inaktivite sonrası düşer; yeni baskı denemesi GATT operation in progress hatası verir. Çözüm: her POST öncesi device.gatt.connected kontrolü, false ise yeniden bağlan. Kağıt sıkışması veya kapak açık sırasında yazıcı buffer'ı kilitlenir — 0x10 0x04 0x01 (real-time status) ile durum sorgula.

Yazıcıyı soft reset etmek için 0x1B 0x40 gönderilir; bu code page ayarını da sıfırlar, dolayısıyla CP857'yi her baskı başında yeniden setlemek gerekir. Cihangir kafesi 90 günde 11.400 fiş bastı, 3 reset olayı yaşadı.

SSS

iPad ile çalışır mı? Hayır. iOS Safari Web Bluetooth desteklemiyor — Android tablet veya Chromebook tercih edin.

USB modeli kullanabilir miyim? Web USB API ile evet, ancak TSP143IIIBI'nin USB modeli ayrı SKU (TSP143IIIU). Bluetooth modeli kabloluya göre $40 daha pahalı ama kurulum 5 dakika.

HTTPS şart mı? Evet. Web Bluetooth secure context gerektirir — localhost dışında HTTP'de çalışmaz.

Faydalı buldunuz mu? Paylaşın.