Terminal Portátil PAT-1000 Wi-Fi Prezado cliente, Parabéns por adquirir um terminal portátil modelo PAT1000 / 2000 Colleter. Este manual irá ajudá-lo a compreender mais as características técnicas do equipamento bem como detalhar sua configuração inicial e programação. O Manual está dividido em 3 seções, conforme indicado abaixo: Seção 1 Características funcionais do produto Seção 2 Configurações iniciais. Seção 3 Instruções de programação. Os microterminais da linha TED Colleter são bastante versáteis em suas características básicas e opcionais. Mesmo tendo uma ampla gama de características customizáveis, todos os microterminais Colleter podem ser programados de forma compatível, sendo portanto muito simples para o desenvolvedor migrar de uma versão para outra. Em sua versão WiFi/TCP-IP, a configuração do terminal é extremamente simples. Como veremos adiante, ela não requer instalação de drivers auxiliares e não tem telas complexas a serem configuradas. O terminal pode ser usado com dhcp e IP dinâmico ou então com IP fixo. A sintaxe das funções de programação é também muito simples e intuitiva, não sendo necessário para o programador montar strings com bytes de dados complexos para se comunicar com o equipamento. Vamos agora entrar na descrição do produto. Agradecemos sua escolha por nossos produtos e esperamos poder fornecer todo o suporte necessário no apoio desta parceira de desenvolvimento.
Seção 1 Características técnicas e funcionais: - Inicialmente, vamos descrever as características do produto e as suas funcionalidades: Características técnicas e funcionais: -Teclado com 24 teclas de silicone ( emborrachadas ) alfanumérico completo + funções, para digitação de dados em geral; - Display LCD gráfico de 8 linhas x 20 caracteres com back-light; - Interface wireless Wi-Fi 802.11b/g para conexão de envio e consulta de dados ao micro; - Autonomia de utilização de até 36 horas continuas ( sem leitor ); - Dimensões reduzidas e alta robustez para prática operacionalidade; - Permite utilização de leitor de código de barras acoplado ao gabinete ( opcional ); - Sinal auditivo ( beep ) para status de operações; - Extremamente de mais baixo custo se comparado a similares, pois não possui Sistema Operacional para operação autônoma, operando sempre "escravo" do PC. Essa característica tbém. torna o PAT-1000 a prova de roubos. - Cor preta, ou cor cinza ( opcional ); - Baterias Ion-Líthium ( sem efeito memória ); - Inúmeras funções prontas de operação para fácil adaptação ao sistema, inclusive acompanha driver p/ instalação no PC que recebe os dados vindos do PAT-1000 e introduz como de fossem digitados no teclado ( simulação de digitação ) _ explo. qualquer aplicativo tipo Excel receberá os dados recebidos do PAT-1000 como se estivessem sendo digitados. 2
Seção 2 Configurações iniciais - Configuração de rede: O Terminal PAT-1000 Wi-Fi opera no padrão Telnet, comunicando-se diretamente através dos comandos padrão Telnet. Também opera no padrão Colleter ( O.S. Colleter ) com funções prontas utilizando a DLL tdelphi.dll (para Delphi) ou tvb.dll (para VB). 1. Passo_ configurar os parâmetros de rede e gravá-los no coletor. Os parâmetros são os seguintes: nome da rede (ou SSID), Senha WPA2-PSK (AES) (se houver), IP do Host (IP do computador), IP Local (caso não tenha servidor DHCP para IP dinâmico em sua rede ), ou sem IP Local se for operar com IP dinâmico. Para fazer estas configurações, siga os seguintes passos: - Ligue o PAT-1000 mantendo a tecla FN pressionada - Depois de alguns segundos o coletor irá pedir WLAN NAME:. Digite para este campo o nome da rede ou SSID. OBS: somente são permitidas letras minúsculas e números. O teclado do PAT-1000 tem 3 tipos de cursores: -, / e \. Alternando entre estes cursores você pode selecionar os números ou as letras para a digitação. Para alternar entre os cursores, pressione a tecla FN. Se errar a digitação, a tecla funcionará como um backspace permitindo a correção. Após digitado o nome da rede, pressione enter para gravar. - O próximo parâmetro solicitado é WLAN SENHA:. Se a sua rede WIFI for uma rede aberta (sem senha) então apenas pressione o enter para passar ao próximo parâmetro. Se desejar usar uma senha, o PAT-1000 permite o uso da criptografia WPA2-PSK (AES). Para usá-la, digite neste momento a senha da sua rede e tecle enter. Somente são permitidas letras minúsculas e números. - Depois, será solicitado o parâmetro IP HOST. Aqui, deve ser fornecido o endereço IP do computador onde será executado o software de controle online do PAT-1000. Digite o IP do computador normalmente, com ponto entre os bytes (por exemplo: 192.168.0.100) e tecle enter para gravar. - Por fim, será solicitado o parâmetro IP LOCAL. Este parâmetro só tem sentido se você deseja usar o coletor com IP estático (sem dhcp). Se for este o caso, digite o IP desejado para o coletor (por exemplo: 192.168.0.110) e tecle enter para gravar. Caso tenha um roteador ou servidor dhcp, se desejar usar IP Dinâmico, simplesmente pressione enter sem digitar nenhum parâmetro para o IP LOCAL. Feita a gravação do IP, você já pode testar a comunicação do Terminal em sua rede com o programa de testes da Colleter. Para fazer isto, execute o programa testwifi.exe. Depois, se você digitar um número qualquer e pressionar <E> no Terminal, o dado digitado vai aparecer no formulário do programa e será retornada uma mensagem do tipo Teste OK no display. Importante: para que o coletor se conecte ao aplicativo, o programa deve estar aberto antes de ser ligado o coletor. Se o programa foi aberto depois, então será necessário desligar e ligar novamente o coletor para que ocorra a conexão. Quando o PAT-1000 conectar-se ao programa, irá aparecer uma mensagem CONNECTED ao ligar o coletor. Só então será possível digitar dados e testar a comunicação. 1) Padrão TELNET: em modo básico, o Terminal já estará pronto para operar com qualquer programa ( aplicativo ) no padrão Telnet 2) Padrão O.S. Colleter: na opção da utilização do Terminal com as funções prontas Colleter, é necessária utilização das DLLs tdelphi.dll (para Delphi) ou tvb.dll (para VB). 3
Seção 3 Programação: Para enviar e receber mensagens para o TED1000, você pode utilizar a DLL tdelphi.dll (para Delphi) ou tvb.dll (para VB).Os comandos e funções são fáceis e intuitivos de serem usados. - Enviando uma mensagem para o display do PAT1000 função ENVTMSG A DLL associa automaticamente a cada IP (cada coletor) um número de canal que é um número inteiro. Este número de canal é um ID da conexão TCP-IP. Para enviar uma mensagem para um PAT1000, o PAT deve ser selecionado pelo número do seu canal na função ENVTMSG. Por padrão, o número ID do canal associado pela DLL será igual ao último byte do endereço IP do coletor. ENVTMSG ( conj, can, STRING ) - envia mensagem para o display do PAT1000 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 PAT1000 Declaração: function envtmsg ( cnj,can :integer ; da : shortstring ):integer; 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 PAT1000. 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 (PAT1000) 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 PAT1000, independentemente de ser uma digitação ou uma leitura de código de barras. function getcnt ( var dado:shortstring ; var canal:integer ; conj : integer ): integer; 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); 4
envtmsg (conjunto,canal,'dado recebido'); 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 PAT1000 associado ao canal 'CAN' tocar N beeps Conj - inteiro - sempre zero Canal -inteiro - canal associado ao PAT1000 com a função abreporta N -inteiro - número de beeps para o PAT executar ( variando de 1 a 9 ) function envbeep ( cnj,can,n :integer ):integer; X:=envbeep ( 0,3,5); { PAT associado ao canal 3 tocará 5 beeps simples } ENVCMBEEP ( conj, can ) faz o PAT1000 associado ao canal 'CAN' tocar outro tom de bip (Bip de alerta) Canal -inteiro - canal que receberá o comando (associado ao PAT pela função abreporta ) function envcmbeep ( cnj,can:integer ):integer; 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 ) - PAT1000 entra no modo senha ( digitações não aparecem no display ) Canal -inteiro - canal que receberá o comando. Declaração: function envasenha ( cnj,can:integer ):integer; X:=envasenha ( 0,2 ); { PAT ligado associado ao canal 2 entra no modo senha - digitações aparecem no display como quadradinhos} ENVDSENHA ( conj, can ) - PAT1000 sai do modo senha ( digitações voltam a aparecer no display ) Canal -inteiro - canal que receberá o comando (associado ao PAT pela função abreporta ) Declaração: function envasenha ( cnj,can:integer ):integer; 5
X:=envdsenha ( 0,2 ); { PAT ligado associado ao canal 2 sai do modo senha - digitações voltam a aparecer no display - Apagando o display do PAT1000 ENVCLDISP ( conj, can ) apaga o display do PAT associado ao canal CAN Canal -inteiro - canal que receberá o comando function envcldisp ( cnj,can:integer ):integer; X:=envcldisp ( 0,3 ); Apaga o display do PAT associado ao canal 3 (3 o IP aberto com abreip) - 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. 6