L'imprimante d'étiquettes ment sur son DPI

Un pilote Web Bluetooth open-source montre que l'imprimante d'étiquettes N1 de Niimbot, annoncée comme un appareil de 300 dpi, imprime en réalité à environ 203 dpi.

Le développeur a conçu le pilote pour imprimer directement depuis une page web au lieu d'utiliser l'application mobile de Niimbot. Il a procédé à l'ingénierie inverse du protocole propriétaire et l'a exposé aux navigateurs via l'API Web Bluetooth. Ce faisant, il a découvert non seulement une fonctionnalité manquante, mais aussi une erreur de spécification fondamentale qui peut compromettre l'emballage de petits lots, les étiquettes d'inventaire ou les projets de loisirs où la précision est cruciale.

Comment l'erreur de spécification a été mise au jour

Niimbot commercialise la N1 comme une imprimante de 300 dpi, ce qui implique 300 points par pouce. Le développeur a imprimé une image à l'échelle d'une règle ainsi qu'un motif de test numéroté, puis a mesuré les marques avec une règle physique. Les calculs indiquaient systématiquement environ 203 dpi, et non les 300 annoncés.

Quatre leçons durement acquises lors de l'écriture d'un pilote matériel

  1. Une tâche « réussie » peut ne rien produire. Le flux de données de l'imprimante se fait par rafales. Sur certaines plateformes, la pile Bluetooth ignore une écriture sans signaler d'erreur. Le pilote suppose que la tâche est terminée, pourtant l'étiquette sort blanche ou tronquée. L'auteur lit désormais le compteur de pages physique de l'imprimante après chaque tâche pour vérifier qu'une feuille a bien été entraînée.

  2. La documentation n'est pas la réalité. L'affirmation des 300 dpi en est un exemple frappant. Les spécifications peuvent être optimistes, obsolètes ou tout simplement erronées. Les développeurs doivent mesurer eux-mêmes les paramètres critiques lorsque la fidélité visuelle est en jeu.

  3. Les marques physiques l'emportent sur les tests d'« ajustement ». Imprimer une image pour voir si elle s'adapte à la zone de l'étiquette masque les erreurs de résolution, de largeur de tête d'impression ou de décalage. Imprimer une marque géométrique connue et mesurer son emplacement exact révèle le comportement réel de l'appareil.

  4. Un protocole décrit la grammaire, pas le tempérament du matériel. Deux imprimantes peuvent partager le même jeu de commandes tout en se comportant différemment : l'une gère les répétitions rapides de pages, l'autre cale. Le pilote ne peut pas supposer des performances identiques en se basant uniquement sur la documentation du protocole ; chaque modèle nécessite des tests en conditions réelles.

Pourquoi ce pilote est important

Le pilote ne prétend jamais tout savoir. Chaque fois qu'il déduit une valeur au lieu de la lire directement sur l'imprimante, il marque le champ comme une estimation. Cette transparence permet d'éviter les erreurs silencieuses qui, autrement, consommeraient des heures de débogage.

Obtenir le pilote

Le pilote fonctionne dans Chrome ou Edge et nécessite uniquement un appareil compatible Bluetooth et une imprimante Niimbot prise en charge. Essayez la démo en direct sur :

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

Le code source est disponible sur GitHub, où la communauté peut contribuer aux données de modèles, corriger des bugs ou adapter le pilote pour d'autres navigateurs :

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

Les propriétaires de Niimbot peuvent aider à alimenter la base de données des modèles ; le processus prend environ dix minutes et deux étiquettes.

Nuance

Tant que l'entreprise n'aura pas clarifié cette divergence, les développeurs devront travailler avec la valeur mesurée.

La conclusion est simple : le matériel que vous appelez depuis une page web peut ne pas faire ce que sa fiche technique promet. Vérifiez les paramètres critiques, attendez-vous à des échecs silencieux et choisissez des pilotes qui exposent l'incertitude au lieu de la dissimuler.