Array
(
)

Integração com hardware via TCP/IP - Serial

Wilson Junior
   - 18 nov 2011

Boa tarde meus colegas.
Estou aqui como ultimo recurso, após varias tentativas, na esperança que alguem possa me ajudar.
Estou fazendo uma integração com um hardware(via TCP/IP), mais especificadamente um gravador/leitor de cartão magnético. De acordo com o manual de integração do aparelho, eu devo enviar comandos para este aparelho e ele executará as operações.
De acordo com a documentação a o padrão de mensagem a ser enviada é a seguinte:
STX | Mensagem | ETX LRC
Sendo que o caractére | se refere ao caracter ASCII (179), e que ao inves de enviar um LRC pode ser enviado um caracter ASCII (13).
Verifiquei que esse STX e este ETX são também caracteres ASCII.
STX = ASCII (02) e ETX = ASCII (03).
STX inicia a mensagem e ETX finaliza a mensagem.
O código(em C#) da minha primeira tentativa(de muitas) ficou assim:
TcpClient client = new TcpClient(localhost, 6669);
client.ReceiveTimeout = 5000;
client.SendTimeout = 5000;
NetworkStream ns = client.GetStream();
System.Text.ASCIIEncoding encoding = new System.Text.ASCIIEncoding();

byte[] bytes = encoding.GetBytes(STX| + strMensagem + |ETX\n);
ns.Write(bytes, 0, bytes.Length);

----------
Tentei também enviar os dados dessa forma:

byte[] bytes = encoding.GetBytes(\x02 + (char)179 + LT + (char)179 + 1 + (char)179 + E + (char)179 + \x03 + \x013);
ns.Write(bytes, 0, bytes.Length);

Nesse caso o \x02 é o STX, o (char)179 é o |, e o \x03 é o ETX.
-----------
Minha dúvida é: Alguém conhece ou trabalhou com mensagem desse padrão ou similares a esta?
Estou enviando os dados da forma correta?
Quando tento ler alguma informação nesta porta através do método NetworkStream.Read(), ele não traz informação alguma ou em outros casos acusa falha de conexão.
Tem alguma forma de eu testar a conexão com esta porta? Ou seja se ela está enviando e recebendo as mensagens.
Me ajudem por favor.
Obrigado

Rodrigo Odasaki
   - 03 dez 2011

Eu nunca trabalhei com isso, tenta no fórum oficial da MSDN

msdn.com.br > Fórum