zplCloud Blog

App zplCloud para Android: a impressora via USB, do celular

! U1 setvar "device.reset" "on" - enviado do aparelho que está no seu bolso, sem PC, sem driver, sem rede.

3 min de leitura zplCloud Team

A impressora nunca está perto de um computador

Celular Android enviando comandos setvar por um cabo USB OTG a uma impressora Zebra

Uma impressora em mau estado é um problema físico: lixo no display, uma configuração de escuridão que alguém mexeu, uma config Wi-Fi que aponta para o SSID do ano passado. Consertá-la significa ficar ao lado do dispositivo - numa empilhadeira, num rack, no fundo de um caminhão - e o único computador ao alcance é um celular.

O app zplCloud para Android fala com a impressora via um simples cabo USB. Sem laptop, sem adaptador serial, sem direitos de administrador em nada, e sem rede funcionando na impressora - o que importa, porque uma config de rede quebrada é exatamente o que muitas vezes você está lá para consertar.

Por que funciona no Android e não no iOS

O Android expõe o modo host USB: com um cabo OTG o celular vira o host e pode reivindicar um dispositivo USB. O app (baseado em Capacitor) usa isso para abrir um canal para a interface de comandos da impressora.

O iOS não tem API pública equivalente para reivindicar dispositivos USB arbitrários. No iPhone e iPad, os mesmos trabalhos rodam pelo caminho de rede - Weblink ou o agente CLI. Isso é uma limitação de plataforma, não um item de roadmap.

Dois caminhos USB

ModoComo conectaQuando usar
Zebra SDKvia driver USB Zebra / camada Link-OS SDKa impressora se apresenta como dispositivo USB Zebra padrão
USB serial direto (CDC-ACM)driver integrado, sem componentes Zebraa impressora está em modo USB-CDC; o Android pede uma vez a permissão USB

Ambos terminam no mesmo lugar: um canal bidirecional que transporta SGD e ZPL. Se um caminho não enumera o dispositivo, tente o outro antes de presumir que o cabo ou a impressora é o culpado.

Os comandos que importam

Tudo abaixo é SGD padrão pelo mesmo canal - o app é um teclado para a interface de comandos da impressora, não um protocolo proprietário.

Confirme que está falando com o dispositivo certo:

! U1 getvar "device.friendly_name"

Se retornar o nome, o canal funciona e todo o resto também. Faça isso primeiro; separa um problema de cabo de um problema de comando.

Redefina para um estado limpo:

! U1 setvar "device.reset" "on"

Despeje a configuração completa - útil antes de mudar qualquer coisa, para poder restaurá-la:

{}{"allconfig":null}

Verifique o que a impressora acha do próprio armazenamento antes de carregar fontes ou gráficos:

! U1 getvar "memory.flash_free"

Variáveis de rede e escuridão são definidas da mesma forma. O ponto é que nada aqui é específico do app: as mesmas strings funcionam na CLI (zplcloud send --usb --zpl "…") quando você volta a uma mesa.

Configuração

1. Instale o app zplCloud no celular ou tablet Android.

2. Conecte a impressora com um cabo USB/OTG e ligue-a.

3. Conceda a permissão USB quando o Android pedir e escolha o modo de conexão.

4. Consulte, defina ou redefina.

Notas práticas

  • Use um cabo de dados. Um cabo USB só de carga não enumera nada, e o sintoma parece exatamente uma impressora não suportada.
  • Leia antes de escrever. getvar primeiro, setvar depois. Uma config despejada é a diferença entre um conserto de cinco minutos e uma impressora que ninguém consegue restaurar.
  • Um reset não é um reset de fábrica. device.reset reinicia a impressora; não apaga suas fontes, formatos ou configurações de rede. Saiba qual você realmente quer antes de digitar.
  • Leve o celular até a impressora, não a impressora até a mesa. Esse é todo o ponto - uma impressora parafusada num rack não precisa ser desmontada para ser reconfigurada.

Relacionados

Mais artigos