C sharp - Cómo obtener datos de un dispositivo serial automaticamente en C#

 
Vista:

Cómo obtener datos de un dispositivo serial automaticamente en C#

Publicado por Nib-RA (2 intervenciones) el 13/10/2015 20:49:31
Hola programadores, tengo una inquietud con respecto a como obtener los datos automáticamente de un dispositivos que se envían mediante usb por un puerto serial virtual a un software que estoy desarrollando en C# y pues, estaba pensando receptar esos datos mediante "Timer" pero no se si hay otra forma de receptar estos datos automáticamente sin intervención humana.
Mi otra pregunta es, cómo detectar si el dispositivo envía o no y si es el caso de que no envié, cómo puedo saber y detectar esto.
Y si se lo preguntan, el dispositivo envía datos de tres dispositivos más, los cuales son, dos lectores de tarjetas de acceso y un dato de sensores de peso; según los que me mandaron a desarrollar dicha aplicación, estos datos se envían por un solo dispositivo y lo que no se, si este dispositivo a los datos los enviará con un tipo de identificador para saber cual es cual (lector de acceso de entrada, dato de los sensores de peso y lector de acceso de salida).

Para terminar, el orden de datos de envió es el siguiente: Lector de acceso de entrada -> Peso de entrada mediante sensores de peso -> Lector de acceso de salida -> Peso de salida mediante sensores de peso; otra cuestión, si por ejemplo, si entra X, lee el acceso de entrada y realiza el primer peso y luego entra Y y realiza el mismo proceso pero este sale primero con acceso de salida y peso final antes que X, es decir, como enlazo estos datos si llegan varios sujetos, se crea objetos en C# o como se hace. (explicación a lo anterior - entra X -> Acceso entrada X -> Peso entrada X -> Entra Y -> Acceso entrada Y -> Peso entrada Y -> Acceso Salida Y -> Peso Salida Y -> Acceso Salida X -> Peso Salida X)

Espero que me hayan entendido y de antemano, les agradezco por la ayuda.
PD1: Solo código en C Sharp!
PD2: Los dos lectores de tarjeta de acceso, son para el mismo sujeto, es decir, la identificación en la tarjeta es la misma para ambos lectores, solo que el uno es de entrada y el otro es de salida.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

Cómo obtener datos de un dispositivo serial automaticamente en C#

Publicado por David (60 intervenciones) el 13/10/2015 23:40:52
No necesitas un timer. SerialPort es tu clase. Hace lo que quieres y necesitas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Cómo obtener datos de un dispositivo serial automaticamente en C#

Publicado por Nib-RA (2 intervenciones) el 14/10/2015 01:11:55
Pues si estaba previsto utilizar el SerialPort para esto, pero aún así no me queda claro, lo que tenía entendido es que este SerialPort lee y envía datos pero lo que necesito es abstraer esta información sin intervención humana, me explico, lo que necesito es que el mismo software obtenga automáticamente los datos del SerialPort mediante Timer u otro método, digamos, que el dispositivo envía el identificador del lector de tarjetas de acceso y el software obtuviese este dato automáticamente sin la necesidad de intervención humana.

La cosa es que si un Timer supla esta necesidad o si el mismo SerialPort tiene un evento de obtención de datos progresiva y automática, a eso me refiero!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Cómo obtener datos de un dispositivo serial automaticamente en C#

Publicado por David (60 intervenciones) el 15/10/2015 00:52:50
Si te lees la documentación (que Microsoft pone a disposición en abundancia), verás que el evento DataReceived es lo que necesitas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar