zplCloud Blog
GK420 + Raspberry Pi: uma impressora USB clássica como impressora cloud
Na hora de comprar, compre Link-OS. Mantenha o que funciona enquanto funcionar. As duas acabam na mesma plataforma.
A recomendação honesta primeiro
Se você vai comprar uma impressora de etiquetas hoje, compre uma Zebra com Link-OS - ZD421, ZD621 ou maior. Cloud Connect / Weblink é integrado, tem Wi-Fi, cabeça de impressão mais rápida, variantes 300 dpi e RFID, e gerenciamento remoto de firmware e configurações. Conectá-la ao zplCloud é um one-liner e ela continua gerenciável por anos.
Não é essa a pergunta da maioria das oficinas e pequenos armazéns. A deles é:
"Tem uma GK420d na bancada de embalagem. Ela imprime etiquetas de envio todos os dias desde 2014 e nunca falhou, mas só tem USB. Precisamos sucateá-la para imprimir do cloud?"
Não.
O que essas impressoras podem e não podem fazer
As GK420d/GK420t, GC420, LP2844 e a antiga série TLP são mecanicamente excelentes e simples: 203 dpi, térmica direta ou transferência térmica, EPL2 e ZPL II. Milhões ainda estão em serviço.
Falta exatamente uma coisa: conectividade. Sem Link-OS, portanto sem Weblink e sem Cloud Connect. Muitas são só USB. Do ponto de vista do cloud, elas não existem.
Elas ainda têm tudo o que custa caro substituir: uma cabeça de impressão funcional, o rolo e o sensor de mídia - e um dispositivo que sua equipe já conhece.
As peças
| Peça | Custo | Nota |
|---|---|---|
| Raspberry Pi Zero 2 W, 3, 4 ou 5 | ~20–80 € | qualquer Raspberry Pi OS de 64 bits; uma Zero 2 W gerencia uma ou duas impressoras |
| Fonte, microSD, cabo USB | ~15 € | o cabo existente da impressora funciona (Pi Zero: adaptador micro-USB OTG) |
| Agente CLI zplCloud | incluído | Starter inclui 1 agente de impressora remota, Pro 5 |
| Total | menos de 100 € | contra várias centenas por uma nova impressora Link-OS de mesa |
O agente consome watts de um dígito, roda como serviço systemd, reconecta sozinho após queda de energia e não precisa de portas de entrada, VPN nem mudança de firewall - ele abre uma conexão de saída para api.zplcloud.com.
Configuração, cerca de 20 minutos
1. Prepare a Pi
Grave o Raspberry Pi OS Lite (64-bit) com o Raspberry Pi Imager. Ative SSH e Wi-Fi nas configurações do imager antes de escrever o cartão, inicialize, faça login.
2. Conecte a impressora
lsusb
# Bus 001 Device 004: ID 0a5f:0084 Zebra Technologies ...
O ID do fabricante 0a5f é Zebra. Essa é toda a história do driver - o agente fala com a impressora via classe de impressora USB (libusb). Sem CUPS, sem spooler, sem driver do fabricante.
Se nada aparecer: use um cabo de dados, não um só de carga, e dê a uma Pi Zero um hub alimentado se a impressora consumir mais do que a porta fornece.
3. Instale a CLI
curl -fsSL https://zplcloud.com/install-cli.sh | sh
zplcloud --version
zplcloud usb list
O instalador escolhe a build certa: linux-arm64 para Pi OS de 64 bits, linux-arm para 32 bits. usb list deve mostrar o dispositivo de classe de impressora Zebra.
4. Imprima uma etiqueta de teste da Pi
zplcloud send --usb --zpl "^XA^FO50,50^A0N,32,32^FDHello from the Pi^FS^XZ"
Se uma etiqueta sair, o lado do hardware está pronto.
Se nada acontecer, verifique o modo de idioma. Uma GK420 pode estar rodando EPL2, caso em que o ZPL chega como texto e é ignorado. A etiqueta de configuração informa qual modo está ativo. O acesso USB também precisa de permissões - sudo é ok para o teste; para o serviço, uma regra udev dando o dispositivo a um grupo é a solução limpa.
5. Rode o agente como serviço
Crie uma chave de API na plataforma (aba API), depois:
sudo zplcloud proxy --agent "Packing table Pi" --service-install --api-key sk_zplcloud_xxxx
systemctl status zplcloud-agent
journalctl -u zplcloud-agent -f
Isso instala zplcloud-agent.service com Restart=always. A Pi agora conecta na inicialização e encaminha cada trabalho para a impressora USB.
Docker também funciona: mapeie /dev/bus/usb no contêiner e defina ZPLCLOUD_API_KEY e ZPLCLOUD_AGENT (veja docker-compose.agent.yml). Uma Pi pode servir várias impressoras USB e impressoras LAN via TCP 9100 ao mesmo tempo.
6. Imprima de qualquer lugar
O agente aparece em Remote Printers com sua impressora USB, e de lá é uma impressora zplCloud normal: designer, API REST, trabalhos em lote de CSV/JSON, fontes de dados Kafka ou SQL, Print Views para a equipe de embalagem, fila com retries, webhooks em sucesso ou falha.
Três coisas para saber sobre impressoras antigas
Fontes. Uma GK420 tem alguns megabytes de flash. A fonte Unicode de 11 MB do ZPLCloud não cabe e a variante slim de 7 MB é apertada. Verifique antes de enviar qualquer coisa:
zplcloud send --usb --zpl '! U1 getvar "memory.flash_free"'
Use Liberation Sans (0,4 MB) para texto latino acentuado, ou deixe o zplCloud renderizar o texto como gráfico - o designer faz isso automaticamente para campos de texto em modo imagem. Para CJK numa GK420, o modo imagem é a resposta. Uma fonte de ícones construída de SVGs tem só alguns KB e cabe confortavelmente.
Resolução e velocidade. 203 dpi, cerca de 4 ips. Ótimo para envio, produto e prateleira; não para códigos 2D densos em eletrônicos pequenos.
Sem RFID, sem 300 dpi, sem Wi-Fi na impressora. Se você precisa disso, é o momento de comprar novo - e a troca é barata, porque designs, bindings, Print Views e chamadas de API permanecem idênticos. Só a entrada da impressora muda.
Por que mantê-la é a resposta defensável
Uma impressora funcionando numa caçamba é o pior resultado possível: a energia incorporada da mecânica e eletrônica, mais o envio de um substituto. Uma GK420 que ainda imprime bem precisa de uma cabeça de impressão a cada poucos anos - uma peça de reposição, não um dispositivo novo. A Pi adiciona aproximadamente o consumo de uma lâmpada LED.
Compre Link-OS quando comprar. Mantenha o que funciona enquanto funciona. O zplCloud trata ambos igualmente.