MPLAB X y Tecnicas de Programacion con librerias ... - mcelectronics
MPLAB X y Tecnicas de Programacion con librerias ... - mcelectronics
MPLAB X y Tecnicas de Programacion con librerias ... - mcelectronics
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Lo que nos interesa en este momento es el recuadro <strong>de</strong> arriba a la <strong>de</strong>recha que nos muestra en<br />
tiempo real el estado <strong>de</strong> 8 LEDs y la temperatura enviada <strong>de</strong>s<strong>de</strong> un sensor que tiene la placa.<br />
Podríamos, por ejemplo, monitorear otro led o <strong>con</strong>trolar un relay <strong>de</strong>s<strong>de</strong> la interface web. Este<br />
tipo <strong>de</strong> interacción, don<strong>de</strong> una variable reporta o modifica el estado <strong>de</strong> un puerto, se realiza<br />
mediante funciones callback que veremos más a<strong>de</strong>lante. Es interesante <strong>de</strong>stacar que la<br />
actualización <strong>de</strong> los datos es automática y no requiere refrescar la pantalla <strong>de</strong>l navegador.<br />
En la sección Configuración, en<strong>con</strong>tramos parámetros como la dirección IP, el <strong>de</strong>fault Gateway, la<br />
máscara <strong>de</strong> red, la MAC y el servidor DHCP. Todo esto po<strong>de</strong>mos cambiarlo en tiempo <strong>de</strong><br />
ejecución, por eso es importante protegerlo <strong>con</strong> <strong>con</strong>traseña, ya que una <strong>con</strong>figuración incorrecta<br />
dará como resultado la pérdida <strong>de</strong> <strong>con</strong>exión.<br />
También tenemos la posibilidad <strong>de</strong> enviar emails <strong>de</strong>s<strong>de</strong> un formulario web. Para esto se utiliza el<br />
protocolo SMTP. Simplemente hay que completar el formulario <strong>con</strong> el nombre <strong>de</strong>l servidor SMTP,<br />
el nombre <strong>de</strong> usuario y la clave. Por último colocamos la dirección <strong>de</strong>l <strong>de</strong>stinatario y el cuerpo <strong>de</strong>l<br />
mensaje. Por <strong>de</strong>fecto se adjunta un archivo csv (se pue<strong>de</strong> abrir <strong>con</strong> Excel) don<strong>de</strong> se muestra el<br />
estado <strong>de</strong> los LEDs, los pulsadores y el valor <strong>de</strong> temperatura. Más a<strong>de</strong>lante vamos a ver el código<br />
<strong>de</strong> este ejemplo.<br />
Antes <strong>de</strong> pasar a la programación <strong>de</strong>l stack, vamos a ver una última pantalla <strong>de</strong> la interface web.<br />
Se trata <strong>de</strong>l envío <strong>de</strong> variables a través <strong>de</strong> los métodos GET y POST. Quién esté acostumbrado a<br />
programar en PHP sabrá la ventaja que <strong>con</strong>lleva utilizar este recurso. Por ejemplo, <strong>con</strong> el método<br />
GET po<strong>de</strong>mos enviar una serie <strong>de</strong> variables junto <strong>con</strong> la URL. Es lo que habitualmente vemos<br />
como:<br />
http://192.168.1.101/forms.htm?relay2=on&relay1=off<br />
Luego <strong>de</strong> la dirección IP <strong>de</strong> nuestra placa está el nombre <strong>de</strong>l formulario que vamos a actualizar, y<br />
a <strong>con</strong>tinuación <strong>de</strong>l signo <strong>de</strong> interrogación está el nombre <strong>de</strong> cada variable y su valor separadas<br />
por &.<br />
Nótese que estamos actualizando el estado <strong>de</strong> dos variables (relay1 y relay2) <strong>de</strong> una sola vez. GET<br />
tiene una limitación y es el hecho <strong>de</strong> que la URL no pue<strong>de</strong> <strong>con</strong>tener más <strong>de</strong> 1024 bytes.<br />
Si necesitamos enviar una mayor cantidad <strong>de</strong> variables, <strong>de</strong>bemos utilizar el método POST que no<br />
tiene restricciones <strong>de</strong> longitud. Generalmente se suele utilizar POST para actualizar el texto <strong>de</strong> un<br />
LCD.<br />
22