Boa tarde,

Segundo o título e podem imaginar preciso efetuar a comunicação entre a Shileld e a MCR (Magnetic Card Reader), contudo não obtive a resposta esperada se alguém puder ajudar agradeço.

Os passos foram bem simples:

1- Usando a IDE 1.6.9 do Arduino e instalado a USB Host Shield Library 2.0, fiz uso do exemplo base PL2303_gprs terminal, alterando apenas de o baud rate de 115200 para 9600 exigido pela máquina, chamaremos esse de code_1;

2- Compilado e carregado foi plugada a Shield no Arduino Uno, conectado os USB´s e alimentada a maquininha, acionado o terminal serial para observar a resposta, chamaremos essa de resp_serial_1-2;

3- Enviado qualquer espécie de comando, letra ou número foi respondido com uma espécie código, por exemplo o número "1" com 1050, "2" com 1051, "3" com 1052 a letra "p" com 10112, "d" com 10100...

Em uma segunda tentativa:

4- Foi efetuado alterações simples que segundo o manual MSR605 seriam comandos responsáveis por testes de comunicação, decidi ir direto nos Leds (acender e apaga-los), podem ser observadas no code_2;

5- Dentre as alterações, a única coisa desejada foi que ao enviar um comando via serial o número 27130 acenderia todos os leds, resp_serial_1-2, foi exatamente o que não aconteceu, parece que não houve comunicação;

6- Não satisfeito foi efetuado um código completo de funcionamento da máquina via Visual Studio testado e aprovado, controle total de testes, incluindo um botão chamado "Disco" que tem como principal função acender e apagar todos os leds;

7- Reaproveitando o mesmo foi resolvido fazer + um teste, usar o que estava respondendo bem sozinho + agora o uso da da Shield mudando apenas o terminal do VS, surpresa, quando feito o uso do code_1 (Passos 1-3 descritos acima) ele respondeu como se tudo o que enviasse via RX voltasse TX (curto) ou seja caso enviado o "Command:RESET - Hexcode:1B61" volta o mesmo, "Command: GREEN LED on - Hexcode:1B83" volta o mesmo...

8- Por ultimo e não menos aguardado foi usado o code_2 da mesma forma a resposta foi inúmeros 27130 na tela independente do comando dado e nada de led + uma vez hehehehe

Arduino Shield USB Host

schematic USB Host

MSR605 - Manual

Novo Link Manual - Google docs

Code_1.JPG

Code_2.JPG

resp_serial_1_2.JPG

Exibições: 712

Anexos

Responder esta

Respostas a este tópico

Primeiro teste que eu faria :

- testar o seu Leitor de cartão magnético com um PC . 

Esta funcionando corretamente com um PC ?

Opa e aí José, em primeiro lugar obrigado por responder, "sou seu fã", sim amigo, acabei não fazendo essa observação, foi a primeiríssimo teste feito usar o PC e o software padrão que acompanha o produto, desenvolvido aparentemente em Delphi, funcionamento perfeito, teste de todas as trilhas, leitura e escrita, inúmeros cartões, etc.. Obs:. A dúvida e o objetivo da inclusão do USB Host é apenas mais uma parte referente ao meu projeto, pretendo fazer meu próprio diferencial, usá-la na node ESP8266 usando seus tutoriais... 

Não consegui acesso ao manual. Teria que me registrar (eu não quero).

Favor anexar o arquivo do manual do MSR605. 

Reeditei, incluí um novo link! Agora gostaria de editar a segunda resposta e deu um erro ao salvar, enfim, falando um pouquinho mais sobre os objetivos futuros, em geral o projeto que estou 100% dedicado um "pouquinho ambicioso" até, gira em torno de duas máquinas, uma TTL, finalizada recentemente com leitura instantânea das duas trilhas, reverse, etc, programada em Arduino, AVR e C#, essa USB + Host com intuito de eliminar o uso da ligação de um computador, estudar, desenvolver, projetar e incluir outros pequenos projetos e/ou exemplares com o máximo de diferenciais possíveis, envolvendo IOT, Domótica, Automação...junto de comunicações MQTT, nodeJAVA (Sockt IO), bluetooth, RF, IR, Iphone...fechar tudo em um pack documentar e apresentar em inúmeros formatos conhecidos, incluindo o principal deles há uma banca universitária.
PS:. Sou completamente novato nesse mundo Arduino, inúmeras linguagens e etc...mais é aí que está o "X" da questão ao que me impulsiona, minha felicidade, a capacidade inacreditável que temos de quando queremos, acreditamos e nos determinamos de poder fazer acontecer mesmo sem saber nada, não saber nem por onde começar em um dia e no outro ter aquela impagável satisfação de ter vencido, feito, visto funcionar...pretendo ainda poder bater no peito e dizer sou um projetista de verdade, fiz a diferença há alguém, "ajudei", deixei meu pequeno legado, independente que tenha sido pequeno ou esse mesmo em meio de muito esforço, suor e lágrima, o conhecimento e a superação estão ali, por inúmeros motivos tenho pouco tempo para fazer tudo isso acontecer, contudo desistir não é uma opção.

Gesier , já consegui acesso ao manual. 

O manual explica vários comandos. Já obteve resposta correta de algum comando ?

Acho que você terá que criar uma biblioteca para poder usar o seu MCR. 

Veja a Biblioteca abaixo.

Sugiro que estude esses links :

http://www.instructables.com/id/Turn-your-Arduino-into-a-Magnetic-C...

http://www.instructables.com/id/Arduino-magnetic-stripe-decoder/?AL...

https://www.sparkfun.com/products/11096

https://github.com/carlosefr/magstripelib

Então José, deixa eu te dizer, muitos desses codes envolvem problemas ou são antigos d+, usaram conexões extintas, caso do stripesnoop, outros são até mesmo enganações "promessas" que funcionam" principalmente o primeiro citado por você, além de serem em sua maioria TTL´s (conexão Serial) não USB.

Encontrará inúmeros ao redor do mundo, uns são ótimos achados via https://github.com óbvio, envolvem programação em Python, C, C++, C#, MAC, Java, Linux, code com o conversor F2F (feitos no braço) conversão obrigatória para leitura via plug áudio e vídeo (caso celulares), até vou deixar aqui uma relação dos melhores testados e aprovados para quem tiver interesse no assunto, contudo independe do código que pegue como base para o seu próprio desenvolvimento, se depará com detalhes por exemplo, eles não leram as duas ou três trilhas ao mesmo tempo, não são universais ou independentes de marcas, uns até ousam em dizer que será impossível fazer, terá que ler uma trilha de cada vez, verá codes que lhe impressionam por sua complexidade de pensamentos inclusive tamanho mais lê apenas uma específica (principalmente a track 1) enfim...o assunto só se estenderia...agora relacionado a minha dúvida,  estaríamos envolvendo especificamente o porque não consigo usar a biblioteca da Shield USB com a máquina MSR605, sendo que as duas deveriam e foram projetadas para casar uma com a outra teoricamente, já que pretendo fazer é o uso do Arduino como ponte eliminando o uso obrigatório de um USB oferecido em um computador nessa parte do projeto entende, em outras palavras onde estou errando e como fazer corretamente o controle do MAX3421 com a  PL2303SA já que o primeiro está na Shield e outro está como conversor USB-Serial embutido na máquina.

Sobre os melhores projetos citados acima:

stripesnoop (Code = C, Maquina = TTL/BD-15 "porta paralela", Reading = tracks 1,2) reconhece apenas cartões Americanos;

PenturaLabs (Code = C/CPP e Java, Maquina = TTL/Serial, Reading = tracks 1) projeto voltado a segurança para controle de acesso;

carlosefr (Code = C/C++/ASCII = Maquina = TTL/Serial, Reading = tracks 1,2) projeto quase perfeito, desenvolveu uma Library própria para o uso de Arduino base mega8/168/328, não lê traks ao mesmo tempo;

Microsoft/Windows-driver-samples  C# /WDK driver universal especialmente desenvolvido para o uso de Visual Studio 2015, faz uso até mesmo de um simulador bancário, ótimo suporte, lançamento mundial recente feito pela Microsoft com os principais intuitos de criar novos programadores/profissionais interessados nessa área quanto fazer uso da ferramenta, que na minha humilde opinião, um software para poucos por ser muito dispendioso;

Xyl2k (Code = C#, Maquina = TTL/Serial, Reading = tracks 1,2) cumpre o que promete, Software desenvolvido em Visual Studio 5, não lê traks ao mesmo tempo,  precisa apenas de pequenas alterações no code e uma bela repaginação no quesito atualização para seu belo funcionamento

kevinbrewster Desenvolvido para MAC, desconhecido por mim, no entanto foi pego o protocolo F2F que faz uso de uma técnica conhecida por “Aiken Biphase” reprogramado passo a passo como as antigas fitas cassetes e  finalizado em um leitor de cartão via plug áudio e vídeo usado em hoje em dia nos celulares, esse é o código fonte;

dustin produto final, executável do MAC disponibilizado para download e testes;

oxplot (Code = Pyhton 2.7 e 3, Maquina = TTL/Serial/USB, Reading = tracks 1,2) usa linha de comandos inútil para um usuário final mais ótimo projeto;

0ki complementa o code do oxplot;

Ufa acho que é isso :-)

 "Porque não consigo usar a biblioteca da Shield USB com a máquina MSR605, sendo que as duas deveriam e foram projetadas para casar uma com a outra teoricamente ?"

Qual o protocolo usado na comunicação ? O driver para PC faz isso.

O seu Sketch do Arduino terá que fazer o mesmo. Você achou algo que explica como fazer isso ?

O manual explica vários comandos. Já obteve resposta correta de algum comando ?

Basicamente links que explicam como usar a USB Host:

https://www.youtube.com/watch?v=l2werTk9mHk

https://www.youtube.com/watch?v=lc_U0QOlg_k&t=343s

https://www.youtube.com/watch?v=q3vXTX6Qe54&t=3s

https://www.youtube.com/watch?v=t5gkg645xGE

Como pode observar essa shield usb é apenas a similar da que uso, pq a minha é a italiana, o que difere uma da outra é apenas a periferia, o chip MAX3421 é o mesmo e a library 2.0 baixada para o arduino tbém, pode efetuar o download aqui, por padrão e teoria seria simples, instalar a library na ide arduino, plugar o produto desejado de trabalho no USB escolher dentre os exemplos o produto em questão e/ou relacionado e prontinho, tudo deveria funcionar, talvez uma ou outra modificação em seu Sketch.

No meu caso e como já observado por vc, apenas o envio de comandos específicos para o controle como o manual. Relacionado ainda sobre suas perguntas não, estou ainda na mesma achei e testei com tudo oque tive há mão, teclado, mouse, controle game, celular antigo, por incrível que pareça tudo pega sem alteração alguma no Sketch "apenas com uso do exemplo puro" é muito legal, mais na máquina de cartão não, não sei se são comandos AT que deveriam ser dados, mais acredito que não pq não é modem e sim leds, não sei se existe alguém no mundo que teria um code melhor para tal ou que gambiarra que devo fazer para isso funcionar hehehehe

Mouse, teclado, joystick são diferentes do seu MCR . 

Esses dispositivos não aceitam comandos, eles só enviam dados do dispositivo para o host. O MCR trabalha diferentemente. 

Uma alternativa  para se tentar, seria usar um analisador lógico na interface para descobrir como funciona o protocolo entre o MCR e um PC. Mas não é nada simples (eu acho). 

Concordo, vou ter que deixar em stand by por enquanto e partir para o nodeESP8266 qualquer notícia nova posto aqui e voltamos a trocar algumas idéias, obrigado amigo.

No mercado livre, tem analisador lógico com preço acessível ( uns 50 reais). 

Analisador Lógico 8 Canais Usb Saleae 

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço