Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
C E R T I F I C A
Palabras clave
Keywords
Captulo 1. Introduccin 7
1.1 Descripcin del contexto 7
1.1.1 La eficiencia energtica 7
1.1.2 Los microcontroladores 8
1.2 Objetivos 10
1.3 Contenido de la memoria 10
Captulo 3. Diseo 21
3.1 Requisitos del proyecto 21
3.1.1 Requisitos funcionales 21
3.1.2 Requisitos no funcionales 22
3.2 Diseo del sistema 23
3.3 Comunicaciones del sistema 24
3.3.1 Comunicacin fsica 25
3.3.2 Comunicacin lgica 25
3.4 Diseo electrnico 26
3.4.1 Arduino 26
3.4.2 Transformador de corriente 27
3.4.3 Sensor de corriente 28
3.4.4 Mdulo wifi 29
3.4.5 Flujo de comportamiento 30
3.5 Diseo de plataforma web 31
3.5.1 Flujo de acceso a la aplicacin 31
3.5.2 Acceso y registro 32
3.5.3 Panel de control 33
3.5.4 Dispositivos 34
I
3.5.5 Histrico 35
3.5.6 Configuracin 36
3.6 Modelo de datos 37
Captulo 4. Implementacin 39
4.1 Hardware del prototipo 39
4.1.1 Corriente generada por el sensor 39
4.1.2 Regulador de voltaje 5V a 3.3V 42
4.1.3 Pulsador de configuracin de Wifly 43
4.1.4 Montaje del prototipo 44
4.1.5 Firmware del prototipo 44
4.1.6 Programacin del microcontrolador 50
4.1.7 Pruebas del prototipo 50
4.2 Plataforma web 52
4.2.1 Men 53
4.2.2 Pantalla de acceso y registro 54
4.2.3 Pantalla de panel de control 55
4.2.4 Pantalla de dispositivos 57
4.2.5 Pantalla de histrico 58
4.2.6 Pantalla de configuracin 59
Captulo 7. Presupuesto 65
7.1 Presupuesto del prototipo 65
7.2 Presupuesto de la plataforma 65
Apndice A: Microcontrolador 67
A.1. Cdigo del microcontrolador 67
II
Apndice C: Base de Datos 68
C.1. Cdigo SQL: Tabla usuario 68
C.2. Cdigo SQL: Tabla dispositivos 69
C.3. Cdigo SQL: Tabla registros 69
C.4. Cdigo SQL: Tabla zona_horaria 69
Captulo 8. Bibliografa 72
III
ndice de figuras
Figura 2.1. Plataforma de hardware libre Arduino Uno. 12
Figura 2.2. Raspberry Pi, PC de placa reducida. 13
Figura 2.3. Engage Hub Kit (Efergy). 15
Figura 2.4. Esquema de dispositivos Engage Hub Kit 15
Figura 2.5. Pack Wattio Energy (Wattio). 16
Figura 2.6. OpenEnergyMonitor. 17
Figura 3.1. Diseo del sistema. 23
Figura 3.2. Esquema de comunicaciones. 24
Figura 3.3. Comunicacin fsica del sistema. 25
Figura 3.4. Comunicacin lgica de los datos. 25
Figura 3.5. Arduino Mini Pro 3.3V 26
Figura 3.6. Transformador 220-5v, 2A. 27
Figura 3.7. Sensor SCT-013-000 28
Figura 3.8. Mdulo WiFly RN-XV. 29
Figura 3.9. Diagrama de flujo algoritmo. 30
Figura 3.10. Diseo pantalla acceso y registro. 32
Figura 3.11. Diseo pantalla panel de control. 33
Figura 3.12. Diseo pantalla dispositivos. 34
Figura 3.13. Diseo pantalla histrico. 35
Figura 3.14. Diseo pantalla configuracin 36
Figura 3.15. Diseo diagrama de base de datos. 38
Figura 4.1. Esquema resistencia de carga. 41
Figura 4.2. Esquema circuito divisor de voltaje. 42
Figura 4.3. Regulador de voltaje. 42
Figura 4.4. Imagen pulsador de configuracin. 43
Figura 4.5. Imagen del prototipo. 44
Figura 4.6. Programacin del microcontrolador. 50
Figura 4.7. Prueba de testeo en puerto serie. 51
Figura 4.8. Prueba de consulta a la BBDD. 51
Figura 4.9. Estructura de ficheros. 52
Figura 4.10. Pantalla men. 53
IV
Figura 4.11. Pantalla acceso y registro. 54
Figura 4.12. Pantalla panel de control. 55
Figura 4.13. Pantalla de panel de control Mvil. 56
Figura 4.14. Pantalla de dispositivos. 57
Figura 4.15. Pantalla de histrico. 58
Figura 4.16. Pantalla de configuracin. 59
V
ndice de tablas
Tabla 3.1. Caractersticas Arduino Mini Pro 3.3V. 27
Tabla 3.2. Caractersticas transformador de corriente.
27
Tabla 3.3. Caractersticas sensor de corriente. 28
Tabla 3.4. Caractersticas mdulo wifi. 29
VI
Captulo 1. Introduccin
7
Las tecnologas de eficiencia energtica se pueden
encontrar en todos los procesos de transformacin de la
energa: desde la exploracin y produccin de recursos
energticos primarios, hasta la generacin de energa y
refinamiento del petrleo, las redes de electricidad y
la utilizacin final en la industria, los edificios y
el transporte. Pero, no es slo el potencial tcnico,
el cual es crucial para la exitosa introduccin de las
tecnologas de energa eficiente. Para evaluar el
potencial completo de estas tecnologas e identificar
el camino hacia su introduccin con xito en el
mercado, es necesario tener en cuenta su potencial
econmico, realizable y realista.
8
contadores, dispositivos de entrada / salida, etc. El
incremento posterior de la densidad de integracin
permiti crear un circuito integrado que contena tanto
al procesador como perifricos. As es cmo fue
desarrollada la primera microcomputadora en un solo
chip, denominada ms tarde microcontrolador.
9
con grandes comunidades en lnea para ciertos
procesadores.
1.2 Objetivos
10
En el capitulo Estado del arte, se define la tecnologa
actual, los productos basados en la misma idea y la
tecnologa que se ha usado en el proyecto.
11
Captulo 2. Estado del arte
12
tanto analgicos como digitales. El microcontrolador en
la placa Arduino se programa mediante el lenguaje de
programacin Arduino (basado en Wiring) y el entorno de
desarrollo Arduino (basado en Processing).
13
2.2 Sistemas de monitorizacin de energa
14
Figura 2.3. Engage Hub Kit (Efergy).
15
2.2.2 Wattio, Pack Wattio Energy
16
2.2.3 OpenEnergyMonitor
17
2.3 Tecnologa aplicada
18
2.3.2 Tecnologa de Software
19
Para comunicar la configuracin y los registros de
sensores con la base de datos, se ha desarrollado un
servicio web en PHP al que se conecta el mdulo wifi y
enva o recibe peticiones. Este servicio web autentica
en el envo de datos, comprobando que la MAC del
dispositivo corresponde con la MAC dada de alta en la
plataforma, para evitar que se puedan aadir registros
desde cualquier otra peticin.
20
Captulo 3. Diseo
21
5. Configuracin de la cuenta: El usuario podr
personalizar en su cuenta el nombre de usuario,
contrasea.
22
6. Rendimiento y escalabilidad: El sistema
tendr un ptimo rendimiento y ser escalable con
nuevos firmwares y mdulos.
Router
Monitor de energa
Sensor
INTERNET
Plataforma Web
23
3.3 Comunicaciones del sistema
SENSOR 1
SENSOR 2 MDULO
ARDUINO
WIFI
SENSOR 6
Internet
24
3.3.1 Comunicacin fsica
TX RX
Seal analgica
RX TX
MODULO
SENSOR ARDUINO
WIFI
(+)
(-)
Alimentacin
TRANSFO
RMADOR
Figura 3.3. Comunicacin fsica del sistema.
HTTP POST
MODULO
WIFI INTERNET
webservice.php
(MVC) + PHP
25
3.4 Diseo electrnico
3.4.1 Arduino
Especificaciones tcnicas:
Caracterstica Valor
Modelo Mini Pro 3.3V
Microcontrolador ATmega168
Voltaje 3.3V
Voltaje entrada 3.3V 12V
Entradas/Salidas digitales 14 (de las cuales 6 PWM)
Entradas analgicas 8
Corriente mxima por
40mA
entrada/salida
26
Memoria flash 16Kb
SRAM 1Kb
EEPROM 512 bytes
Velocidad de reloj 8Mhz
Especificaciones tcnicas:
Caracterstica Valor
Tipo transformador AC-DC
Voltaje entrada 220V
Voltaje salida 5V
Corriente de salida 2A
27
3.4.3 Sensor de corriente
Especificaciones tcnicas:
Caracterstica Valor
Modelo SCT-013-000
Tensin de entrada 0-100A
Voltaje salida 0-50mV
Resistencia de carga (incluida) 62 Ohm
No linealidad 1%
28
3.4.4 Mdulo wifi
Especificaciones tcnicas:
Caracterstica Valor
Modelo WiFly RN-XV
Radio 802.11b/g
Consumo en espera 4uA
Consumo recepcin 30mA
Consumo transmisin 130 185mA
29
3.4.5 Flujo de comportamiento
Inicio Envo No
Si
recibido?
Conexin No
internet? Enviar datos a
servicio Web
Si Si
Existe Existen
No No
cuenta con cambios en
disp. ID? lectura?
Si
Intervalo
Obtener
de Leer sensores
configuracin
tiempo
30
obtener la configuracin del intervalo de tiempo
asignado por el usuario. Una vez obtenida la
configuracin, comenzar un bucle en el cual, cada vez
que se cumple el intervalo de tiempo, lee los sensores
de corriente y comprueba que existen cambios en la
lectura, si no existen, volver al intervalo de tiempo,
con el fin de evitar excesivos registros en la base de
datos. Si existen cambios, se conecta al servicio web y
enva los registros. Si los registros no son enviados
satisfactoriamente, vuelve a intentar enviarlos con el
fin de evitar perder datos en una interrupcin de la
comunicacin wifi. Si los datos se envan
correctamente, vuelve a comenzar el bucle en el
intervalo de tiempo.
INICIO
Registrarse
Introducir usuario
Acceso a la
Usuario No plataforma
correcto?
Si
31
3.5.2 Acceso y registro
32
3.5.3 Panel de control
33
3.5.4 Dispositivos
34
3.5.5 Histrico
35
3.5.6 Configuracin
36
3.6 Modelo de datos
37
Diagrama de estructura de la base de datos:
38
Captulo 4. Implementacin
39
de 100A AC, corriente mxima que puede manejar el
sensor.
40
Puesto que 23.33 Ohm no es un valor comn de
resistencia se ha de elegir la ms prxima, en este
caso 22 Ohm.
41
Figura 4.2. Esquema circuito divisor de voltaje.
42
4.1.3 Pulsador de configuracin de Wifly
43
4.1.4 Montaje del prototipo
44
Se han desarrollado cuatro funciones principales,
setupemonitor configura e inicializa el mdulo Wifly
para poder operar con l. readPower calcula la
potencia con intensidad que ha sido calculada del
sensor. calcIrms realiza la lectura y los clculos de
la intensidad. postPower se comunica con el Wifly
para consumir el servicio web y subir los datos.
a)Funcin setupwifly
void setupwifly(){
serialFly.begin(9600);
WiFly.setUart(&serialFly);
delay(500);
Serial.println("Inicializando...");
delay(6000);
serialFly.flush();
Serial.println("$$$");
serialFly.print("$$$"); delay(250); check();
serialFly.println();
Serial.println("set com remote 0\r");
serialFly.print("set com remote 0\r"); check();
Serial.println("get mac\r");
serialFly.print("get mac\r");
getMac();
Serial.print("MAC -> ");
Serial.println(cmac);
serialFly.print("exit\r");
delay(2000);
45
}
b) Funcin readPower
void readPower(){
c) Funcin calcIrms
46
alimentacin del procesador (en este caso 3,3 V), que
se utiliza como referencia, y se escala de manera que
la tensin de referencia dar el nmero mximo de 210
(1024).
filteredI=0.996*(lastFilteredI+sampleI-
lastSampleI);
47
voltaje de referencia (3.3V) y el nmero de bits 1024
del dominio digital:
double I_RATIO = ICAL *((SUPPLYVOLTAGE/1000.0) /
(ADC_COUNTS));
48
d) Funcin postPower
Serial.println("Intentando conectar...");
Serial.println(data);
if (client.connect()) {
client.println("POST /data/set_registro.php
HTTP/1.1");
client.println("Host: 192.168.1.34");
client.println("User-Agent: Arduino/1.0");
client.println("Connection: close");
client.println("Content-Type: application/x-
www-form-urlencoded;");
client.print("Content-Length: ");
client.println(data.length());
client.println();
client.println(data);
Serial.println("-> Datos enviados <-");
client.stop();
} else {
Serial.println("--> FALLO CONEXION <----");
}
}
49
4.1.6 Programacin del microcontrolador
50
Figura 4.7. Prueba de testeo en puerto serie.
51
4.2 Plataforma web
52
4.2.1 Men
53
4.2.2 Pantalla de acceso y registro
54
4.2.3 Pantalla de panel de control
55
El framework Bootstrap hace que los diseos sean
adaptativos de manera se pueda ver la plataforma en
cualquier dispositivo, adaptndose a la resolucin de
pantalla.
56
4.2.4 Pantalla de dispositivos
57
4.2.5 Pantalla de histrico
58
4.2.6 Pantalla de configuracin
59
Captulo 5. Conclusiones y Trabajos
Futuros
5.1 Conclusiones
60
Destacamos que como todo proyecto, ha tenido sus
dificultades, las cuales han sido solventadas por medio
de la investigacin en el campo que las compete siendo
esto, un xito personal en el avance de la formacin
acadmica y profesional.
61
62
Captulo 6. Conclusions and future work
6.1 Conclusions
63
in the field that falls this being, personal success in
the advancement of academic and vocational training.
64
Captulo 7. Presupuesto
TOTAL 79,95
65
66
Apndice A: Microcontrolador
void loop() {
readPower();
postPower(powers[0],powers[1],powers[2],powers[3],powers[4]);
delay(2000);
}
if (!empty($_POST)) {
$con = mysqli_connect("localhost","root","123456","test");
// Se comprueba la conexin con la BBDD
if (mysqli_connect_errno())
echo "Failed to connect to MySQL: " .
mysqli_connect_error();
else
if (auth($con)){
insert_reg($con);
}
67
.$_POST["reg1"]."','".$_POST["reg2"]."','".$_POST["reg3"]."',
'".$_POST["reg4"]."','".$_POST["reg5"]."','".$register[6]."','".$re
gister[7]."','".$register[8]."')";
if (!mysqli_query($con, $sql)){
function auth($con){
$sql_auth="SELECT * FROM `dispositivos` WHERE `
dispositivoId` = '".$_POST["mac"]."'";
if ($result = mysqli_query($con, $sql_auth)){
if (mysqli_num_rows($result)>0){
echo "Authenticated";
return true;
}
}
else{
die('Error auth: ' . mysqli_error());
return false;
}
}
68
`fecha_creacion` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
`fecha_ultimo_ac` TIMESTAMP NULL,
`activo` TINYINT(1) NULL,
`id_zona_horaria` INT NOT NULL)
69
Apndice D: Plataforma web
D.1.Codigo Javascript
var energyApp = angular.module('energyapp',
['ngRoute','energyControllers']);
energyApp.config(['$routeProvider',
function($routeProvider) {
$routeProvider.
when('/panel', {
templateUrl: 'pages/panelcontrol.html',
controller: 'TestCtrl'
}).
when('/config', {
templateUrl: 'pages/configuracion.html',
controller: 'ConfigCtrl'
}).
when('/login', {
templateUrl: 'pages/login.html'
}).
when('/dispositivo', {
templateUrl: 'pages/dispositivos.html',
controller: 'DispositivosCtrl'
}).
when('/registro', {
templateUrl: 'pages/registro.html'
}).
when('/historico', {
templateUrl: 'pages/historico.html',
controller: 'HistoCtrl'
}).
otherwise({
redirectTo: '/pages/login'
});
}]);
70
71
Captulo 8. Bibliografa
72