04.06.2013 Views

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

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!