| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/02/2009 18:06:43
|
cassioso
JavaBaby
![[Avatar]](/images/avatar/e57edfc7529f0c7b21788231308caeab.jpg)
Membro desde: 23/08/2006 16:22:47
Mensagens: 93
Localização: Salvador, Bahia, Brasil
Offline
|
Olá,
Alguém sabe dizer como poderia fazer para simular um dispositivo conectado a uma porta serial?
A finalidade é fazer um programa que, sem nada conectado ao computador, ele entenda que esxiste um dispositivo conectado a porta serial enviando dados. Em outras palavras, fazer o InputStream e o OutputStream funcionarem sem que tenha algo conectado de verdade.
Um exemplo de utilidade desta funcionalidade é na construção de simuladores. Com isso poderia ter um "servidor simulador" onde as máquinas conectadas em rede se comunicam com ele e através de um cliente que captura os dados da rede e envia para a porta serial. Assim, teria um servidor de simulador de dispositivos seriais. O mesmo vale para todas as outras portas, mas no momento quero fazer isso para dispositivo de comunicação serial.
|
[]'s
Ótimo
http://www.cassiooliveira.com |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/02/2009 18:50:49
|
lilex
Entusiasta Java
Membro desde: 03/06/2007 20:32:24
Mensagens: 18
Offline
|
também gostaria de saber =)
|
Ciência da Computação - Universidade Federal do Ceará (UFC)
 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/02/2009 19:57:47
|
Sagatiba
JavaBaby
Membro desde: 03/02/2009 11:15:20
Mensagens: 85
Offline
|
Kra hiperterminal.
Conecta na sua porta COM e xuxa dados la.
Da na mesma eh o qi faco para testar aplicacoes.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/02/2009 21:00:35
|
cassioso
JavaBaby
![[Avatar]](/images/avatar/e57edfc7529f0c7b21788231308caeab.jpg)
Membro desde: 23/08/2006 16:22:47
Mensagens: 93
Localização: Salvador, Bahia, Brasil
Offline
|
Peraí cachaça, como é esse negócio do hiperterminal?? humm.... talvez eu possa fazer com que esse cliente crie uma porta virtual serial. talvez seja mais fácil do que enganar o computador enviando dados para uma porta já existente.
This message was edited 1 time. Last update was at 04/02/2009 21:20:17
|
[]'s
Ótimo
http://www.cassiooliveira.com |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 05/02/2009 19:33:23
|
Sagatiba
JavaBaby
Membro desde: 03/02/2009 11:15:20
Mensagens: 85
Offline
|
Vc cria uma aplicacao com java comm que conecte em uma porta e usa o hiperterminal nessa porta para mandar dados
O programa que tenho aqui chama SIOW, qndo eu precisei conectar em impressoras termicas eu usava o hiperterminal e tacava dados nas bixinha, e qndo eu precisei saber se tava chegando os dados certos na serial eu usei o SIOW.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 05/02/2009 22:26:34
|
genildof
Debugger
![[Avatar]](/images/avatar/6e2c22ab08479b1da4206a0c5d7da31e.jpg)
Membro desde: 30/09/2006 09:38:16
Mensagens: 70
Localização: Campo Grande - MS
Offline
|
cassioso wrote:A finalidade é fazer um programa que, sem nada conectado ao computador, ele entenda que esxiste um dispositivo conectado a porta serial enviando dados
.
Você pode 'loopar' a porta serial com um conector de loopback, na net você acha o esquema. Todo dado enviado para a serial será ecoado, aí é só seguir na idéia do outputstream/imputream...
PS.: um teste desse loop pode ser feito pelo hiperterminal do windows, abrindo uma conexão na porta em loop. Se visualizar o que digitar no teclado o loop funcionou.
|
/genildof. |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 06/02/2009 11:16:54
|
cassioso
JavaBaby
![[Avatar]](/images/avatar/e57edfc7529f0c7b21788231308caeab.jpg)
Membro desde: 23/08/2006 16:22:47
Mensagens: 93
Localização: Salvador, Bahia, Brasil
Offline
|
Olá,
Vou pesquisar sobre o loopback. Mas, talvez não funcione.. pq terei uma aplicação (Programa de Monitoramento) que envia comandos para a porta serial para solicitar valores do equipamento. Quando isso acontecer com o loopback implementado ele irá receber como resposta o mesmo comando que foi enviado?
Bom... são três os esquemas possíveis. O esquema com o dispositivo conectado, com um simulador conectado e com o simulador de rede. A baixo tem a descrição dos 3 esquemas, o que estou tentando implementar é o terceiro:
No primeiro esquema, há um dispositivo conectado à porta serial do computador e o Programa de Monitoramento envia, de tempos em tempos, mensagens para esta porta para que o dispositivo lhe envie informações. Ex.: O dispositivo sendo um termômetro ligado pela porta serial. De tempos em tempos o Programa de Monitoramento envia um comando solicitando a temperatura. E o termômetro responde.
Com o simulador, existe um dispositivo conectado na porta serial, que é um computador com um simulador rodando. Um simulador de termomêtro por exemplo. O Programa de Monitoramento envia uma mensagem para a porta serial, a máquina com o simulador recebe esta mensagem e envia uma resposta de acordo com o que programado.
No esquema de um simulador em rede, teríamos uma máquina com um servidor que envia mensagens pela rede. Na máquina que está com o Programa de monitoramento, haveria também um programa cliente (broker) que lê os comandos enviados pelo Programa Monitor na porta serial e envia via Socket para a máquina servidora que tem o simulador. O simulador por sua vez iria tratar o comando e enviar a mensagem de acordo com o programado. O Broker então pega esta mensagem da rede, tbm via socket e envia para a porta serial local para que o Programa Simulador possa realizar a leitura.
|
[]'s
Ótimo
http://www.cassiooliveira.com |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 06/02/2009 11:58:21
|
rodrigo_rosalin
Thread.start()
Membro desde: 25/11/2008 20:00:40
Mensagens: 32
Offline
|
cassioso wrote:Peraí cachaça, como é esse negócio do hiperterminal??
humm.... talvez eu possa fazer com que esse cliente crie uma porta virtual serial. talvez seja mais fácil do que enganar o computador enviando dados para uma porta já existente.
A resposta de seu problema esta na criação de portas virtuais. Com certeza!
Outra dica é a utilização da API rxtx.
EDIT: existem varios programas que criam portas seriais virtuais e as ligam virtualmente, estes softwares podem ser encontrados facilmente.
Abraço
This message was edited 2 times. Last update was at 06/02/2009 12:04:31
|
Rodrigo Rosalin
|
|
|
 |
|
|