Guia de Usuário LEITOR MIFARE TWN4 NFC-P DocRev1, 29 Abril, 2013 Acura Global
Conteúdo 1 Introdução... 3 1.1 Requisitos de Sistema... 3 2 Utilização do Director... 4 2.1 Inicialização... 4 2.2 Log... 4 2.3 Teste Simples... 5 2.4 Teste de Funções... 7 2.4.1 Seleção de Função... 8 2.4.2 Formatos de valores de parâmetros... 9 2.4.3Histórico...10 2.5 Configurações...11 2.5.1 Conexão...11 2.5.2 File log...11 2.5.3 Constantes...11
1 Introdução Esse documento descreve todos os recursos e a utilização do software Director V1.00. Director é uma aplicação para Microsoft Windows. O propósito desse software é testar facilmente todas as funções internas do firmware e as poderosas APIs do TWN4. O comportamento do TWN4 pode ser controlado pelo usuário com as tão faladas apps. Essas apps são pequenos programas, os quais geralmente são desenvolvidos em C, uma linguagem de programação comum. Elas têm acesso a muitas APIs, o que torna fácil o desenvolvimento complexo de aplicações para RFID. O Director pode ser usado para testar as funções do firmware e das APIs do TWN4 sem a necessidade de programação. O software comunica com o leitor através de uma interface serial como USB ou RS232 com protocolo ASCII, conhecido como protocolo simples. 1.1 Requisitos de Sistema PC: Sistema operacional Microsoft Windows com.net Framework 3.5 instalado. TWN4: Firmware 1.22 ou superior com app_proto(prs1.22 ou superior) e.g. TWN4_Cx 122_PRS.bix 3
2 Utilização do Director 2.1 Inicialização Na inicialização, o TWN4Director procura por um TWN4, primeiramente nas portas USB e então em todas as outras conexões serial. Depois de conectado, a versão do leitor é exibida no log. Se não houver resposta do leitor, a mensagem Please connect a TWN4 with app_proto intalled será exibida no log, pedindo para que seja conectado um TWN4 com o app_proto instalado. Esse procedimento também ocorrerá se o leitor for desconectado e conectado novamente. A conexão automática pode ser desabilitada na aba Settings, ver capítulo 2.5. 2.2 Log Todas chamadas de função e seus resultados são registrados na caixa de registro, que fica na parte inferior da janela. Praticamente todas as mensagens serão exibidas aqui. 4
Através do menu expansível (exibido ao clicar com o botão direito do mouse) é possível copiar ou apagar todos os itens do log. Em baixo dos registros há uma checkbox Show Raw Data. Se estiver marcada, cada chamada de função registrará a solicitação/resposta que foi enviada para/pelo leitor no formato de linha. 2.3 Teste Simples A primeira aba (Simple Test) tem dois botões, Search Tag e Beep. Clicar no botão Search Tag permite que o TWN4 procure por algum transponder. Se um for encontrado, o ID, o tipo do tag e a contagem de bits são exibidos na caixa de texto Result. O leitor emite um beep curto. Para que o leitor procure continuamente por tags, basta deixar selecionada a checkbox Cycle 5
O botão Beep, faz com que o leitor emita uma sequência de 4 beeps. Há também uma combo box Select Tag Types que permite o usuário a habilitar ou desabilitar os tipos de tag que o leitor efetuará leitura. Isso também é possível com o leitor em operação cíclica (checkbox Cycle selecionada). 6
2.4 Teste de Funções Essa é a seção (aba Function Test) para usuários avançados e também o coração da aplicação. Aqui você tem acesso a praticamente todas as funções do firmware do TWN4 7
2.4.1 Seleção de Função Primeiramente nós precisamos montar nossa função, que consiste no nome da função e seus parâmetros. A função pode ser selecionada pela lista Function. As funções disponíveis podem ser filtradas pela lista API, a qual lista todas APIs. Se uma função é selecionada, uma combo box aparece para cada um de seus parâmetros. As combo boxes são preenchidas com alguns valores padrão. Então você pode clicar no botão Send à direita e ver o que acontece. Se alguma combo box não tiver um valor preenchido, você mesmo deve preenchê-lo. Claro que você também pode sobrescrever os valores padrão. 8
2.4.2 Formatos de valores de parâmetros 2.1 Os valores dos parâmetros podem ter diferentes formatos, como mostrado na Tabela Type Format Example Decimal value Number 110 Hexadecimal Prefix 0x 0x6e, 0x6E Binary Prefix 0b 0b01101110 ASCII character Quotes n ASCII string Double quotes "A string" Tabela 2.1: Formatos de valores de parâmetros Cada número ou caractere pode ser combinado em uma lista de valores, se o parâmetro precisar de mais de um valor. Basta separar os valores com espaço. Cada valor pode ter um formato diferente. É possível escrever uma lista de valores hexadecimais como um bloco (veja Byte array na tabela acima) Por exemplo, 0x41 0x20 0x73 0x74 0x72 0x69 0x6E 0x67 é o mesmo que A 0x20 0x73 0x74 0x72 0x69 0b01101110 147 Se o mouse ficar parado sobre o campo de um parâmetro, aparecerá uma ajuda informando qual o tipo do parâmetro e quantos valores são necessários. Quando a função é executada clicando no botão Send ou pressionando a tecla Enter do teclado, uma solicitação é enviada para o leitor. E então o leitor envia uma resposta, a qual é analisada e passada com os valores de retorno. A função com seus valores de envio e de resposta são exibidos no log, ver capítulo 2.2. 9
2.4.3Histórico Cada função executada, com seus parâmetros de envio e resposta, ficará registrada no histórico History. Se uma chamada de função com parâmetros iguais já estiver registrada, a mesma será sobrescrita com os parâmetros da atual função executada. Se uma chamada de função idêntica deve ser registrada, a checkbox Allow Duplicates deve ser selecionada. Um duplo clique em uma função já registrada irá executá-la novamente com os mesmos parâmetros. Se a função ainda não tiver obtido uma resposta do leitor, a mesma será exibida na cor cinza, caso já tenha sido respondida, será exibida em preto. Quando uma função é selecionada com um clique, o menu Function Builder mostra a função com seus parâmetros, para tornar mais prática a execução da mesma função tendo seus parâmetros alterados ou não. Quando uma função é selecionada pelo mouse ou teclado, a função e seus valores de retorno são exibidos na lista List View à esquerda do histórico. A posição de uma função no histórico pode ser alterada clicando nos botões com a seta para cima ou a seta para baixo. O botão Clear apaga da lista um item selecionado enquanto o botão Clear All apaga a lista inteira. Os itens do histórico podem ser salvos em um arquivo de texto e carregados novamente com os botões Save To File e Load From File respectivamente. Tendo mais de um item no histórico, eles podem ser executados uma vez em sequência clicando no botão Run Once ou podem ser executados num ciclo selecionando a checkbox Cycle. 10
2.5 Configurações 2.5.1 Conexão A conexão automática para o TWN4 pode ser desabilitada desmarcando a checkbox Find TWN4 Automatically. Então uma porta pode ser escolhida e o processo de conexão iniciado manualmente clicando no botão Connect. Se a conexão for realizada com sucesso, o nome do botão Connect irá mudar para Disconnect e a conexão pode ser fechada clicando no botão novamente. 2.5.2 File log Se a checkbox Enable File Log estiver marcada, o log(ver capítulo 2.2) será gravado em um arquivo log.txt na mesma pasta da aplicação. 2.5.3 Constantes Existem várias constantes pré-definidas que poder ser usadas como parâmetros para funções (você pode escrever tanto a constante como seu respectivo valor). Muitas dessas constantes 11
são usadas no firmware do TWN4 e mantém o mesmo valor. Constante Valor CHANNEL_NONE 0 CHANNEL_USB 1 CHANNEL_COM1 2 CHANNEL_COM2 3 DIR_IN 1 DIR_OUT 0 COM_WORDLENGTH_8 8 COM_PARITY_NONE 0 COM_PARITY_ODD 1 COM_PARITY_EVEN 2 COM_STOPBITS_0_5 1 COM_STOPBITS_1 2 COM_STOPBITS_1_5 3 COM_STOPBITS_2 4 COM_FLOWCONTROL_NONE 0 ALLTAGS 0xFFFFF REDLED 0x01 GREENLED 0x02 YELLOWLED 0x04 ALLLEDS 0x07 GPIO0 0x01 GPIO1 0x02 GPIO2 0x04 GPIO3 0x08 GPIO4 0x10 GPIO5 0x20 GPIO6 0x40 GPIO7 0x80 Continua na próxima página 12
Constante Valor GPIO_PUPD_NOPULL 0 GPIO_PUPD_PULLUP 1 GPIO_PUPD_PULLDOWN 2 GPIO_OTYPE_PUSHPULL 0 GPIO_OTYPE_OPENDRAIN 1 BEEP_FREQUENCY_HIGH 2400 BEEP_FREQUENCY_LOW 2057 C0 523 C#0 554 D0 587 D#0 622 E0 659 F0 698 F#0 740 G0 784 G#0 831 A0 880 Bb0 932 H0 988 C1 1047 C#1 1109 D1 1175 D#1 1245 E1 1319 F1 1397 F#1 1480 G1 1568 G#1 1661 A1 1760 Bb1 1865 continued on next page... 13
Constante Valor H1 1976 I2CMODE_MASTER 0x0000 I2CMODE_SLAVE 0x1000 I2CMODE_CHANNEL 0x2000 I2CMODE_ADDRESS_MASK 0x007F KEYA 0 KEYB 1 DESF_AUTHMODE_COMPATIBLE 0 DESF_AUTHMODE_EV1 1 DESF_COMMSET_PLAIN 0 DESF_COMMSET_PLAIN_MACED 1 DESF_COMMSET_FULLY_ENC 3 DESF_KEYTYPE_3DES 0 DESF_KEYTYPE_3K3DES 1 DESF_KEYTYPE_AES 2 DESF_KEYLEN_3DES 16 DESF_KEYLEN_3K3DES 24 DESF_KEYLEN_AES 16 DESF_FILETYPE_STDDATAFILE 0 DESF_FILETYPE_BACKUPDATAFILE 1 DESF_FILETYPE_VALUEFILE 2 DESF_FILETYPE_LINEARRECORDFILE 3 DESF_FILETYPE_CYCLICRECORDFILE 4 Tabela 2.2: Constantes usados no TWN4Director