¿Cómo interactuar con mi sistema integrado a una parte del software .net? [cerrado]

-3

Tengo un sistema integrado alimentado por un microcontrolador. Quería diseñar una interfaz basada en PC en .net para ese sistema. Estoy conectando el microcontrolador con la PC a través del puerto COM serie RS232. Puedo hacer que se comunique con el terminal de puerto serie o el terminal hiper. Quería saber la pieza de código que permitirá directamente a mi programa .net escuchar las señales y los comandos del puerto serie y actualizar los valores en la base de datos vinculada al programa. No estoy buscando exactamente la clase de puerto serie. Estoy buscando el código que permitirá a mi programa escuchar la comunicación del puerto serie y actualizar la base de datos vinculada en consecuencia.

    
pregunta siddharthtd

1 respuesta

3

Esta puede no ser la pregunta típica de ingeniería, pero la interfaz con un sistema integrado es una tarea común y muchas personas pueden considerar usar .NET en el PC para lograr esto.

Bueno, si desea enviar / recibir datos en .NET en código administrado, clase SerialPort es el camino a seguir.

La comunicación basada en protocolo, recibir datos específicos y vincularlos a una base de datos requiere un nivel adicional de abstracción. En general, se reduce a definir e implementar varias de las capas OSI . Muchas personas siguen al menos parte de este modelo sin darse cuenta.

  1. Físico - > tu puerto serial
  2. (Enlace de datos - > no hay direccionamiento físico en el puerto serie)
  3. Red - > Direccionamiento lógico utilizando su definición de protocolo / formato de telegrama
  4. Transporte - > puede ser control de flujo adicional / secuenciación
  5. ... nivel alto

Esto significa:

  • Implemente la clase SerialPort en su aplicación .NET para enviar y recibir datos.
  • Defina un protocolo teniendo en cuenta el tipo de comunicación (maestro / esclavo) y el contenido de los datos (la integridad de los datos requiere suma de comprobación, el esclavo múltiple requiere direccionamiento).
  • Según el protocolo, implemente una clase que procese los datos entrantes y los convierta en telegramas (y los telegramas vuelva al flujo de datos en serie).
  • Implementar los mismos mecanismos en el lado incrustado. A menudo, esto puede ser simple, porque el sitio incrustado es pasivo (esclavo).
  • Implemente una clase que procese los contenidos del telegrama y maneje el acceso a la base de datos.

Dice que desea "escuchar la comunicación del puerto serie y actualizar la base de datos vinculada en consecuencia". Puede ser tentador seguir la forma en que lo incrustado solo envía datos periódicamente y la PC los procesa. Recomiendo encarecidamente hacer el lado incrustado pasivo. Esto significa que el esclavo NUNCA envía datos si el maestro no se lo pidió.

Esto le da las siguientes ventajas:

  • ajusta fácilmente la velocidad a la que se adquieren los datos
  • extiende fácilmente el protocolo para ejecutar otra función, como enviar datos de configuración al esclavo sin colisiones
  • comunicación multi-esclavo (colóquela en el convertidor RS485 y listo, asumiendo que su protocolo admite direccionamiento)

Hay muchas cosas que considerar, pero esto debería dar una idea básica sobre cómo abordar este tipo de tarea.
Termino con soluciones ligeramente diferentes todo el tiempo, ya que cada proyecto es diferente y también lo son los requisitos.

    
respondido por el Rev1.0

Lea otras preguntas en las etiquetas