configuração / protocolo / programação / recursos funcionais

Hi-PAT _ Terminal portátil Wi-Fi ( 350 m. ) client x server _ on-line / tempo real

Voltar

Configuração, protocolo de comunicação e recursos funcionais e de programação

Os Terminais PAT série Hi-PAT possuem antena interna com potência ( sinal ) para cobertura em áreas de até 350 metros em vão livre. Oferecem assim maior comodidade e garantia de boa comunicação entre a rede de terminais ( clientes ) e o servidor PC. 
Possuem variações dependendo de tipos de teclado, display LCD e opcionais, operam em sistema TCP/IP cliente x servidor, realizando rede de vários pontos de coleta e consulta de dados de forma centralizada ao Host ( servidor - PC ).

– INDICE: 

1 – Configurando o Terminal PAT ( passo a passo );
2 - Testando funcionamento e conexão ao host ( PC );
3 - Teclado alfanumérico com recursos de funções, LCD gráfico colorido dual, leitor código de barras embarcado;
4 – Protocolo de operação 
5 – Comandos de programação

1 – Configurando o Terminal: 


Os parâmetros são os seguintes: nome da rede (ou SSID), Senha WPA2-PSK (AES) (se houver), IP do Host (IP do computador), porta de comunicação e endereço identificador (canal). > passo a passo.

- Ligue o HI_PAT mantendo a tecla F1 pressionada
- Depois de alguns segundos o coletor irá pedir “Nome da rede:”. Digite para este campo o nome da rede ou SSID. Se errar a digitação, a tecla “  ” funcionará como um backspace permitindo a correção. Para alternar entre letras e números, mantenha a tecla pressionada por alguns segundos e a digitação irá alternar no visor entre as letras e os números. Para selecionar maiúsculas, pressione a seta para cima ↑ e para selecionar minúsculas, pressione a seta para baixo ↓ .
- O próximo parâmetro solicitado é a senha de criptografia da rede “Senha:”. Se a sua rede WIFI for uma rede aberta (sem senha) então apenas pressione o enter em vazio. Se desejar usar uma senha, o HI_PAT permite o uso da criptografia WPA2-PSK (AES). Para usá-la, digite neste momento a senha da sua rede e tecle enter.
- Depois, ligue o PAT com a tecla FN pressionada (ou F2, se o Hi-PAT for versão 1.0). Será solicitado o parâmetro “IP do PC”. Aqui, deve ser fornecido o endereço IP do computador servidor onde será executado o software de controle online do HI_PAT . Digite o IP do computador normalmente, com ponto entre os bytes (por exemplo: (192.168.0.100) e tecle enter para gravar.
- Em seguida, será solicitado o parâmetro “Porta”. Para operar com o TESTA-PAT ( recurso abaixo ) digite a porta 4050 e pressione Enter.
- Por fim, será solicitado o “Identificador” ID. O ID será o endereço do Hi_PAT (canal), podendo variar entre 0 e 255.

 

Feita a configuração inicial, você já pode testar a comunicação do Terminal em sua rede com o programa de testes da Colleter TESTA-PAT. Para fazer isto, execute o programa testapt2.exe. Depois, ligue o Hi_PAT, aguarde alguns segundos e pressione FN (ou F1, se o HiPat for versão 1.0) para fazer a conexão com o micro. Feita a conexão, se você digitar um número qualquer, o dado digitado vai aparecer no formulário do programa e será retornada mensagem do tipo “Teste OK” no display. 
Importante: para que o coletor se conecte ao aplicativo, o programa deve estar aberto antes de pressionado FN (ou F1) no Hi_PAT para fazer a conexão. Se o programa foi aberto depois, então será necessário desligar e ligar novamente o Hi_PAT (ou pressionado FN ou F1 novamente) para que ocorra a conexão.. Só então será possível digitar dados e testar a comunicação.


2 - Testando funcionamento e conexão ao host ( PC );

Testando de comunicação: a comunicação entre o servidor ( PC ) e o cliente ( Terminal - PAT ) pode ser verificada com o auxílio do software utilitário TESTA-TW.exe - programa de testes da Colleter - baixe encontrando no site > http://www.colleter.com.br/monta.asp?link=downloads ou com o programa analisador de protocolo “Wireshark”, ou PCP_TestTools.

Para ver se a configuração funcionou, abra o programa TESTA-TW.exe abaixo:
 



Com o programa aberto, desligue e ligue novamente o seu TWx100. Ao ligar, o TW-100 tentará se conectar em sua rede WIFI e após 4 segundos solicitará que efetive a conexão através da tecla .  Uma vez conectado, irá enviar a palavra “CONECTAR” para a tela do programa. Depois que a conexão se efetivar, você pode pressionar qualquer número do teclado e, ao apertar o enter (E), o TW-100 irá transmitir a digitação para a tela do micro. O micro, por sua vez, irá retornar a frase “Dado Recebido” para o display do TW-100, indicando que a comunicação funcionou normalmente.

obs.: Para o funcionamento do TW-100/200 com o recurso TESTA-TW, os Terminais devem ser configurados com a Porta TCP 4050. 


3 - Teclado PAT

        


O teclado possui 24 teclas. Em sua maioria as teclas possuem 3 estados de informação. 
p. explo.: a tecla 7(CD) > ao pressionar e soltar rapidamente a informação enviada será o numero 7. Se mantiver pressionada irá no display indicar as variante 7 > C > D > 7 > C > D ....... indefinidamente. para tecla do teca informação A, soltar a tecla qdo. indicar a letra C, da mesma forma o D. Todas demais teclas com mais de uma informação operam com o mesmo procedimento. Dessa forma pode-se digitar todo o alfabeto + números + alguns caracteres especiais.
Com as tecla de setas, pode-se variar as letras de minúsculas para maiúsculas e a tecla "seta a esquerda" apaga o último caracter digitado para correção de erros.
Tecla SCAN para acionar leitor de código de barras.


Display gráfico colorido dual _


O display LCD grafico 128 x 64 pontos, permite (parecido com usual aplicativo "whatsapp" de celulares), operar com 2 telas, sendo uma para escrita de mensagens ao PC (Host) - através da digitação ou da leitura de código de barras, e outra tela para mensagens recebidas do PC (HOST).
Cada tela possui 5 linhas de 10 caracteres cada linha.
Opcionalmente pode-se customizar imagens nas telas para uso específico à aplicação do cliente.


Leitor de código de barras embarcado:
Os terminais PAT são dotados de leitor de código de barras imager CCD long-range para leitores de códigos à dispositâncias entre 10 a 45 cm., dependendo da resolução (densidade) do código. Permite leitura de todos os principais padrões de código de barras: 2 de 5I, 39, UPC/EAN, 128, 128 Full, 2 de 5 Industrial e vários outros

4 – Protocólo ( comandos ) de comunicação:

Obs.1: Enviar as strings em pacote TCP IP para os IPs dos PATs, na porta pré definida.
Obs.2: Os Terminais ´PAT operam em sistema “cliente-server” onde o PAT é o cliente e o Host ( PC ) o servidor.
Obs.3: Os PATs se conectam ao Host ( PC ) ao serem ligados. Por isso o programa tem que estar aberto primeiro, antes de´ligar o PAT.
- Comandos utilizados são os seguintes: ( assumir que "#" = jogo da velha )
1.A - Enviando dados para o PAT:
 #1 - apaga o display
 #2 - toca um bip simples
 #3 - toca um bip longo
 enviar qualquer dado sem # na frente - ele envia o dado para o display.
1.B - PAT enviando para o PC:
 O PAT irá enviar os dados digitados seguidos de #string onde string = número ID identificador do endereço do PAT que enviou a informação. É o mesmo ID que é gravado serialmente no PAT, durante a configuração do mesmo, e serve para ajudar a identificar cada PAT.
 Fazer uma tabela na memória do micro, relacionando cada ID com o IP de cada PAT.
 Os dados lidos via leitor código de barras.

5 - Programação:
Para enviar e receber mensagens para o Hi_PAT, você pode utilizar a DLL patdelp.dll (para Delphi) ou patvb.dll (para VB).Os comandos e funções são fáceis e intuitivos de serem usados.
- Enviando uma mensagem para o display do HI_PAT – função ENVTMSG
A DLL associa automaticamente ao IP de cada Hi_PAT o número de canal que foi digitado no procedimento inicial de configuração.
ENVTMSG ( conj, can, STRING ) - envia mensagem para o display do HI_PAT
Conj - inteiro - (sempre 0 – usado apenas para manter compatibilidade com versões anteriores)
Canal -inteiro - endereço associado ao IP destinatário da mensagem.
STRING - variável string - dado a ser enviado para o display do HI_PAT
Declaração:
function envtmsg ( cnj,can :integer ; da : shortstring ):integer;
external 'patdelp.dll'
Utilização :
X:=envtmsg ( 0,0,'Teste de envio');
RETORNO (X=número inteiro)
Se X=1, o comando foi bem sucedido
Se X=0, houve algum problema de comunicação de socket.
- Recebendo uma mensagem digitada ou leitura de código de barras.
GETCNT ( ptSTRING, ptCAN, conj ) - lê mensagem vinda de todos os PATs. Esta função deve ser
colocada dentro de um TIMER , com intervalo de 1 milisegundo.
Conj - inteiro - (Colocar sempre conjunto=0 )
ptCan -ponteiro para um inteiro - canal de onde veio a mensagem
ptSTRING -ponteiro para variável string - mensagem vinda do HI_PAT .
A função GETCNT retorna um valor 0 se não veio dado de nenhum PAT e retorna 1 se existe algum dado
vindo de algum canal (HI_PAT )
Na variável ptCAN será injetado pela DLL o número do canal que forneceu o dado (endereço) e na
ptString será injetado o dado vindo do HI_PAT , independentemente de ser uma digitação ou uma leitura
de código de barras.
Declaração :
function getcnt ( var dado:shortstring ; var canal:integer ; conj : integer ): integer;
external 'patdelp.dll'
Utilização: ( o GETCNT deve ser colocado dentro de um timer com intervalo de 1 milisegundo )
procedure TForm1.Timer1Timer(Sender: TObject);
begin
conjunto:=0;
canal:=100; // valor arbitrário (será modificado e retornado pela função)
if (getcnt ( dado,canal,conjunto ))=1 then
begin
Form1.edit1.text:='Recebi: '+dado + ' do canal:' + inttostr(canal);
envtmsg (conjunto,canal,'Dado recebido');
5
envbeep (conjunto,canal,1);
end;
end;
RETORNO (X=número inteiro)
Se getcnt retornou 1, existe algum dado vindo de algum PAT. A variável ’CANAL’ receberá o valor do canal
que enviou o dado. A string recebida será armazenada em ’dado’
Se getcnt retornou 0, não existe dado nenhum, vindo de nenhum PAT.
- Fazendo o PAT associado ao canal ‘n’ tocar bips
x= ENVBEEP ( conj, can, N ) - faz o HI_PAT associado ao canal ’CAN’ tocar N beeps
Conj - inteiro - sempre zero
Canal -inteiro - canal associado ao HI_PAT
N -inteiro - número de beeps para o PAT executar ( variando de 1 a 9 )
Declaração :
function envbeep ( cnj,can,n :integer ):integer;
external 'patdelp.dll'
Utilização :
X:=envbeep ( 0,3,5); { PAT associado ao canal 3 tocará 5 beeps simples }
ENVCMBEEP ( conj, can ) faz o HI_PAT associado ao canal ’CAN’ tocar outro tom de bip (Bip de
alerta)
Conj - inteiro - Sempre zero
Canal -inteiro - canal que receberá o comando
Declaração :
function envcmbeep ( cnj,can:integer ):integer;
external 'patdelp.dll'
Utilização:
X:=envcmbeep ( 0,2 ); { PAT associado ao canal 2 tocará um BIP de alerta }
- Entrando e saindo do modo senha (digitação aparece com quadradinhos)
ENVASENHA ( conj, can ) - HI_PAT entra no modo senha ( digitações não aparecem no display )
Conj - inteiro - Sempre zero
Canal -inteiro - canal que receberá o comando.
Declaração:
function envasenha ( cnj,can:integer ):integer;
external 'patdelp.dll'
Utilização :
X:=envasenha ( 0,2 ); { PAT ligado associado ao canal 2 entra no modo senha - digitações aparecem no display
como quadradinhos}
ENVDSENHA ( conj, can ) - HI_PAT sai do modo senha ( digitações voltam a aparecer no display )
Conj - inteiro - Sempre zero
Canal -inteiro - canal que receberá o comando
Declaração:
function envasenha ( cnj,can:integer ):integer;
external 'patdelp.dll'
Utilização :
X:=envdsenha ( 0,2 ); { PAT ligado associado ao canal 2 sai do modo senha - digitações voltam a aparecer no
display
6
- Apagando o display do HI_PAT
ENVCLDISP ( conj, can ) apaga o display do PAT associado ao canal CAN
Conj - inteiro - Sempre zero
Canal -inteiro - canal que receberá o comando
Declaração :
function envcldisp ( cnj,can:integer ):integer;
external 'patdelp.dll'
Utilização :
X:=envcldisp ( 0,3 ); Apaga o display do PAT associado ao canal 3
- FLUXOGRAMA EXEMPLO DE CONTROLE PARA VÁRIOS MICROTERMINAIS
Obs : Note que só é necessária uma instrução _GETCNT, mesmo para vários terminais e vários dados de
entrada. Sugerimos que os contadores 1 e 2 do exemplo acima sejam elementos de uma matriz ( ou vetor ),
indicando o status atual de cada terminal no sistema do usuário.