Estoy buscando integrar una interfaz de comandos en un proyecto que estoy haciendo que acepte comandos en serie desde una PC.
La idea es que el dispositivo haga su trabajo pero recibe un comando y lo ejecuta. Esto es diferente a la mayoría de los ejemplos que logré encontrar, que es solo un dispositivo inactivo que espera datos en serie.
Entonces, por ejemplo, un dispositivo que controla los LED y reproduce una animación. Digamos que hay 3 animaciones preestablecidas, y cuando se enciende, siempre juega el número 1. En el lado de la PC, enviaría un comando 'jugar preset 2' o 'cambiar de color a verde' o enviar una animación en vivo en tiempo real al dispositivo para que se reproduzca con los LED.
¿Entonces mi pregunta es que no puedo encontrar mucha información sobre este "patrón de diseño"? No sé por dónde empezar a mirar. Lo más cerca que he venido es prefabricado las bibliotecas de análisis de serie de arduino. Sin embargo, estoy buscando más de C / no arduino / enfoque teórico.
He investigado los protocolos serie, pero eso es solo cosas como SPI e I2C, no realmente cómo implementar una interfaz de control / comando en el software.
También me enteré de HDLC, aunque parece ser más un protocolo / estándar. Un hilo similar es enlace Lo cual tiene información muy buena, pero nuevamente tiene que ver con el protocolo / comunicación en sí.
Estoy tratando de encontrar cómo codificar / implementar esto para crear un comando o capacidad de control.
¿Utilizo un bucle infinito para monitorear y capturar la serie para un comando entrante, y uso una lista de sentencias IF para elegir qué comando ejecutar, pero luego qué sucede cuando no hay comandos y el sistema debería ser tan normal? o si se pierde un comando?
¿Interruptor accionado, máquina de estado?
¿Hay un nombre oficial para esto que pueda usarse para investigar y encontrar ejemplos?
EDITAR:
Para cualquiera que tenga la misma pregunta, encontré este buen ejemplo mientras investigaba. enlace