A impressora de etiquetas mente sobre o DPI
Um driver de Web Bluetooth de código aberto mostra que a impressora de etiquetas N1 da Niimbot, anunciada como um dispositivo de 300 dpi, na verdade imprime a aproximadamente 203 dpi.
O desenvolvedor criou o driver para imprimir diretamente de uma página web em vez de usar o aplicativo móvel da Niimbot. Ele realizou engenharia reversa no protocolo proprietário e o expôs aos navegadores por meio da Web Bluetooth API. Ao fazer isso, ele descobriu não apenas um recurso ausente, mas uma especificação incorreta fundamental que pode arruinar embalagens de pequenos lotes, etiquetas de inventário ou projetos de hobby onde a precisão é importante.
Como a especificação incorreta surgiu
A Niimbot comercializa a N1 como uma impressora de 300 dpi, implicando 300 pontos por polegada. O desenvolvedor imprimiu uma imagem com escala de régua e um padrão de teste numerado, e então mediu as marcas com uma régua física. Os cálculos apontaram consistentemente para cerca de 203 dpi, não os 300 alegados.
Quatro lições difíceis aprendidas ao escrever um driver de hardware
Um trabalho “bem-sucedido” pode não produzir nada. A impressora transmite dados em rajadas. Em algumas plataformas, a pilha Bluetooth descarta uma escrita sem relatar um erro. O driver assume que o trabalho foi concluído, mas a etiqueta sai em branco ou truncada. O autor agora lê o contador de páginas físico da impressora após cada trabalho para verificar se uma folha foi realmente alimentada.
A documentação não é a realidade. A afirmação de 300 dpi é um exemplo claro. As especificações podem ser otimistas, desatualizadas ou simplesmente erradas. Os desenvolvedores devem medir os parâmetros críticos por conta própria quando a fidelidade visual é importante.
Marcas físicas superam testes de “ajuste”. Imprimir uma imagem para ver se ela cabe na área da etiqueta mascara erros de resolução, largura da cabeça de impressão ou deslocamento. Imprimir uma marca geométrica conhecida e medir sua localização exata revela o verdadeiro comportamento do dispositivo.
Um protocolo descreve a gramática, não o temperamento do hardware. Duas impressoras podem compartilhar o mesmo conjunto de comandos e, ainda assim, comportar-se de maneira diferente — uma lida com repetições rápidas de página, outra trava. O driver não pode assumir um desempenho idêntico baseando-se apenas na documentação do protocolo; cada modelo precisa de testes no mundo real.
Por que o driver é importante
O driver nunca finge saber tudo. Sempre que ele infere um valor em vez de lê-lo da impressora, ele sinaliza o campo como uma suposição. Essa transparência evita erros silenciosos que, de outra forma, consumiriam horas de depuração.
Como obter o driver
O driver funciona no Chrome ou Edge e precisa apenas de um dispositivo com Bluetooth habilitado e uma impressora Niimbot compatível. Experimente a demonstração ao vivo em:
https://iscarelli.github.io/niimbot-web-bluetooth/demo/
O código-fonte está no GitHub, onde a comunidade pode contribuir com dados de modelos, corrigir bugs ou adaptar o driver para outros navegadores:
https://github.com/iscarelli/niimbot-web-bluetooth
Proprietários de Niimbot podem ajudar a popular o banco de dados de modelos; o processo leva cerca de dez minutos e duas etiquetas.
Contraponto
Até que a empresa esclareça a discrepância, os desenvolvedores devem trabalhar com o valor medido.
A conclusão é simples: o hardware que você chama de uma página web pode não fazer o que sua ficha técnica promete. Verifique os parâmetros críticos, espere por falhas silenciosas e escolha drivers que exponham a incerteza em vez de escondê-la.
