Plataforma de Comunicação Elgin versão 3.13.9
Documentação das bibliotecas de integração com hardware Elgin
Serviço

Módulo para comunicação via serviço. Mais...

Módulos

 Termica
 
 Etiqueta
 
 SAT
 

Funções

boolean isAberto ()
 Método consultor que retorna o estado da conexão com o serviço. Mais...
 
int GetTipoComando ()
 Método consultor que retorna o tipo de comando usado na comunicação, o formato da mensageria. Mais...
 
int SetTipoComando (int tC)
 Método mutante que define o tipo de comando a ser usado na comunicação, o formato da mensageria. Mais...
 
String GetSepValores ()
 Método consultor que retorna o separador de valores usado na comunicação. Mais...
 
int SetSepValores (String sV)
 Método mutante que define o separador de valores usado na comunicação. Mais...
 
int Abrir (final String enderecoIP, final int porta)
 Método utilizado para estabelecer uma conexão TCP/IP com o serviço. Mais...
 
int Fechar ()
 Método utilizado para encerrar uma conexão TCP/IP com o serviço. Mais...
 
byte[] ReceberDados (Inteiro result)
 Método utilizado para realizar uma leitura na porta de comunicação TCP/IP com o serviço. Mais...
 
byte[] ReceberDados (Inteiro result, int timeout)
 Método utilizado para realizar uma leitura na porta de comunicação TCP/IP com o serviço. Mais...
 

Descrição detalhada

Módulo para comunicação via serviço.

A classe ServicoE1, do pacote com.elgin.e1.Servico, permite estabelecer uma comunicação TCP/IP com o serviço Elgin que estiver executando em algum computador da rede. Essa classe suporta mensageria no formato JSON ou delimitado (pipeado).

Uso do serviço para comunicação com impressoras térmicas

O exemplo abaixo ilustra, por meio do serviço em ambiente Android, como abrir uma conexão com a impressora, avançar 50 linhas de papel ("imprimir em branco") e fechar a conexão.

import com.elgin.e1.Servico.ServicoE1;
// ...
ServicoE1.Abrir("192.168.10.35", 89); // Estabelece conexao com servico (rodando em Desktop)
ServicoE1.Termica.AbreConexaoImpressora(3, "I9", "192.168.10.98", 9100); // Solicita abertura de conexao com a impressora
byte[] RETORNO = ServicoE1.Termica.AvancaPapel(50); // Solicita avanco de papel e salva retorno em RETORNO
ServicoE1.Termica.FechaConexaoImpressora(); // Solicita fechamento de conexao com a impressora
ServicoE1.Fechar(); // Encerra conexao com servico
System.out.println("Retorno: " + new String(RETORNO)); // Imprime resultado do comando AvancaPapel
// ...


Uso do serviço para comunicação com impressoras de etiqueta

O exemplo abaixo ilustra, por meio do serviço em ambiente Android, como alterar a velocidade de impressão, gerar um texto na etiqueta e imprimi-la.

import com.elgin.e1.Servico.ServicoE1;
// ...
ServicoE1.Abrir("192.168.10.35", 89); // Estabelece conexao com servico (rodando em Desktop)
ServicoE1.Etiqueta.SetVelImpressao(11); // Solicita alteração na velocidade de impressao
ServicoE1.Etiqueta.Limpa(1); // Solicita limpeza nos campos da etiqueta, mantendo as propriedades de impressao
ServicoE1.Etiqueta.GerarTexto(1, 4, 1, 1, 100, 100, "Texto demonstrativo..."); // Solicita geracao de texto na etiqueta
byte[] RETORNO = ServicoE1.Etiqueta.Imprime(1, "L42PRO", "USB", 0); // Solicita impressao da etiqueta e salva retorno em RETORNO
ServicoE1.Fechar(); // Encerra conexao com servico
System.out.println("Retorno: " + new String(RETORNO)); // Imprime resultado do comando Imprime
// ...


Uso do serviço para comunicação com o Smart SAT

O exemplo abaixo ilustra, por meio do serviço em ambiente Android, como consultar o SAT.

import com.elgin.e1.Servico.ServicoE1;
// ...
ServicoE1.Abrir("192.168.10.35", 89); // Estabelece conexao com servico (rodando em Desktop)
byte[] RETORNO = ServicoE1.SAT.ConsultarSat(123456); // Solicita consulta ao SAT e salva retorno em RETORNO
ServicoE1.Fechar(); // Encerra conexao com servico
System.out.println("Retorno: " + new String(RETORNO)); // Imprime resultado do comando ConsultarSat
// ...

Funções

◆ isAberto()

boolean isAberto ( )

Método consultor que retorna o estado da conexão com o serviço.

Retorna
O retorno da função é do tipo boolean.
  • Se houver comunicação com o serviço, i.e. a conexão foi aberta, o retorno será true.
  • Caso contrário, o retorno será false.

◆ GetTipoComando()

int GetTipoComando ( )

Método consultor que retorna o tipo de comando usado na comunicação, o formato da mensageria.

Retorna
O retorno da função é do tipo numérico.
  • Se o tipo de comando for o JSON, o retorno será 0.
  • Se o tipo de comando for o delimitado (pipeado), o retorno será 1.

◆ SetTipoComando()

int SetTipoComando ( int  tC)

Método mutante que define o tipo de comando a ser usado na comunicação, o formato da mensageria.

Parâmetros
tC- Tipo de comando que será usado na comunicação.
Valores válidos:
Valor Formato
0 JSON
1 Delimitado (pipeado)

  • Valor padrão: 0
Retorna
O retorno da função é do tipo numérico.
A função bem-sucedida deve retornar 0.

◆ GetSepValores()

String GetSepValores ( )

Método consultor que retorna o separador de valores usado na comunicação.

Retorna
O retorno da função é do tipo cadeia de caracteres (String).
A função deve retornar a sequência de caracteres usada como separador de valores.

◆ SetSepValores()

int SetSepValores ( String  sV)

Método mutante que define o separador de valores usado na comunicação.

O separador de valores, utilizado quando o tipo de comando estiver definido como 1 (modo delimitado/pipeado), auxilia o serviço na interpretação da função, associando os valores dos argumentos aos seus respectivos parâmetros.

Parâmetros
sV- Separador de valores que será usado na comunicação.
Valores válidos:

‍Qualquer sequência de caracteres que separe adequadamente os argumentos da função.


Valor padrão: :|
Retorna
O retorno da função é do tipo numérico.
A função bem-sucedida deve retornar 0.

◆ Abrir()

int Abrir ( final String  enderecoIP,
final int  porta 
)

Método utilizado para estabelecer uma conexão TCP/IP com o serviço.

Parâmetros
enderecoIP- Parâmetro do tipo caractere que define o endereço IP do host em que o serviço está sendo executado. Valor de exemplo:

‍192.168.0.20


porta- Parâmetro do tipo numérico que informa a porta usada pelo serviço. A porta padrão é a 89, no entanto, ela pode ser modificada no monitor do serviço.
Retorna
O retorno da função é do tipo numérico.
A função bem-sucedida deve retornar 0.

◆ Fechar()

int Fechar ( )

Método utilizado para encerrar uma conexão TCP/IP com o serviço.

Encerra a conexão previamente estabelecida pelo método Abrir.

Retorna
O retorno da função é do tipo numérico.
A função bem-sucedida deve retornar 0.

◆ ReceberDados() [1/2]

byte[] ReceberDados ( Inteiro  result)

Método utilizado para realizar uma leitura na porta de comunicação TCP/IP com o serviço.

Útil para limpar o buffer de leitura caso alguma função executada anteriormente tenha sido malsucedida.
Essa versão do método assume um timeout de três segundos.

O método ReceberDados(result) tem o mesmo efeito que:

ReceberDados(result, 3000)


◆ ReceberDados() [2/2]

byte[] ReceberDados ( Inteiro  result,
int  timeout 
)

Método utilizado para realizar uma leitura na porta de comunicação TCP/IP com o serviço.

Útil para limpar o buffer de leitura caso alguma função executada anteriormente tenha sido malsucedida.
Essa versão do método assume o timeout definido pelo usuário.

Parâmetros
result- Parâmetro que armazenará a quantidade de dados lidos do buffer de leitura.
Se nenhum dado for lido, esse parâmetro armazenará o valor 0; em caso de erro, armazenará o código do erro correspondente.

Perceba que este parâmetro recebe, como argumento, um objeto da classe Inteiro.
Essa classe representa um número inteiro e precisa ser importada:

‍import com.elgin.e1.Impressora.Utilidades.Inteiro;


Possui dois construtores: um construtor padrão (sem argumentos), que inicializa o objeto com valor 0; e um construtor com um argumento do tipo int, que inicializa o objeto com o valor passado nesse argumento. Para a função ReceberDados, sugere-se usar o construtor padrão (sem argumentos).

Exemplo:

‍Inteiro result = new Inteiro(); // #1
byte[] dados = ServicoE1.ReceberDados(result, 3000);
int valor = result.getValor(); // #2


  • #1: Objeto que será passado ao parâmetro.
  • #2: Depois de executar a função ReceberDados, obtenha o valor armazenado em result através do método getValor, da classe Inteiro.
timeout- Parâmetro do tipo numérico que define o timeout da função, isto é, o tempo máximo que este método deve aguardar para receber os dados.

O timeout é dado em milissegundos e deve ser um valor positivo; o valor 0 é interpretado como infinito (sem timeout).
Na ocorrência de timeout, este método retornará um array vazio e o valor do parâmetro result será 0.
Retorna
A função bem-sucedida deve retornar um array de bytes com os dados lidos do buffer de leitura.
Se nenhum dado for lido, será retornado um array vazio; em caso de erro, a função retornará null.