• Nenhum resultado encontrado

ÍNDICE. 2.1 Arquivos e Pastas PREIMG.CFG IMAGES.CFG 4

N/A
N/A
Protected

Academic year: 2021

Share "ÍNDICE. 2.1 Arquivos e Pastas PREIMG.CFG IMAGES.CFG 4"

Copied!
21
0
0

Texto

(1)
(2)

2

ÍNDICE

1- INTRODUÇÃO 3 2- CARACTERÍSTICAS GERAIS 3 2.1 – Arquivos e Pastas 3 2.2 – PREIMG.CFG 4 2.3 – IMAGES.CFG 4 3- PROTOCOLO DE COMUNICAÇÃO 5 3.1 – COMANDOS 5 Conexão 5 Configurações 7 Teclado 8 Cartão Magnético 9 Scanner 9 Display 10 Serial 12 Arquivos 13 Atualização 14

3.3 – ESTRUTURAS DOS ARGUMENTOS 15

3.5 – CORES PADRÕES 17

4- EXEMPLO DE COMUNICAÇÃO 18

(3)

3

1- INTRODUÇÃO

Este manual foi desenvolvido para auxílio ao desenvolvedor e contém a estrutura de arquivos e o protocolo de comunicação do terminal de consulta TC504.

2- CARACTERÍSTICAS GERAIS

Para operação do TC504 é necessário um aplicativo servidor que é um programa instalado em um microcomputador comum com a finalidade de tratar a conexão de todos os terminais, receber e enviar comandos e efetuar a busca no banco de dados. O aplicativo servidor exemplo pode ser encontrado no CD de Produtos Gertec que acompanha o produto ou no site www.gertec.com.br.

Depois de conectado ao servidor, toda a interação com o cliente será passada para a aplicação que terá como função tratar os comandos vindos dos terminais e efetuar comandos de resposta de acordo com a necessidade.

Quando iniciado, o TC504 começa a carregar as propagandas e as “preimages”. Quando pronto para operação, o TC504 inicia a exibição das propagandas e tenta, continuamente, se conectar ao programa servidor. Assim que a conexão ocorrer, inicia-se a troca de mensagens entre servidor e TC504.

(4)

4

2.2 – PREIMG.CFG

Para que o TC504 identifique quais imagens serão configuradas como “preimages” é necessário criar o arquivo “APPS/preimg.cfg”. Este arquivo contém a relação dos arquivos considerados como “preimages” e a identificação numérica delas.

Este arquivo deve sempre ser iniciado por < e finalizado por >.

A primeira imagem da lista será a número 0 a segunda imagem da lista será a 1 e assim sucessivamente.

Exemplo:

Considerando a estrutura de arquivos anterior o arquivo preimage.cfg pode ser:

2.3 – IMAGES.CFG

Para o controle das propagandas o arquivo de configuração é “APPS/images.cfg”. Este arquivo contém informações de quanto tempo a imagem ficará em exibição, no caso de gif animado será o tempo que o último quadro ficará em exibição, e quantas vezes a imagem será exibida na rotina tipo “loop”.

Exemplo:

Considerando a estrutura de arquivos anterior, a estrutura de cada linha do arquivo é:

| <nome da imagem> | <tempo> | <qtd de repetições da imagem> | <

|APPLE.BMP|5|0| |Estrada_long.gif|1|1| >

O primero número que aparece junto a imagem é o tempo de exibição da imagem estática ou último quadro de gif animado. O segundo número é a quantidade de vezes que esta imagem se

repetirá. < Banana.bmp Pbaiana.bmp APPLE.BMP >

Note que a imagem “colorb2.bmp” não esta na lista. Neste caso esta imagem, mesmo estando na pasta PREIMG não será carregada. A imagem pbaiana.bmp não será carregado também porque o nome

do arquivo está incorreto (letra maiúsculas são diferentes de minúsculas).

A identificação da imagem Banana.bmp será 0 e da APPLE.BMP será 1.

(5)

5

3- PROTOCOLO DE COMUNICAÇÃO

O protocolo de comunicação do TC504 é executado na camada de Aplicação do TCP/IP, utilizando um socket binário na porta 16510.

As mensagens trocadas entre o terminal e o servidor devem ser uma seqüência de bytes seguindo a estrutura:

Onde:

STX: Deve ser sempre o byte 2b (0x02). (1 byte)

Este byte serve para marcar o início de comando. ID: Identificador da mensagem. (2 bytes)

Cada mensagem possui um identificador diferente.

Tam Arg: Quantidade de bytes do argumento da mensagem. (4 bytes) Se a mensagem não possui argumento, este campo deve ser 0.

Argumento: Informações necessárias para o comando. (Tam Arg bytes) Se a mensagem não possui argumentos este campo não deve ser transmitido.

Os campos STX, ID e Tam Arg devem estar contidos em todas as mensagens trocadas entre a aplicação e o terminal de consulta e devem ser enviados em um único pacote TCP. O campo Argumento pode ser enviado em mais de um pacote TCP, seu tamanho pode variar de acordo com o tipo da mensagem a ser transmitida. Se a mensagem não possuir argumentos, este campo não deve ser transmitido.

No momento de enviar os dados, certifique-se que estejam no formato de armazenamento LITTLE ENDIANS (o byte menos significativo na primeira posição do comando).

3.1 – COMANDOS

Conexão

Mensagem ID (Hex) ID (dec) Origem Tipo Argumento Tam. Argumento (bytes)

IDwGetIdentify 13 19 Servidor Nenhum 0

Resposta

RIDwGetIdentify 14 20 Terminal DWORD 4

Este comando deve ser o primeiro comando a ser enviado para o terminal.

A resposta a este comando serão 4 bytes com a identificação do terminal de consulta para que o servidor saiba que esta trabalhando com um TC504.

(6)

6

31H – 1

01F8H – 504

xx – Versão do terminal ex. 21H – 2.1

22H – 2.2

Mensagem ID (Hex) ID (dec) Origem Tipo Argumento Tam. Argumento (bytes)

IDContinue 15 21 Servidor DWORD 4

Resposta

RIDContinue 16 22 Terminal Nenhum 0

Após receber a versão de terminal deve-se enviar este comando para que o terminal comece a funcionar. Este deve ser o segundo comando a ser enviado para o terminal. O argumento a ser enviado para o terminal deve ser 1 para aceitar a conxão e 0 para não aceitá-lo.

Mensagem ID (Hex) ID (dec) Origem Tipo Argumento Tam. Argumento (bytes)

IDvLive 11 17 Servidor Nenhum 0

Resposta

RIDvLive 12 18 Terminal Nenhum 0

Este comando não possui funcionalidade apenas solicita uma resposta do terminal de consulta para saber se está realmente conectado.

Quando o terminal de consulta fica mais de 2 minutos sem receber comandos ele se desconecta do servidor. Para evitar isto usa-se este comando de tempos em tempos para que o terminal permaneça conectado.

Mensagem ID (Hex) ID (dec) Origem Tipo Argumento Tam. Argumento (bytes)

IDvAlwaysLive 1D 29 Servidor DWORD 4

Resposta

RIDvAlwaysLive 1E 30 Terminal Nenhum 0

Este comando habilita ou desabilita a desconexão após 2 minutos sem receber comandos. Quando o argumento for 1 a desconexão está desabilitada, se for 0 a desconexão está habilitada.

(7)

7

Configurações

Mensagem ID (Hex) ID (dec) Origem Tipo Argumento Tam. Argumento (bytes) IDvSetSetupTCP 17 23 Servidor ARG_SETUP_TCP 222

Resposta

RIDvSetSetupTCP 18 24 Terminal DWORD 4

Com este comando é possível configurar a interface de rede remotamente. Os bytes com as configurações devem seguir a estrutura ARG_SETUP_TCP.

A resposta que o terminal de consulta retornará será 1 – caso as configurações do terminal foram alterados com sucesso ou 0 – o terminal não aceitou o comando.

Mensagem ID (Hex) ID (dec) Origem Tipo Argumento Tam. Argumento (bytes)

IDvGetSetupTCP 19 25 Servidor Nenhum 0

Resposta

RIDvGetSetupTCP 1A 26 Terminal ARG_SETUP_TCP 222

Este comando requisita do terminal de consulta as configurações atuais dele. O servidor não envia nenhum argumento para o terminal.

Recebe do terminal a estrutura de dados ARG_SERIAL_TCP.

Mensagem ID (Hex) ID (dec) Origem Tipo Argumento Tam. Argumento (bytes) IDvSetSetupWiFi 97 151 Servidor ARG_SETUP_WIFI 100

Resposta

RIDvSetSetupWiFi 98 152 Terminal DWORD 4

Com este comando é possível configurar a interface sem fio do terminal remotamente. Os bytes com as configurações devem seguir a estrutura ARG_SETUP_WIFI.

A resposta que o terminal de consulta retornará será 1 – caso as configurações do terminal foram alterados com sucesso ou 0 – o terminal não aceitou o comando.

Mensagem ID (Hex) ID (dec) Origem Tipo Argumento Tam. Argumento (bytes)

IDvGetSetupWiFi 99 153 Servidor Nenhum 0

Resposta

RIDvGetSetupWiFi 9A 154 Terminal ARG_SETUP_WIFI 100

Este comando requisita do terminal de consulta as configurações atuais dele. O servidor não envia nenhum argumento para o terminal.

(8)

8 Mensagem ID (Hex) ID (dec) Origem Tipo Argumento Tam. Argumento

(bytes)

IDvGetUID 1B 27 Servidor Nenhum 0

Resposta

RIDvGetUID 1C 28 Terminal ARG_UID 38

Requisita do terminal o MAC Address na interface de rede.

O terminal de consulta responde com as estrutura de dados ARG_UID.

Teclado

Mensagem ID (Hex) ID (dec) Origem Tipo Argumento Tam. Argumento (bytes)

IDvSetEnableKey 31 49 Servidor DWORD 4

Resposta

RIDvSetEnableKey 32 50 Terminal DWORD 4

Habilita/Desabilita o teclado frontal do terminal, quando o valor do argumento for 1 o teclado frontal está habilitado, quando 0 o teclado frontal estará desabilitado.

A resposta a este comando é se o terminal recebeu corretamente o comando (1) ou ocorreu erro no comando (0).

Mensagem ID (Hex) ID (dec) Origem Tipo Argumento Tam. Argumento (bytes)

IDbGetEnableKey 33 51 Servidor Nenhum 0

Resposta

RIDbGetEnableKey 34 52 Terminal DWORD 4

Requisita para o terminal o estado do teclado frontal.

A resposta do terminal terá o argumento 1 – caso o teclado frontal esteja habilitado ou 0 – caso o teclado frontal esteja desabilitado.

Mensagem ID (Hex) ID (dec) Origem Tipo Argumento Tam. Argumento (bytes)

IDcGetCharTerm 35 53 Terminal Byte 1

Resposta

RIDcGetCharTerm 36 54 Servidor Nenhum 0

Quando alguma tecla frontal do terminal é pressionada, o terminal envia para o servidor este comando com o argumento correspondendo ao byte (ASCII) referente a tecla pressionada.

(9)

9

Cartão Magnético

Mensagem ID (Hex) ID (dec) Origem Tipo Argumento Tam. Argumento (bytes)

IDvSetLEC 41 65 Servidor DWORD 4

Resposta

RIDvSetLEC 42 66 Terminal DWORD 4

Este argumento habilita/desabilita o leitor de cartão magnético. Se o argumento for 1 o leitor de código de barras estará habilitado e 0 o leitor estará desabilitado.

Como resposta, o terminal envia 1 se o comando foi aceito e 0 se houve erro no comando.

Mensagem ID (Hex) ID (dec) Origem Tipo Argumento Tam. Argumento (bytes)

IDbGetLEC 43 67 Servidor Nenhum 0

Resposta

RIDbGetLEC 44 68 Terminal DWORD 4

Este comando requisita o estado do leitor de cartão magnético.

Se a resposta do terminal for 1 – o leitor está habilitado, se for 0 – o leitor está desabilitado.

Mensagem ID (Hex) ID (dec) Origem Tipo Argumento Tam. Argumento (bytes) IDbReadBuffLEC 45 69 Terminal ARG_CARD_LEC 388

Resposta

RIDbReadBuffLEC 46 70 Servidor Nenhum 0

Quando um cartão magnético é lido, o terminal envia para o servidor a mensagem com a estrutura ARG_CARD_LEC.

O servidor envia como resposta uma mensagem sem argumento.

Scanner

Mensagem ID (Hex) ID (dec) Origem Tipo Argumento Tam. Argumento (bytes) IDbReadScanner* 59 89 Terminal ARG_SERIAL_DATA 258

Resposta

RIDbReadScanner 5A 90 Servidor Nenhum 0

Quando um código de barras é lido pelo terminal de consulta, os bytes lidos são enviados para o servidor para serem tratados.

O servidor responde ao comando sem argumento.

(10)

10

Display

Mensagem ID (Hex) ID (dec) Origem Tipo Argumento Tam. Argumento (bytes)

IDvDispClear 21 33 Servidor WORD 2

Resposta

RIDvDispClear 22 34 Terminal DWORD 4

Preenche todo o display com a cor escolhida.

Esta cor deve ser uma posição na paleta de cores usada pelo terminal (0 a 255) ou uma cor padrão usado no terminal (ver cores padrão). Como resposta o terminal envia se executou o comando (1) ou se houve erro na execução (0).

Mensagem ID (Hex) ID (dec) Origem Tipo Argumento Tam. Argumento (bytes) IDvShowText 23 35 Servidor ARG_DISPLAY_TEXT 170

Resposta

RIDvShowText 24 36 Terminal DWORD 4

Comando usado para escrever um texto na tela do terminal. O argumento deve serguir a estrutura ARG_DISPLAY_TEXT.

Como resposta ao comando, o terminal envia 1 se o comando foi executado com sucesso ou 0 caso ocorreu algum erro.

Mensagem ID (Hex) ID (dec) Origem Tipo Argumento Tam. Argumento (bytes) IDvShowImg 25 37 Servidor Stream Variável

Resposta

RIDvShowImg 26 38 Terminal DWORD 4

Envia uma imagem para o terminal. Como argumento o terminal deve enviar a paleta de cores contendo 768 bytes 3 bytes por cor (RGB) e 256 cores.

R0,G0,B0,R1,G1,B1, ... R255,G255,B255

Seguidos dos bytes indicando a cor usada em cada pixel da imagem. 1,5,10,255,6,78...

A imagem possui 320 pixels na horizontal e 240 pixels na vertical totalizando no máximo 76800 bytes. Cada byte que chega é representado no display como um pixel os bytes vão preenchendo a tela da esquerda para a direita, de cima para baixo conforme a figura abaixo: Y/X 0 1 2 ... 317 318 319 0 0 1 1 ... 317 318 319 1 321 322 333 ... 638 639 340 ... ... ... ... ... ... ... ... 239 76481 76481 76481 ... 76798 76799 76800

(11)

11 Mensagem ID (Hex) ID (dec) Origem Tipo Argumento Tam. Argumento

(bytes) IDvSendPalette 85 133 Servidor Stream 768

Resposta

RIDvSendPalette 86 134 Terminal DWORD 4

Este comando serve para enviar somente a paleta de cores para o terminal.

Este comando só é necessário caso as cores padrões do terminal não servirem para a aplicação.

Mensagem ID (Hex) ID (dec) Origem Tipo Argumento Tam. Argumento (bytes)

IDbSetTimeExhib 27 39 Servidor WORD 2

Resposta

RIDbSetTimeExhib 28 40 Terminal DWORD 4

Com este comando é possível alterar o tempo de exibição de textos e imagens no display (somente se as propagandas estiverem habilitadas).

O tempo deve ser considerado em segundos.

Mensagem ID (Hex) ID (dec) Origem Tipo Argumento Tam. Argumento (bytes)

IDvGetTimeExhib 29 41 Servidor Nenhum 0

Resposta

RIDvGetTimeExhib 2A 42 Terminal WORD 2

Solicita o atual tempo de exibição do terminal.

Mensagem ID (Hex) ID (dec) Origem Tipo Argumento Tam. Argumento (bytes)

IDGoADV 2B 43 Servidor Nenhum 0

Resposta

RIDGoADV 2C 44 Terminal DWORD 4

Este comando habilita o uso de propagandas.

A resposta do terminal é a confirmação do comando.

Mensagem ID (Hex) ID (dec) Origem Tipo Argumento Tam. Argumento (bytes)

IDStopADV 2D 45 Servidor Nenhum 0

Resposta

RIDStopADV 2E 46 Terminal DWORD 4

Este terminal faz parar a exibição de propagandas (desabilita propagandas). A resposta do terminal é a confirmação do comando.

(12)

12 Mensagem ID (Hex) ID (dec) Origem Tipo Argumento Tam. Argumento

(bytes)

IDvShowFrame 81 129 Servidor DWORD 4

Resposta

RIDvShowFrame 82 130 Terminal Nenhum 0

Este comando exibe uma preimage. O argumento passado é a preimage a ser exibida na tela. Exemplo:

0 – primeira preimage; 1 – segunda preimage; 2 – Terceira preimage;

Serial

Mensagem ID (Hex) ID (dec) Origem Tipo Argumento Tam. Argumento (bytes) IDvConfigSerialA 51 81 Servidor ARG_SERIAL_CFG 12

Resposta

RIDvConfigSerialA 52 82 Terminal DWORD 4

Configura a porta serial adicional, quando o campo Open estiver em 1 a porta serial é aberta quando 0 a porta é fechada.

O terminal responde com 1 caso a porta serial foi configurada com sucesso e 0 caso não foi possível configurá-la.

Mensagem ID (Hex) ID (dec) Origem Tipo Argumento Tam. Argumento (bytes) IDvReadSerialA 53 83 Terminal ARG_SERIAL_DATA 258

Resposta

RIDvReadSerialA 54 84 Servidor Nenhum 0

Sempre que o terminal recebe dados da porta serial, esses dados são transmitidos para o servidor por este comando.

Os dados são transmitidos sempre que há dados e estouro de timeout ou quando a quantidade de dados excede 256 bytes. Neste caso, mais de um comando é enviado.

Mensagem ID (Hex) ID (dec) Origem Tipo Argumento Tam. Argumento (bytes) IDvWriteSerialA 55 85 Servidor ARG_SERIAL_DATA 258

Resposta

RIDvWriteSerialA 56 86 Terminal DWORD 4

Para o servidor escrever na porta serial do terminal, é necessário o envio deste comando. Como argumento os dados a serem transmitidos.

(13)

13

Arquivos

Mensagem ID (Hex) ID (dec) Origem Tipo Argumento Tam. Argumento (bytes) IDvRecvFile 61 97 Servidor ARG_FILENAME 128

Resposta

RIDvRecvFile 62 98 Terminal ARG_GETFILENAME +

Stream Variável

Quando se quer requisitar um arquivo no terminal de consulta usa-se este comando com o argumento ARG_FILENAME (caminho + nome do arquivo) como padrão escreva:

“c:\IMAGES\imagem1.bmp”; “\images\imagem1.bmp”;

OBS: Não há diferença entre letras maiúsculas e minúsculas para o nome das pastas do sistema. Para o nome do arquivo, cuidado, pois há esta distinção.

Como resposta, o terminal retorna o argumento ARG_GETFILENAME com o nome do arquivo e o estatus (1 – Arquivo encontrado, 0 – Arquivo não encontrado). Se o arquivo foi encontrado os bytes que seguem são os do arquivos requisitado. Se o arquivo não foi encontrado, não haverá recebimento de nenhum outro byte.

Mensagem ID (Hex) ID (dec) Origem Tipo Argumento Tam. Argumento (bytes) IDvSendFile 63 99 Servidor ARG_FILENAME + stream Variável

Resposta

RIDvSendFile 64 100 Terminal DWORD 4

Para enviar um arquivo para o terminal envie este comando com o argumento ARG_FILENAME (caminho final + nome do arquivo) seguido dos bytes do arquivo. O tamanho do argumento será o tamanho da estrutura (128) + a quantidade de bytes contidos no arquivo.

Como retorno, o terminal responde 1 – se o arquivo foi transferido com sucesso ou 0 – ocorreu erro na transmissão do arquivo.

Mensagem ID (Hex) ID (dec) Origem Tipo Argumento Tam. Argumento (bytes)

IDvDeleteADV 65 101 Servidor Nenhum 0

Resposta

RIDvDeleteADV 66 102 Terminal DWORD 4

Este comando exclui todos os arquivos contidos na pasta “images” do terminal de consulta. Como resposta, o terminal envia 1 – se os arquivos foram apagados com sucesso ou 0 – se houve erro no comando.

(14)

14 Mensagem ID (Hex) ID (dec) Origem Tipo Argumento Tam. Argumento

(bytes)

IDvDeletePreImg 67 103 Servidor Nenhum 0

Resposta

RIDvDeletePreImg 68 104 Terminal DWORD 4

Este comando exclui todos os arquivos contidos na pasta “preimg” do terminal de consulta. Como resposta, o terminal envia 1 – se os arquivos foram apagados com sucesso ou 0 – se houve erro no comando.

Atualização

Mensagem ID (Hex) ID (dec) Origem Tipo Argumento Tam. Argumento (bytes)

IDReloadADV 75 117 Servidor DWORD 4

Resposta

RIDReloadADV 76 118 Terminal DWORD 4

O servidor envia este comando para que o terminal de consulta recarregue o loop de imagens (propagandas) de acordo com as configurações continas na pasta “IMAGES” e no arquivo “APPS/images.cfg”.

Mensagem ID (Hex) ID (dec) Origem Tipo Argumento Tam. Argumento (bytes)

IDReloadPreImg 77 119 Servidor DWORD 4

Resposta

RIDReloadPreImg 78 120 Terminal DWORD 4

Ao receber este comando o terminal recarrega as PreImages de acordo com os arquivos da pasta PREIMG e do arquivo “APPS/preimg.cfg”.

Mensagem ID (Hex) ID (dec) Origem Tipo Argumento Tam. Argumento (bytes)

IDRestart 79 121 Servidor DWORD 4

Resposta

RIDRestart 7A 122 Terminal DWORD 4

Com este comando é possível reiniciar o terminal, para isso, é necessário que o argumento passado para o equipamento seja o número 5A33A5CCH.

Mensagem ID (Hex) ID (dec) Origem Tipo Argumento Tam. Argumento (bytes)

IDSecretCode 7B 123 Servidor Nenhum 0

Resposta

RIDSecretCode 7C 124 Terminal Bytes 8

(15)

15

3.3 – ESTRUTURAS DOS ARGUMENTOS

Neste tópico estão todas possíveis estruturas para os argumentos dos comandos.

Quando usar algum comando, certifique de sua correta estrutura, caso contrário o comando não será realizado.

ARG_SETUP_TCP Quantidade de

Bytes Nome do Campo Descrição

4 TerminalIP Endereço IP do terminal de consulta

4 ServerIP Endereço IP do servidor (aplicação)

4 NetMask Máscara de rede

4 Gateway Gateway da rede

4 NameServer Servidor DNS

32 TerminalName** Nome do Terminal

2 ServerPort Porta de comunicação do servidor

100 FTPServer* Servidor FTP para Atualização

30 FTPUser Usuário FTP

30 FTPPass Senha FTP

4 DHCP Suporte a IP Dinâmico: 1 – Habilitado, 0 - Desabilitado

4 ServerSearch Serviço de busca do servidor: 1 – Habilitado, 0- Desabilitado

ARG_SETUP_WIFI Quantidade de

Bytes Nome do Campo Descrição

4 Habilita Wifi 0 desabilita Wifi, 1 habilita wifi.

4 Mode 0 paramodo infraestrutura, 1 para modo ad-hoc.

20 SSID SSID da rede sem fio.

4 Canal Canal da rede sem fio (somente para ad-hoc)

4 Segurança 0 sem segurança, 1 WEP, 2 WPA, 3 WPA2.

64 Chave Chave da rede sem fio, se tiver menos do que 64 caracteres, deve ser finalizada com 0x00.

ARG_UID Quantidade de

Bytes Nome do Campo Descrição

6 MacAddr Endereço MAC da interface

32 TerminalName Nome do terminal

ARG_FILENAME Quantidade de

Bytes Nome do Campo Descrição

128 Filename Nome do arquivo

ARG_GETFILENAME

** Seqüência de bytes contendo um texto em formato ASCII terminado com byte 00H

* A partir da versão 3.0 estes itens estão obsoletos. Mas devem ser enviados para o terminal para manter compatibilidade com as versões antigas

(16)

16

Quantidade de

Bytes Nome do Campo Descrição

128 Filename Nome do arquivo

4 Status 1 - arquivo encontrado Status da procura:

0 - arquivo não encontrado ARG_CARD_LEC

Quantidade de

Bytes Nome do Campo Descrição

128 Track1 *** Conteúdo lido na trilha 1

128 Track2 Conteúdo lido na trilha 2

128 Track3 Conteúdo lido na trilha 3

4 Status

Mostra o que foi lido corretamente: 0 – nenhuma trilha lida 1 – Somente trilha 1 lida 2 – Somente trilha 2 lida 3 – Somente trilhas 1 e 2 lidas

4 – Somente trilha 3 lida 5 – Somente trilhas 1 e 3 lidas 6 – Somente trilhas 2 e 3 lidas

7 – Trilhas 1, 2 e 3 lidas ARG_SERIAL_DATA

Quantidade de

Bytes Nome do Campo Descrição

2 TamBuff Tamanho dos dados lidos da serial (Máx 255)

256 Buffer Dados lidos

ARG_SERIAL_CFG Quantidade de

Bytes Nome do Campo Descrição

4 Open Habilta ou desabilita a porta serial: 1 – Habilita

0 - Desabilita

4 Baud Velocidade da porta

1 Parity Paridade: 0 – Nenhuma 1 – Par 2 – Ímpar 3 – Mark 4 - Space

1 DataBits É a quantidade de DataBits pode ser 7 ou 8

2 Timeout Timeout da serial em milisegundos

(17)

17

ARG_DISPLAY_TEXT Quantidade de

Bytes Nome do Campo Descrição

2 XPos Posição X do início do texto (ponto superior esquerdo) X deve estar entre 0 e 320

2 YPos Posição Y do inicio do texto (ponto superior esquerdo) Y deve estar entre 0 e 240

128 Texto Texto a ser escrito no display

32 Fonte Nome da fonte usada (ver lista de fontes)

2 Size Tamanho da fonte

2 Cor da fonte Cor da fonte. (posição da cor da última paleta enviada ou cor definida: ver lista de cores) 2 Cor do fundo Cor do fundo. (posição da cor da última paleta enviada ou cor definida: ver lista de cores)

3.5 – CORES PADRÕES

Segue tabela com as cores padrões.

COR CÓD. HEXADECIMAL CÓD. DECIMAL

PRETO 0100 256 MARROM 0101 257 VERDE 0102 258 OLIVA 0103 259 AZUL MARINHO 0104 260 ROXO 0105 261 METÁLICO 0106 262 CINZA 0107 263 PRATA 0108 264 VERMELHO 0109 265 LIMA 010A 266 AMARELO 010B 267 AZUL 010C 268 FUCHSIA 010D 269 AGUA 010E 270 BRANCO 010F 271 TRANSPARENTE FFFF 65536

(18)

18

4- EXEMPLO DE COMUNICAÇÃO

Após aberta a porta do terminal (padrão 16510) o terminal fará uma requisição para se conectar ao servidor. O servidor deverá aceitar a conexão e mantê-la ativa para o funcionamento correto do terminal.

O primeiro comando que deve ser enviado para o terminal no momento da conexão é o IdwGetIdentify. Este comando não possui argumentos, logo somente o cabeçalho será enviado:

Cabeçalho

STX (1Byte) ID (2 Bytes) TamArg (4 Bytes)

2H 13H 0H 0H 0H 0H 0H

A reposta do terminal será:

Cabeçalho Argumento

STX (1Byte) ID (2 Bytes) TamArg (4 Bytes) Identificação (4 Bytes)

2H 14H 0H 4H 0H 0H 0H 30H 01H F8H 31H

O próximo comando que o servidor deve enviar é a permissão para o teminal continuar conectado (IDContinue).

Cabeçalho Argumento

STX (1Byte) ID (2 Bytes) TamArg (4 Bytes) Identificação (4 Bytes)

2H 15H 0H 4H 0H 0H 0H 01H 0H 0H 0H

Como resposta, o terminal envia:

Cabeçalho

STX (1Byte) ID (2 Bytes) TamArg (4 Bytes)

2H 16H 0H 0H 0H 0H 0H

Após estes comandos o terminal estará corretamente conectado e em operação.

Qualquer evento ocorrido no terminal de consulta (pressionamento de teclas, leitura de cartão e leitura de código de barras) será enviado para o servidor. O servidor também poderá enviar comandos para o terminal de consulta a qualquer momento.

(19)

19

Suponha que queira receber do terminal sua configuração. Para isso é necessário que o servidor envie o comando IdvGetSetupTCP.

Cabeçalho

STX (1Byte) ID (2 Bytes) TamArg (4 Bytes)

2H 19H 0H 0H 0H 0H 0H

A resposta para este comando será:

Considere que o terminal tenha a seguinte configuração: IP Terminal: 192.168.0.2 IP Servidor: 192.168.0.1 Máscara de rede: 255.255.255.0 GateWay: 192.168.0.3 NameServer: 192.168.0.3 Nome do Terminal: TC504 Porta: 16510 FTPServer: www.gertec.com.br FTPUser: gertec FTPPass: gertec DHCP:1 BuscaServidor: 0 OBSERVAÇÕES:

• Nos endereços IP cada bloco deve ser enviado em um byte (byte menos significativo antes).

• Os textos são convertidos para caracteres ASC.

• Números são enviados apenas convertendo para o tamanho necessário (byte menos

significativo antes).

• Para facilitar o entendimento, esta resposta terá uma linha a mais com os dados enviados.

Cabeçalho

STX (1Byte) ID (2 Bytes) TamArg (4 Bytes)

2H 1AH 0H DEH 0H 0H 0H

2D 26D 0D 222D

Argumento

IP Terminal IP Servidor Máscara rede GateWay NameServer

2H 0H A8H C0H 1H 0H A8H C0H 0H FFH FFH FFH 3H 0H A8H C0H 3H 0H A8H C0H 2D 0D 168 D 192 D 1D 0D 168 D 192 D 0D 255 D 255 D 255 D 3D 0D 168 D 192 D 3D 0D 168 D 192D Argumento

Nome do Terminal (32 Bytes) Porta FTPServer(100 Bytes)

54H 43H 35H 30H 34H 0H ... 0H 7EH 40H 77H 77H 77H 2EH 67H ... 72H 0H ... 0H

(20)

20

Argumento

FTPUser (30 Bytes) FTPPass (30 Bytes)

67H 65H 72H 74H 65H 63H 0H ... 0H 67H 65H 72H 74H 65H 63H 0H ... 0H

'g' 'e' 'r' 't' 'e' 'c' '\0' ... '\0' 'g' 'e' 'r' 't' 'e' 'c' '\0' ... '\0' Argumento

DHCP BuscaServidor

1H 0H 0H 0H 0H 0H 0H 0H

1D 0D

Quando não há comandos específicos para o terminal é necessário enviar o comando IdvLive para que o terminal não se desconecte.

Cabeçalho

STX (1Byte) ID (2 Bytes) TamArg (4 Bytes)

2H 11H 0H 0H 0H 0H 0H

Como resposta, o terminal envia:

Cabeçalho

STX (1Byte) ID (2 Bytes) TamArg (4 Bytes)

2H 12H 0H 0H 0H 0H 0H

Quando uma tecla é pressionada, o terminal envia o comando IdcGetCharTerm.

Este comando é enviado a qualquer momento (sempre que ocorrer o pressionamento de tecla). Suponha que o cliente tenha pressionado a tecla 'b' (segunda tecla da esquerda para a direita).

Cabeçalho Argumento

STX (1Byte) ID (2 Bytes) TamArg (4 Bytes) Caractere (1 Byte)

2H 35H 0H 1H 0H 0H 0H 62H = 'b'

Neste caso a resposta é enviada pelo servidor confirmando o recebimento. Cabeçalho

STX (1Byte) ID (2 Bytes) TamArg (4 Bytes)

(21)

21 Contatos Gertec Suporte Técnico: suporte@gertec.com.br Tel.: (11) 2173-6524 Assistência Técnica:

Gertec Telecomunicações Ltda. Rua Guaicurus, 145 – Vila Conceição Diadema – São Paulo

CEP 09911-630 Tel.: (11) 2173-6541

Referências

Documentos relacionados

Quando um arquivo (ou arquivos) é compactado, uma extensão correspondente ao programa usado é adicionada ao nome do arquivo (caso o arquivo seja compactado pelo gzip

(2009b) que também utilizaram a protease cisteínica (papaína) e o procedimento cromatografia de troca iônica (DEAE-celulose) na extração e purificação desses compostos,

Por sua vez, cabe lembrar que a Guarda Municipal não está exclusivamente voltada para a segurança pública, conforme os moldes do Regime Militar, mas sim para

Atualmente o bloco econômico sul-americano é formado por apenas quatro países: Equador, Colômbia, Peru e Bolívia, e a cidade sede está localizada em Lima (Peru). Pelo fato da

O seguinte capítulo tem como objetivo apresentar a Identidade Visual da Diva Salão de Beleza seguindo a metodologia proposta por Péon (2003), o capítulo irá mostrar os

O objetivo deste trabalho foi avaliar a influência do peso inicial, do período de alimentação e da temperatura ambiente no ganho de peso e nos parâmetros biológicos

Na colestase intra-hepática a obstrução do fluxo de bile pode ser demonstrada quando são comprometidos os ramos de maior calibre da árvore biliar intra-hepática, ou seja, o

os usuários diretos do simUR são: as famílias participantes, os órgãos gestores das unidades de conservação da bacia do rio Unini, as instituições parceiras destes órgãos