Leitor/Gravador de Cartões MSR605 - Guia do Usuário

Bem-vindo ao guia do usuário do Leitor/Gravador de Cartões MSR605! Este documento irá ajudá-lo a começar a usar o aplicativo para ler e gravar em cartões de tarja magnética.

Índice

  1. Instalação
  2. Primeiros Passos
  3. Leitura de Cartões
  4. Gravação de Cartões
  5. Configuração
  6. Solução de Problemas
  7. Formatos de Cartão
  8. Recursos Avançados
  9. Perguntas Frequentes

Instalação

Windows

  1. Baixe o instalador mais recente na página de Lançamentos
  2. Execute o instalador e siga as instruções na tela
  3. Conecte seu dispositivo MSR605 a uma porta USB disponível
  4. Inicie o aplicativo pelo Menu Iniciar ou atalho na área de trabalho

Linux/macOS

  1. Certifique-se de ter o Python 3.8+ instalado
  2. Instale as dependências necessárias:
    pip install -r requirements.txt
    
  3. Execute o aplicativo:
    python main.py
    

Primeiros Passos

Conectando o Dispositivo

  1. Conecte seu dispositivo MSR605 ao computador usando o cabo USB
  2. O aplicativo deve detectar o dispositivo automaticamente
  3. A barra de status mostrará “Dispositivo Conectado” quando bem-sucedido

Interface Principal

Leitura de Cartões

  1. Insira um cartão de tarja magnética no leitor
  2. Clique no botão “Ler”
  3. Os dados do cartão serão exibidos na janela principal
  4. Para salvar os dados, clique em “Arquivo” > “Salvar Como…”

Gravação de Cartões

  1. Insira um cartão de tarja magnética gravável no gravador
  2. Digite ou cole os dados que deseja gravar nos campos de faixa apropriados
  3. Selecione em quais faixas deseja gravar
  4. Clique no botão “Gravar”
  5. A barra de status mostrará o resultado da operação

Formatos de Cartão

O aplicativo suporta dois padrões principais de cartões magnéticos: ISO 7811 e ISO 7813. Entender estes formatos é crucial para operações adequadas de leitura e gravação.

ISO 7811

ISO 7811 é o padrão internacional para cartões de identificação com tarja magnética. Define:

ISO 7813

ISO 7813 é um subconjunto do ISO 7811 especificamente para cartões de transações financeiras. Principais diferenças:

Selecionando o Formato Correto

  1. Vá para Configurações > Formato do Cartão
  2. Escolha entre:
  3. Clique em Aplicar para salvar as configurações

Configuração

Configurações do Dispositivo

Configurações do Aplicativo

Solução de Problemas

Problemas Comuns

Dispositivo Não Encontrado

Falhas na Leitura/Gravação

Travamentos do Aplicativo

Recursos Avançados

Visualização de Dados

Visualização de Faixas

  1. Leia um cartão ou carregue dados salvos
  2. Clique na aba “Visualização” na janela de Recursos Avançados
  3. Visualize as representações geradas para cada faixa

Personalização

Modelos de Dados

Crie modelos personalizados para diferentes tipos de cartões:

  1. Vá para Modelos > Novo Modelo
  2. Defina os campos e formatos
  3. Salve o modelo para uso futuro

Perguntas Frequentes

Como atualizar o driver do dispositivo?

  1. Baixe o driver mais recente do site do fabricante
  2. Abra o Gerenciador de Dispositivos
  3. Localize o dispositivo MSR605
  4. Clique com o botão direito e selecione “Atualizar driver”
  5. Siga as instruções na tela

O que fazer se o aplicativo travar?

  1. Feche o aplicativo
  2. Desconecte e reconecte o dispositivo
  3. Reabra o aplicativo
  4. Se o problema persistir, entre em contato com o suporte com os detalhes do erro

Estou recebendo erros de “Dispositivo não encontrado”

  1. Desconecte e reconecte o dispositivo
  2. Tente uma porta USB diferente
  3. Verifique se o dispositivo aparece no Gerenciador de Dispositivos
  4. Reinstale os drivers, se necessário

Documentação da API

Módulos Principais

msr605

O módulo principal que contém a funcionalidade básica.

Classe MSR605

class MSR605:
    def __init__(self, porta=None, velocidade=9600, tempo_espera=1):
        """Inicializa a conexão com o dispositivo MSR605.
        
        Args:
            porta (str, opcional): Nome da porta serial. Se None, tenta detecção automática.
            velocidade (int, opcional): Velocidade de comunicação em bauds. Padrão: 9600.
            tempo_espera (int, opcional): Tempo de espera da leitura em segundos. Padrão: 1.
        """
        pass
    
    def conectar(self):
        """Estabelece a conexão com o dispositivo."""
        pass
    
    def desconectar(self):
        """Fecha a conexão com o dispositivo."""
        pass
    
    def esta_conectado(self):
        """Verifica se o dispositivo está conectado.
        
        Returns:
            bool: True se estiver conectado, False caso contrário.
        """
        pass
    
    def ler_cartao(self, faixas=[1, 2, 3]):
        """Lê dados de um cartão de tarja magnética.
        
        Args:
            faixas (list, opcional): Lista de faixas para ler (1, 2, 3). Padrão: todas as faixas.
            
        Returns:
            dict: Dicionário contendo os dados das faixas com os números das faixas como chaves.
        """
        pass
    
    def gravar_cartao(self, dados_faixa, verificar=True):
        """Grava dados em um cartão de tarja magnética.
        
        Args:
            dados_faixa (dict): Dicionário com números de faixa como chaves e dados como valores.
            verificar (bool, opcional): Se deve verificar os dados gravados. Padrão: True.
            
        Returns:
            bool: True se a gravação foi bem-sucedida, False caso contrário.
        """
        pass

Exemplos de Uso

Leitura Básica

from msr605 import MSR605

# Inicializa e conecta ao dispositivo
dispositivo = MSR605()
dispositivo.conectar()

# Lê todas as faixas
dados = dispositivo.ler_cartao()
print(f"Faixa 1: {dados.get(1, 'Sem dados')}")
print(f"Faixa 2: {dados.get(2, 'Sem dados')}")
print(f"Faixa 3: {dados.get(3, 'Sem dados')}")

# Desconecta
dispositivo.desconectar()

Gravação Básica

from msr605 import MSR605

# Inicializa e conecta ao dispositivo
dispositivo = MSR605()
dispositivo.conectar()

# Prepara os dados das faixas
dados_faixa = {
    1: "%B1234567890123456^TITULAR/CARTAO^25121010000000000000000000000000000?",
    2: ";1234567890123456=25121010000000000000?",
    3: ""  # Faixa 3 vazia
}

# Grava no cartão
sucesso = dispositivo.gravar_cartao(dados_faixa)
print(f"Gravação {'bem-sucedida' if sucesso else 'falhou'}")

# Desconecta
dispositivo.desconectar()

Especificações Técnicas

Especificações de Hardware

Especificações de Software

Suporte Técnico

Recursos Adicionais

Contato

Histórico de Versões

Versão 1.2.0 (Atual)

Versão 1.1.0

Versão 1.0.0