miércoles, 10 de diciembre de 2014

domos Segundo paso - Crear la aplicación php

Ayer dí de alta el servidor web que va a concentrar los datos recibidos de los sensores y que nos permitiría actuar sobre los actuadores.

Hoy ha tocado crear la base de datos MySql asociada al sitio. Esto ha resultado muy sencillo con OPenShift. Basta ir a http://openshift.com y crear el Cartridge MySql. Además he creado el cartridge phpAdmin para poder gestionar la base de datos desde una página web:

Esta URL me permite gestionar la base de datos:

    https://php-domos.rhcloud.com/phpmyadmin/

(EL usuario y la contraseña no os lo puedo decir).

Utilizando el mismo phpmyadmin he creado las dos tablas necesarias para los sensores y sus lecturas:

Más o menos las tablas son así:


  • create table sensor ( id integer primary key, nombre varchar(100));
  • create table lectura ( idsensor integer, hora timestamp, valor float );
  • create table actuador (id integer, nombre varchar(100), estado varchar(3)) primary key(id)
  • insert into sensor values ( 9856, 'Temperatura interior');
  • insert into actuador values ( 1, 'Estufa', 'OFF');
(Se pueden mejorar añadiendo las constraints correspondientes :)). De momento quedan así...

Ahora creamos las siguientes páginas en nuestro servidor Web:


  1. insert.php que se encargará de recibir y procesar las peticiones de actualización desde los dispositivos sensores.
  2. query.php La página de consulta de los usuarios donde se mostrará el estado de los sensores y los botones de los actuadores.
Para realizar una inserción de una lectura de un sensor utilizaremos la siguiente URL:

  • http://php-domos.rhcloud.com/insert.php?sensor=xxx&valor=yyy

Para consultar la situación actual utilizaremos la siguiente SQL:

Siguientes pasos:


  • Implementar la página "set.php" que establezca el valor de estado requerido del actuador para que más adelante pueda leerlo desde el dispositivo y actuar en consecuencia. Tengo que añadir una columna a la entidad Actuador que sea el estado_requerido para diferenciarlo del estado real que tendré que actualizarlo mediante un sensor.
  • Empezar la aplicación Android que haga de puente entre el Arduino (Mediante bluetooth) y el servidor Web. Será una aplicación sin interfaz de usuario. Simplemente cada cierto tiempo consulta en la web el estado requerido de los actuadores y lo enviara por bluetooth al dispositivo Arduino y viceversa, leerá del bluetooth el valor de los sensores y lo enviará al servidor web. Hay que recordar que el móvil que ejecute esta aplicación estará dedicado en exclusiva a hacer de puente de comunicaciones, asi que nos valdrá cualquier móvil Android que tenga bluetooth.




No hay comentarios:

Publicar un comentario