FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#7
|
|||
|
|||
Es exactamente lo que que puse, lo que cambiaría es que eliminas la parte que hace parpadear el LED y dentro de la condición que se pregunta por stringComplet ahí procesas los comandos.
Aunque yo lo que haría es hacer un separación de los componentes del sistema para que te sea más fácil desarrollar. Por lo general siempre sigo una estrategia similar a la siguiente, aunque cada aplicación es su propio mundo, por lo que a veces no es posible generalizar. Defino una estructura donde coloco la información de cada comando, incluso lo que debe de ejecutar. Código PHP:
Después se crear un arreglo donde se colocan los comandos de la siguiente forma. Código PHP:
Código PHP:
Por ejemplo cmdSearch busca en el arreglo el índice del comando, si es que existe, en caso de existir regresa el índice, de lo contrario un -1. Con esa información cmdProcess se encargar de ejecutar el comando y decidir si el formato es de un query, un set o una ejecución Así es mucho más sencillo añadir comandos y que lleves un buen control. En tu ejemplo, tienes un Luz_ON, Luz_OFF, pero si quieres añadir más, o incluso preguntar el estado, le vas a tener que agregar más y más IFs, en cambio si lo planteas de esta forma, con un sólo comando podrías manejar todas las opciones {"+LUZ",4,getState,setState,NULL}, Entonces puedes definir un formato de comando, por ejemplo AT+LUZ <- Te regresa el estado de todas las luces que tengas definidas AT+LUZ?1 <- Te regresa el estado de la Luz 1 AT+LUZ==1,0 <- Pone la Luz 1 en estado bajo AT+LUZ==2,1 <- Pone la Luz 2 en estado alto De la misma forma, podrías aplicar el mismo concepto a la lectura de los sensores, y en lugar de actuar directamente sobre el sistema, este le enviaría un comando, por ejemplo: Código PHP:
Código PHP:
Código PHP:
Por ejemplo, ahorita sólo tienes un sólo LED y el comando AT+LUZ==1,1 te arrojaría un error, pero si decides agregarle una segunda luz, podrías ejecutar el comando AT+LUZ==1,1 modificando una sola parte del sistema sin importar que venga de un comando que se introduzca por el puerto serie o que provenga como respuesta a un estímulo de una entrada, de lo contrario vas a tener que modificar el código en, por lo menos dos partes: 1.- La sección que interpreta los comandos que entran por el puerto serie. 2.- En el código de cada uno de los sensores cuyo efecto se debe de notar en el estado de la salida en particular. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
[TUTORIAL] Arduino Delphi 10.2 y Puerto serie | REHome | ASM y Microcontroladores | 4 | 20-07-2017 08:58:32 |
[TUTORIAL] Arduino C++ y Puerto serie | REHome | C++ Builder | 2 | 31-03-2017 23:12:21 |
[TUTORIAL] Interfaz Java, Visual Basic 6 y Arduino | REHome | ASM y Microcontroladores | 0 | 07-12-2015 04:43:04 |
Leer Puerto Com escrito por Arduino | mariano22 | Varios | 1 | 25-08-2015 05:56:33 |
Puerto serie | esquerda21 | Varios | 2 | 12-05-2004 23:58:52 |
|