jueves, 22 de enero de 2015

Domos - Apagando y encendiendo cosas desde Internet

Estoy lanzado. Ayer conseguí con Arduino enviar la temperatura cada cierto tiempo a mi servidor en Internet. El siguiente paso va a ser poder controlar también el encendido o apagado de algún dispositivo (Una calefacción, una lámpara, etc).

Veamos la infraestructura del servidor. En él tengo una tabla en MySql por cada "Actuador" remoto. Cada actuador tiene un id global que lo identifica. Por cada actuador tenemos un campo de estado que puede ser OFF ú ON, pero es importante saber que este es el estado deseado, es decir, con este estado vamos a poder decirle al dispositivo remoto que queremos que se encienda o que se apague pero no guarda el estado real. No vamos a tener retroinformación sobre si el dispositivo está realmente apagado o encendido.

Lo que va a hacer nuestro circuito Arduino será enviar una petición Http a nuestro servidor con la forma siguiente:

  http://php-domos.rhcloud.com/actuador.php?id=xxxx

El servidor retornará una única línea con el estado deseado para que el circuito Arduino actúe en consecuencia.

Por otra parte, en el servidor tenemos unos botones en la página query.php para establecer el estado OFF ú ON para cada actuador.

Actuador.php es tan sencillo como sigue:

<?php
require ("comun.php");
conectar();
$actuador=$_GET["id"];
$sql = <<<EOT
SELECT actuador.estado FROM actuador
 WHERE id=$actuador
EOT;
$result=mysql_query($sql);
if(!$result) {
 $error=mysql_error();
 echo "???";
}
while ($row = mysql_fetch_row($result)) {
 echo $row[0];
}
?>

Seguimos ahora con la programación del Arduino. La retomamos donde la dejamos el último día:

http://luisetemiravalles.blogspot.com.es/2015/01/domos-enviando-la-temperatura-con.html

Ahora, desde nuestro sketch Arduino, además de enviar la temperatura vamos a llamar a actuador para saber qué deseos tiene nuestro servior y encender o apagar según el resultado.

Nuestro sketch queda como sigue:





No hay comentarios:

Publicar un comentario