Printer Label Berbohong Tentang DPI

Sebuah driver Web Bluetooth sumber terbuka menunjukkan bahwa printer label Niimbot N1, yang diiklankan sebagai perangkat 300 dpi, sebenarnya mencetak pada sekitar 203 dpi.

Pengembang tersebut membuat driver untuk mencetak langsung dari halaman web alih-alih menggunakan aplikasi seluler Niimbot. Ia melakukan reverse-engineering pada protokol proprieternya dan mengeksposnya ke browser melalui Web Bluetooth API. Dalam prosesnya, ia tidak hanya menemukan fitur yang hilang, tetapi juga kesalahan spesifikasi mendasar yang dapat merusak pengemasan batch kecil, label inventaris, atau proyek hobi yang membutuhkan presisi.

Bagaimana kesalahan spesifikasi tersebut terungkap

Niimbot memasarkan N1 sebagai printer 300 dpi, yang berarti 300 titik per inci. Pengembang tersebut mencetak gambar skala penggaris dan pola pengujian bernomor, lalu mengukur tanda-tandanya dengan penggaris fisik. Hasil perhitungannya secara konsisten menunjukkan sekitar 203 dpi, bukan 300 dpi seperti yang diklaim.

Empat pelajaran berharga dari menulis driver perangkat keras

  1. Pekerjaan yang “berhasil” mungkin tidak menghasilkan apa-apa. Printer mengirimkan data dalam bentuk burst (lonjakan). Pada beberapa platform, Bluetooth stack menjatuhkan (drop) perintah tulis tanpa melaporkan kesalahan. Driver menganggap pekerjaan selesai, namun label yang keluar kosong atau terpotong. Penulis kini membaca penghitung halaman fisik printer setelah setiap pekerjaan untuk memverifikasi bahwa lembaran benar-benar telah masuk.

  2. Dokumentasi bukanlah realitas. Klaim 300 dpi adalah contoh yang jelas. Spesifikasi bisa saja terlalu optimis, kedaluwarsa, atau sekadar salah. Pengembang harus mengukur parameter kritis sendiri ketika fidelitas visual menjadi penting.

  3. Tanda fisik lebih akurat daripada tes “kecocokan”. Mencetak gambar untuk melihat apakah ia pas dengan area label dapat menutupi kesalahan resolusi, lebar printhead, atau offset. Mencetak tanda geometris yang sudah diketahui dan mengukur lokasi tepatnya akan mengungkap perilaku asli perangkat.

  4. Protokol menjelaskan tata bahasa, bukan temperamen perangkat keras. Dua printer mungkin berbagi set perintah yang sama namun berperilaku berbeda—satu menangani pengulangan halaman yang cepat, yang lain macet. Driver tidak dapat mengasumsikan performa yang identik hanya berdasarkan dokumen protokol; setiap model memerlukan pengujian dunia nyata.

Mengapa driver ini penting

Driver ini tidak pernah berpura-pura tahu segalanya. Setiap kali ia menyimpulkan suatu nilai alih-alih membacanya langsung dari printer, ia menandai bidang tersebut sebagai tebakan. Transparansi ini menghentikan kesalahan senyap yang jika dibiarkan akan memakan waktu berjam-jam untuk debugging.

Cara mendapatkan driver

Driver ini berjalan di Chrome atau Edge dan hanya memerlukan perangkat dengan Bluetooth serta printer Niimbot yang didukung. Coba demo langsung di:

https://iscarelli.github.io/niimbot-web-bluetooth/demo/

Kode sumbernya tersedia di GitHub, di mana komunitas dapat berkontribusi dengan data model, memperbaiki bug, atau mengadaptasi driver untuk browser lain:

https://github.com/iscarelli/niimbot-web-bluetooth

Pemilik Niimbot dapat membantu mengisi database model; prosesnya memakan waktu sekitar sepuluh menit dan dua label.

Sanggahan

Sampai perusahaan mengklarifikasi perbedaan tersebut, pengembang harus bekerja dengan nilai yang telah diukur.

Poin utamanya sederhana: perangkat keras yang Anda panggil dari halaman web mungkin tidak melakukan apa yang dijanjikan dalam lembar spesifikasinya. Verifikasi parameter kritis, antisipasi kegagalan senyap, dan pilihlah driver yang menunjukkan ketidakpastian alih-alih menyembunyikannya.