Upload
others
View
3
Download
0
Embed Size (px)
Citation preview
KAZI ScanWedge
Manual de Instalação e Operação
Revisão 1.7
Março/2020
Página 2
Aviso Legal
Copyright © 2015-2020 KAZI Honda Tecnologia. Todos os direitos reservados. Este documento e os produtos a que dizem respeito são distribuídos sob licenças que restringem seu uso, cópia, distribuição e descompilação. Nenhuma parte desta documentação do produto pode ser reproduzida em qualquer forma ou por qualquer meio sem o prévio consentimento por escrito de KAZI Honda Tecnologia ou seus licenciadores, se houver. O software de terceiros são protegidos por direitos autorais e licenciado pelos concessores. Todos os nomes de marcas, nomes de empresas e marcas comerciais são propriedade de seus respectivos proprietários. A DOCUMENTAÇÃO É FORNECIDA “COMO ESTÁ” E TODAS AS CONDIÇÕES IMPLICITAS, DECLARAÇÕES E GARANTIAS, INCLUINDO QUALQUER GARANTIA DE COMERCIALIZAÇÃO, ADEQUAÇÃO A UM DETERMINADO FIM OU NÃO-VIOLAÇÃO SÃO AQUI ISENTAS, EXCETO NA MEDIDA EM QUE TAIS RENÚNCIAS SEJAM CONSIDERADAS LEGALMENTE INVÁLIDAS.
Página 3
Sumário
Introdução ..................................................................................................................................... 4
Instalação ...................................................................................................................................... 5
Requisitos da Aplicação ............................................................................................................. 5 Instalação da Aplicação ............................................................................................................. 6
Operação ....................................................................................................................................... 7
Configuração ............................................................................................................................. 7 GERAL .................................................................................................................................... 7
LEITOR DE RFID ...................................................................................................................... 7
FILTRO ................................................................................................................................... 8
PARÂMETROS DE ENVIO ....................................................................................................... 8
Demo ......................................................................................................................................... 9 Política de Privacidade .............................................................................................................. 9 Sobre ......................................................................................................................................... 9 Licença ....................................................................................................................................... 9 Opções ..................................................................................................................................... 10 Sair ........................................................................................................................................... 10
Teclado Virtual ............................................................................................................................ 11
Integração ................................................................................................................................... 14
Comandos suportados ............................................................................................................ 14 StartService ......................................................................................................................... 14
StopService .......................................................................................................................... 14
ReaderConnect .................................................................................................................... 14
ReaderDisconnect ............................................................................................................... 15
ReadEPC .............................................................................................................................. 15
WriteEPC ............................................................................................................................. 15
GetBatteryLevel ................................................................................................................... 16
SetConfig ............................................................................................................................. 16
Fluxo de Execução ................................................................................................................... 19
Página 4
Introdução
O KAZI ScanWedge é um software que atua como um driver para os leitores de RFID (suporta
diversos fabricantes e modelos).
Ele captura e envia os dados de leitura para sua aplicação de várias formas, seja através de
buffer de teclado, comunicação via Intent, HTTP, Sockets, etc.
Você pode ter aplicações altamente eficientes sem a preocupação de integração com os
protocolos específicos de cada leitor de RFID, eliminando a necessidade de utilizar a biblioteca
de um determinado equipamento e por consequência ficar preso a ele.
Automatizando a captura de dados os erros de entrada são eliminados, aumentando a
produtividade e maximizando o valor agregado de sua aplicação.
Página 5
Instalação
Requisitos da Aplicação Os seguintes requisitos são necessários para rodar a aplicação:
Sistema Operacional Kitkat (4.4) ou superior
Componentes de HW Adaptador Bluetooth Leitor de RFID
Página 6
Instalação da Aplicação
A aplicação pode ser instalada através do Google Play Store ou manualmente.
Para instalar pelo Google Play Store acesse o link:
https://play.google.com/store/apps/details?id=com.kazihonda.scanwedge
Para instalar manualmente siga o seguinte procedimento:
-Habilite a instalação de aplicativos de fontes desconhecidas na configuração;
-Copie o arquivo com.kazihonda.scanwedge.apk no coletor;
-Execute o arquivo com.kazihonda.scanwedge.apk por um gerenciador de arquivos.
Ao término da instalação:
-Efetue o pareamento do leitor de RFID Bluetooth.
Página 7
Operação
Configuração As seguintes configurações estão disponíveis:
GERAL
Habilitar Serviço: habilita o serviço do ScanWedge
Habilitar Notificação: habilita a notificação na barra de status para que o usuário efetue a conexão/desconexão com o leitor de RFID (a notificação sempre estará habilitada caso o coletor não esteja licenciado)
LEITOR DE RFID
Protocolo: define o protocolo/modelo do leitor: NONE: nenhum leitor LLRP: leitor de rede que suporta o protocolo LLRP TCIP: leitor da Acura 900 BT, conexão Bluetooth BRI: leitor da Honeywell IP30, conexão Bluetooth ZETI: leitor da Zebra RFD8500, conexão Bluetooth TSL: leitor da Acura BTL-xxxx/Honeywell IH21, conexão Bluetooth DCE: coletor da Alien ALR-H450/Identix C72 API3: leitor da Zebra RFD8500/RFD2000/MC3300R CS108: leitor da CSL CS108, conexão BLE RFR900: leitor da Bluebird RFR900, conexão Bluetooth CKE: coletor da Chainway com keyboardemulator CR6: leitor da Chainway, conexão BLE
Nome/Endereço IP: nome ou endereço do IP do leitor (selecione o leitor desejado caso haja mais de um leitor pareado no Bluetooth pressionando o botão “>”)
Antenna IDs: antenas utilizadas (somente LLRP)
Query Session: sessão (0,1,2,3)
Query Tag Population: número de tags esperadas
TxPower Index: potência em dBm (0=máximo suportado pelo leitor)
TxDuty Cycle: ciclo de trabalho
Mode Index: modo de trabalho Ao utilizar o protocolo ZETI deve se especificar o modelo utilizado:
0: RFD8500 somente leitor de RFID
1: RFD8500 somente leitor de RFID - firmware antigo
2: RFD8500 com leitor de RFID e cód.barras
Ao utilizar o protocolo API3 deve se especificar o modelo utilizado: 0: detecção automática 1: RFD8500 2: RFD2000 3: MC3300R
Receiver Sensitivity: sensibilidade (somente LLRP, leitor da Zebra colocar 0)
Region: índice da região (0=default/1=Brasil)
Página 8
FILTRO
Ignorar Leitura: ignora a leitura do mesma tag de RFID pelo tempo especificado em segundos. Se o valor for 0(zero) a leitura do mesma tag será considerada apenas uma vez enquanto o gatilho estiver apertado.
RSSI Mínimo: valor mínimo do RSSI para a tag de RFID ser considerada
Validação Regex: “Expressão Regular” para validação do EPC da tag de RFID
PARÂMETROS DE ENVIO
DIGITAÇÃO
Habilitar Envio por Digitação: habilita ou desabilita o plugin
Atraso por Caractere: tempo de espera, em milissegundos, entre o pressionamento de cada tecla
Alterar IME: permite alterar o método de entrada, é obrigatório utilizar o teclado “KAZI ScanWedge” para que o envio por digitação funcione
INTENT
Habilitar Envio por Intent: habilita ou desabilita o plugin
Ação: nome da ação (Action)
Categoria: nome da categoria (Category)
Pacote: nome do pacote (Package)
Nome do Extra: nome do parâmetro em que o dado será enviado
Modo de Entrega: define o modo de entrega do Intent: SendBroadcast StartActivity StartService
Flag Receiver Foreground: habilita ou desabilita o flag do Intent Intent.FLAG_RECEIVER_FOREGROUND
Se o Envio por Intent estiver habilitado e configurado, além das leituras dos tags, também serão enviados:
Erros de conexão: através do extra com.kazihonda.scanwedge.error_message Se o leitor conectar com sucesso o valor será READER_CONNECTED, caso contrário será uma mensagem de erro.
Pressionamento de gatilho: através do extra com.kazihonda.scanwedge.trigger_event O valor para o pressionamento do gatilho será PULL, soltar o gatilho retorna RELEASE.
Nível de bateria: através do extra com.kazihonda.scanwedge.battery_level É retornado em resposta ao chamado do comando GetBatteryLevel, vide Integração.
HTTP
Habilitar Envio por HTTP: habilita ou desabilita o plugin
Método: método utilizado. Suporta somente POST
Página 9
URL: URL do servidor
KAZI Link
Habilitar Envio para KAZI Link (Middleware de RFID): habilita ou desabilita o plugin
URL do Servidor: URL do servidor
SOCKET
Habilitar Envio por Socket: habilita ou desabilita o plugin
Protocolo: protocolo utilizado pela aplicação remota. Suporta TCP e UDP
Endereço IP do Servidor: endereço IP do servidor
Porta do Servidor: porta do servidor
FORMATAÇÃO DE DADOS
A formatação de dados não é um plugin, serve para formatar o dado antes de ser processado por um plugin de envio.
Habilitar Formatação de Dados: habilita ou desabilita a formatação do dado, se não estiver habilitado o dado será enviado em sua forma original
Prefixo dos Dados: adiciona caracteres no início do dado
Sufixo dos Dados: adiciona caracteres no fim do dado
Enviar dados: desabilitando esta opção o dado não será enviado, somente o prefixo e/ou sufixo serão enviados, caso haja.
Converter para Hexa: converte o dado para o formato hexadecimal
Converter para ASCII: converte o dado (em hexa) para o formato ASCII
Enviar tecla TAB: adiciona a tecla TAB no fim do dado (somente por digitação)
Enviar tecla ENTER: adiciona a tecla ENTER no fim do dado (somente por digitação)
Demo Permite demonstrar a leitura dos tags de RFID utilizando os parâmetros configurados.
Política de Privacidade Mostra a política de privacidade da aplicação.
Sobre Mostra as informações de versão e avisos legais da aplicação.
Licença Permite verificar o status e entrar com a chave de ativação para o licenciamento.
Página 10
Para efetuar o licenciamento do coletor envie o “ID do Terminal” e o número do pedido para o email [email protected], em até 72 horas será retornada a chave de ativação.
Enquanto a aplicação não estiver licenciada haverá uma limitação de 10 leituras de tag de RFID por conexão do leitor. Após este número de leituras nenhum dado será mais processado, desconecte e reconecte o leitor para reiniciar o contador.
Opções As seguintes opções estão disponíveis:
Restaurar as configurações de fábrica: retorna para os ajustes originais (não afeta a licença), todos os ajustes anteriores serão perdidos
Gravar EPC: grava o EPC de um tag de RFID
Localizador RFID: traz uma indicação de proximidade de um tag de RFID
Sair Encerra a aplicação. Se o serviço do ScanWedge estiver habilitado o mesmo será iniciado e persistido ao efetuar o boot ou carregamento da bateria.
Página 11
Teclado Virtual
Caso se utilize o modo de envio por digitação é obrigatório que teclado virtual “KAZI ScanWedge” esteja habilitado e ativo no Android.
Para selecionar o teclado siga o seguinte procedimento (pode variar conforme a versão do Android):
Clique no botão “Alterar IME”
Clique em “Configurar métodos de entrada”
Página 12
Clique em “KAZI ScanWedge IME”
Clique no botão “OK”, em seguida pressione BACK
Clique novamente no botão ”Alterar IME”
Página 13
Selecione o teclado “KAZI ScanWedge”
O teclado “KAZI ScanWedge”possui 2 teclas especiais que permitem conectar e desconectar do leitor de RFID diretamente, sem a necessidade de utilizar a notificação
Página 14
Integração
O ScanWedge permite através de chamada por Intent do Android controlar seu funcionamento sem a necessidade de acessar a interface de usuário.
Comandos suportados
StartService
Inicia o serviço do ScanWedge Inicie o serviço preenchendo um Intent com os seguintes valores: Action: com.kazihonda.scanwedge.runner Package: com.kazihonda.scanwedge Exemplo: Intent intent = new Intent("com.kazihonda.scanwedge.runner");
intent.setPackage("com.kazihonda.scanwedge");
startService(intent);
StopService
Para o serviço do ScanWedge Pare o serviço preenchendo um Intent com os seguintes valores: Action: com.kazihonda.scanwedge.runner Package: com.kazihonda.scanwedge Exemplo: Intent intent = new Intent("com.kazihonda.scanwedge.runner");
intent.setPackage("com.kazihonda.scanwedge");
stopService(intent);
ReaderConnect
Conecta com o leitor de RFID Envie um SendBroadcast de um Intent com os seguintes valores: Action: com.kazihonda.scanwedge.action.COMMAND Category: com.kazihonda.scanwedge.category.DEFAULT Extra Name: com.kazihonda.scanwedge.data Extra Value: com.kazihonda.scanwedge.command.ReaderConnect Exemplo: Intent intent = new Intent();
intent.setAction("com.kazihonda.scanwedge.action.COMMAND");
intent.addCategory("com.kazihonda.scanwedge.category.DEFAULT");
intent.putExtra("com.kazihonda.scanwedge.data",
"com.kazihonda.scanwedge.command.ReaderConnect");
sendBroadcast(intent);
Página 15
ReaderDisconnect
Desconecta do leitor de RFID Envie um SendBroadcast de um Intent com os seguintes valores: Action: com.kazihonda.scanwedge.action.COMMAND Category: com.kazihonda.scanwedge.category.DEFAULT Extra Name: com.kazihonda.scanwedge.data Extra Value: com.kazihonda.scanwedge.command.ReaderDisconnect Exemplo: Intent intent = new Intent();
intent.setAction("com.kazihonda.scanwedge.action.COMMAND");
intent.addCategory("com.kazihonda.scanwedge.category.DEFAULT");
intent.putExtra("com.kazihonda.scanwedge.data",
"com.kazihonda.scanwedge.command.ReaderDisconnect");
sendBroadcast(intent);
ReadEPC
Utilizado para ler os EPCs sem a necessidade de apertar o gatilho, é executado somente um ciclo de leitura Envie um SendBroadcast de um Intent com os seguintes valores: Action: com.kazihonda.scanwedge.action.COMMAND Category: com.kazihonda.scanwedge.category.DEFAULT Extra Name: com.kazihonda.scanwedge.data Extra Value: com.kazihonda.scanwedge.command.ReadEpc Exemplo: Intent intent = new Intent();
intent.setAction("com.kazihonda.scanwedge.action.COMMAND");
intent.addCategory("com.kazihonda.scanwedge.category.DEFAULT");
intent.putExtra("com.kazihonda.scanwedge.data",
"com.kazihonda.scanwedge.command.ReadEpc");
sendBroadcast(intent);
WriteEPC
Grava o EPC do tag de RFID Envie um SendBroadcast de um Intent com os seguintes valores: Action: com.kazihonda.scanwedge.action.COMMAND Category: com.kazihonda.scanwedge.category.DEFAULT Extra Name: com.kazihonda.scanwedge.data Extra Value: com.kazihonda.scanwedge.command.WriteEpc É necessário também o envio dos seguintes parâmetros de gravação: Nome Tipo Envio Observação
NewEpc String Obrigatório
CurrentEpc String Opcional Não é suportado por todos os leitores
Página 16
Antenna String Opcional Necessário apenas para leitores LLRP
Exemplo: Intent intent = new Intent();
intent.setAction("com.kazihonda.scanwedge.action.COMMAND");
intent.addCategory("com.kazihonda.scanwedge.category.DEFAULT");
intent.putExtra("com.kazihonda.scanwedge.data",
"com.kazihonda.scanwedge.command.WriteEpc");
intent.putExtra("NewEpc", "111111111111111111111111");
intent.putExtra("CurrentEpc", "222222222222222222222222");
intent.putExtra("Antenna", "1");
sendBroadcast(intent);
GetBatteryLevel
Retorna o nível de bateria, em porcentagem, do leitor de RFID Envie um SendBroadcast de um Intent com os seguintes valores: Action: com.kazihonda.scanwedge.action.COMMAND Category: com.kazihonda.scanwedge.category.DEFAULT Extra Name: com.kazihonda.scanwedge.data Extra Value: com.kazihonda.scanwedge.command.GetBatteryLevel Exemplo: Intent intent = new Intent();
intent.setAction("com.kazihonda.scanwedge.action.COMMAND");
intent.addCategory("com.kazihonda.scanwedge.category.DEFAULT");
intent.putExtra("com.kazihonda.scanwedge.data",
"com.kazihonda.scanwedge.command.GetBatteryLevel");
sendBroadcast(intent);
O valor do nível de bateria pode não estar disponível imediatamente após efetuar a conexão com o leitor de RFID. Se o leitor não suportar este comando irá sempre retornar zero. Se o valor retornar -1 significa que o leitor de RFID não está conectado.
SetConfig
Altera a configuração do ScanWedge Envie um SendBroadcast de um Intent com os seguintes valores: Action: com.kazihonda.scanwedge.action.COMMAND Category: com.kazihonda.scanwedge.category.DEFAULT Extra Name: com.kazihonda.scanwedge.data Extra Value: com.kazihonda.scanwedge.command.SetConfig É necessário também o envio de um ou mais parâmetros de configuração: Nome Tipo Observação
Service.Enable Boolean Habilita o serviço do ScanWedge
Service.Notification Boolean Habilita a notificação na barra de status
Output.KeystrokeEnable Boolean Habilita o envio por digitação
Output.KeystrokeCharDelay Integer Tempo de espera, em milissegundos, entre o pressionamento de cada tecla
Output.IntentEnable Boolean Habilita o envio por Intent
Output.IntentAction String Nome da ação
Página 17
Output.IntentCategory String Nome da categoria
Output.IntentPackage String Nome do pacote
Output.IntentExtraName String Nome do parâmetro
Output.IntentDelivery Integer Modo de entrega do Intent Valores válidos: 0: SendBroadcast 1: StartActivity 2: StartService
Output.IntentReceiverForeground Boolean Habilita o flag FLAG_RECEIVER_FOREGROUND
Output.HttpEnable Boolean Habilita o envio por HTTP
Output.HttpMethod String Suporte somente POST
Output.HttpUrl String URL do servidor
Output.SocketEnable Boolean Habilita o envio por Socket
Output.SocketProtocol String Suporta TCP e UDP
Output.SocketHost String Endereço IP do servidor
Output.SocketPort Integer Porta do servidor
Output.KaziLinkEnable Boolean Habilita o envio para o Kazi Link (Middleware de RFID)
Output.KaziLinkUrl String URL do servidor
DataFormat.Enable Boolean Habilita a formatação do dado
DataFormat.Prefix String Adiciona caracteres no início do dado
DataFormat.Suffix String Adiciona caracteres no fim do dado
DataFormat.SendData Boolean Desabilitando esta opção o dado não será enviado
DataFormat.SendHex Boolean Converte o dado para o formato hexadecimal
DataFormat.SendAsc Boolean Converte o dado para o formato ASCII
DataFormat.SendTab Boolean Adiciona a tecla TAB no fim do dado (digitação)
DataFormat.SendEnter Boolean Adiciona a tecla ENTER no fim do dado (digitação)
RFID.Protocol Integer Protocolo/Modelo do leitor de RFID Valores válidos: 0: nenhum 1: leitor de rede LLRP 2: leitor Acura 900 BT 3: leitor Honeywell IP30 4: leitor Zebra RFD8500 5: leitor Acura BTL-xxxx/Honeywell IH21 6: coletor Alien ALR-H450/Identix C72 7: leitor Zebra RFD8500/RFD2000/MC3300R 8: leitor CSL CS108 9: leitor Bluebird RFR900 10: coletor Chainway com keyboardemulator 11: leitor Chainway R6
RFID.QuerySession Integer Sessão Valores válidos: 0/1/2/3
RFID.QueryPopulation Integer Número de tags esperadas
RFID.TxPowerSingleQuery Integer Potência (0=máximo suportado pelo leitor)
RFID.TxDutyCycle Integer Ciclo de trabalho
RFID.ReaderName String Nome ou Endereço IP do leitor
RFID.AntennaIDs String Antenas utilizadas (somente leitor LLRP)
RFID.ModeIndex Integer Modo de trabalho Ao utilizar o protocolo ZETI deve se especificar o modelo do RFD8500 utilizado: 0: somente leitor de RFID 1: somente leitor de RFID - firmware antigo 2: com leitor de RFID e cód.barras Ao utilizar o protocolo API3 deve se especificar o modelo utilizado: 0: detecção automática
Página 18
1: RFD8500 2: RFD2000 3: MC3300R
RFID.RxSensitivity Integer Sensibilidade (somente leitor LLRP, leitores Zebra devem ter este valor configurado para 0)
RFID.Region Integer Região de operação do leitor de RFID Valores válidos: 0=padrão do leitor 1=Brasil
Filter.IgnoreRead Integer Ignora a leitura do mesma tag de RFID pelo tempo especificado em segundos. Se o valor for 0(zero) a leitura do mesma tag será considerada apenas uma vez enquanto o gatilho estiver apertado
Filter.MinimumRSSI Integer Valor mínimo do RSSI para a tag de RFID ser considerada
Filter.RegexValid String “Expressão Regular” para validação do EPC
Exemplo: Intent intent = new Intent();
intent.setAction("com.kazihonda.scanwedge.action.COMMAND");
intent.addCategory("com.kazihonda.scanwedge.category.DEFAULT");
intent.putExtra("com.kazihonda.scanwedge.data",
"com.kazihonda.scanwedge.command.SetConfig");
intent.putExtra("Output.HttpEnable", "true");
intent.putExtra("Output.HttpUrl", "http://localhost/sample");
sendBroadcast(intent);
Os valores dos parâmetros devem ser enviados entre aspas, mesmo os parâmetros do tipo Boolean e Integer.
Página 19
Fluxo de Execução
Seguem as sugestões para o fluxo de execução de integração.
Fluxo para a leitura de EPC (padrão):
Inicie o serviço do ScanWedge (StartService) ao iniciar a aplicação;
Envie para o ScanWedge (SetConfig) a configuração desejada;
Conecte com o leitor de RFID (ReaderConnect) ao entrar na tela de captura de dados;
Tenha algum método para receber as leituras;
Desconecte do leitor de RFID (ReaderDisconnect) ao sair da tela de captura de dados;
Pare o serviço do ScanWedge (StopService) ao finalizar a aplicação.
Fluxo para gravação de EPC:
Inicie o serviço do ScanWedge (StartService) ao iniciar a aplicação;
Envie para o ScanWedge (SetConfig) a configuração desejada;
Conecte com o leitor de RFID (ReaderConnect) ao entrar na tela de gravação;
Tenha algum método para receber as leituras;
Efetue a leitura do EPC (ReadEPC). Confirme se há a leitura de um tag, se não houver
nenhuma leitura ou ler mais de um tag retorne um erro;
Efetue a gravação do EPC (WriteEPC);
Efetue novamente a leitura do EPC (ReadEPC) para confirmar se o tag foi gravado
corretamente, se não estiver correto retorne um erro;
Desconecte do leitor de RFID (ReaderDisconnect) ao sair da tela de gravação;
Pare o serviço do ScanWedge (StopService) ao finalizar a aplicação.