La impresora de etiquetas miente sobre los DPI
Un controlador de Web Bluetooth de código abierto muestra que la impresora de etiquetas N1 de Niimbot, publicitada como un dispositivo de 300 dpi, en realidad imprime a unos 203 dpi aproximadamente.
El desarrollador creó el controlador para imprimir directamente desde una página web en lugar de usar la aplicación móvil de Niimbot. Realizó ingeniería inversa al protocolo propietario y lo expuso a los navegadores a través de la Web Bluetooth API. Al hacerlo, no solo descubrió una funcionalidad ausente, sino una especificación errónea fundamental que puede arruinar el embalaje de lotes pequeños, las etiquetas de inventario o proyectos de aficionados donde la precisión es importante.
Cómo salió a la luz la especificación errónea
Niimbot comercializa la N1 como una impresora de 300 dpi, lo que implica 300 puntos por pulgada. El desarrollador imprimió una imagen con escala de regla y un patrón de prueba numerado, y luego midió las marcas con una regla física. Los cálculos señalaron consistentemente unos 203 dpi, no los 300 anunciados.
Cuatro lecciones difíciles de aprender al escribir un controlador de hardware
Un trabajo "exitoso" puede no producir nada. La impresora transmite datos en ráfagas. En algunas plataformas, la pila Bluetooth descarta una escritura sin informar de un error. El controlador asume que el trabajo ha terminado, pero la etiqueta sale en blanco o truncada. El autor ahora lee el contador de páginas físico de la impresora después de cada trabajo para verificar que realmente se haya alimentado una hoja.
La documentación no es la realidad. La afirmación de los 300 dpi es un ejemplo claro. Las especificaciones pueden ser optimistas, estar desactualizadas o simplemente ser incorrectas. Los desarrolladores deben medir ellos mismos los parámetros críticos cuando la fidelidad visual es importante.
Las marcas físicas superan a las pruebas de "ajuste". Imprimir una imagen para ver si cabe en el área de la etiqueta oculta errores de resolución, de ancho del cabezal de impresión o de desplazamiento. Imprimir una marca geométrica conocida y medir su ubicación exacta revela el comportamiento real del dispositivo.
Un protocolo describe la gramática, no el temperamento del hardware. Dos impresoras pueden compartir el mismo conjunto de comandos y, sin embargo, comportarse de manera diferente: una maneja repeticiones rápidas de páginas, la otra se detiene. El controlador no puede asumir un rendimiento idéntico basándose únicamente en la documentación del protocolo; cada modelo necesita pruebas en el mundo real.
Por qué es importante el controlador
El controlador nunca pretende saberlo todo. Siempre que infiere un valor en lugar de leerlo de la impresora, marca el campo como una suposición. Esta transparencia evita errores silenciosos que, de otro modo, consumirían horas de depuración.
Cómo obtener el controlador
El controlador se ejecuta en Chrome o Edge y solo necesita un dispositivo con Bluetooth y una impresora Niimbot compatible. Prueba la demo en vivo en:
https://iscarelli.github.io/niimbot-web-bluetooth/demo/
El código fuente se encuentra en GitHub, donde la comunidad puede contribuir con datos de modelos, corregir errores o adaptar el controlador para otros navegadores:
https://github.com/iscarelli/niimbot-web-bluetooth
Los propietarios de Niimbot pueden ayudar a completar la base de datos de modelos; el proceso toma unos diez minutos y dos etiquetas.
Contrapunto
Hasta que la empresa aclare la discrepancia, los desarrolladores deben trabajar con el valor medido.
La conclusión es sencilla: el hardware que llamas desde una página web puede no hacer lo que promete su hoja de especificaciones. Verifica los parámetros críticos, espera fallos silenciosos y elige controladores que expongan la incertidumbre en lugar de ocultarla.
