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');
Ahora creamos las siguientes páginas en nuestro servidor Web:
- insert.php que se encargará de recibir y procesar las peticiones de actualización desde los dispositivos sensores.
- 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