Nenhum driver de impressora de braço? Basta escrever o seu próprio

Quando você pensa nas pequenas máquinas que imprimem os rótulos pegajosos em pacotes, talvez não espere encontrar uma impressora complexa com sua própria linguagem de programação (ZPL). No entanto, [Dan Pastussek] estava olhando em volta on-line e encontrou uma pequena impressora de etiquetas na instalação de armazenamento on-line favorita de todos, por um ótimo preço que sugeriu que ele suportasse ZPL. Infelizmente, [Dan] tinha grandes sonhos para criar uma estação de impressão baseada em Raspberry PI e encontrou os motoristas embalados para esta impressora em particular não foram compatíveis com braço. Não é muito contente em deixá-lo lá, ele começou a se afastar nas camadas até ter um motorista de trabalho.

ZPL, em seu núcleo, é apenas uma linguagem que descreve os comandos ASCII transmitidos por uma conexão serial. Então, enquanto a impressora apareceu como um ponto final, não estava funcionando como filtros (a parte do motorista que sabe como converter de um PNG para ZPL) era apenas x86. No Linux, os motoristas de impressora também têm um arquivo PPD que descreve o que uma impressora pode lidar no tamanho do papel e em outras configurações. O arquivo PPD para a pequena impressora deu a primeira pista. No campo Shortnickname, ele se identifica como HPRT N41, que é uma impressora HP popular. Então esta pequena impressora deve ser um clone de uma impressora nessa família. Notavelmente, eles não suportam ZPL. Em vez disso, a série HPRT suporta o TSPL, outra linguagem de impressora desenvolvida pela TSC.

Isso apresentou um problema como o serviço de envio que oferecia os rótulos que [Dan] estava usando etiquetas fornecidas em três formatos: PNG, PDF e ZPL. Atualmente, parece que há um conversor TSPL no ZPL para uso, então em vez de escrever o seu próprio, ele pegou um atalho e escreveu um rasterizador. Inicialmente, ele tentou usar algum código de amostra que ele encontrou, e enquanto ele conseguiu algo para sair da impressora, estava em branco. Portanto, o próximo teste foi salvar a saída TSPL bruta de um arquivador e gato diretamente para a porta serial. Isso funcionou incrivelmente. Em seguida, ele escreveu um conversor para pegar um PNG e convertê-los no formato Bitmap que o TSPL possui. O conversor está em JavaScript, pois é executado como parte do WebServer que gerencia a estação de impressão. Será mais rápido em uma língua diferente? Certo. Mas uma língua diferente não faria a impressora mais rápido.

Com a adição de um scanner de código de barras sem fio, é satisfatório ver a estação de impressão em funcionamento. Aqui no Hackaday, não somos estranhos para ver as pessoas retirarem impressoras para descascar o software e as camadas físicas que os compõem.

Leave a Reply

Your email address will not be published. Required fields are marked *

Related Post