Beruflich Dokumente
Kultur Dokumente
DESARROLLO
OLLO DE UN SISTEMA D
DE
E SUPERVISIN Y
CONTROL DE TEMPERATURA
TEMPERATU
DE UNA HABITACIN A
TRAVS DEL PROTOCOLO TCP/IP
TCP/IP.
Autor:
Br. Rodrguez Cova Csar Leonardo
C.I. 18.666.425
DESARROLLO DE UN SIS
SISTEMA DE SUPERVISIN Y
CONTROL DE TEMPERATURA
TEMPERATU
DE UNA HABITACIN A
TRAVS
RAVS DEL PROTOCOLO TCP/IP
TCP/IP.
Autor:
Br. Rodrguez Cova Csar Leonardo
Tutor Acadmico:
Ing. Henry Romero
RESUMEN
DEDICATORIA
A mis Padres, Nancy Cova y Csar Rodrguez, por ser los pilares ms
importantes y por demostrarme siempre el apoyo incondicional, quienes a lo
largo de mi vida me han brindado siempre lo mejor de s y me han sabido
llevar hasta mis mayores logros tanto acadmico como personal, este logro
es para ustedes.
II
AGRADECIMIENTOS
GRACIAS
III
NDICE GENERAL
RESUMEN.......................................................................................................................... I
NDICE DE FIGURAS ...................................................................................................... VII
NDICE DE TABLAS ......................................................................................................... IX
INTRODUCCIN .............................................................................................................. 1
CAPTULO I........................................................................................................................4
EL PROBLEMA ...............................................................................................................4
Planteamiento del problema ........................................................................................4
Objetivo general ......................................................................................................... 5
Objetivos especficos .................................................................................................. 6
Alcance....................................................................................................................... 6
Justificacin ................................................................................................................ 7
CAPTULO II...................................................................................................................... 8
MARCO TERICO ....................................................................................................... 8
Resea Histrica ........................................................................................................ 8
Antecedentes de la Investigacin ............................................................................. 13
Bases Tericas ......................................................................................................... 16
Android ................................................................................................................. 16
Dispositivos mviles. ............................................................................................. 19
PlataformaArduino ................................................................................................ 21
Definicin de trminos bsicos ................................................................................. 27
Domtica ............................................................................................................... 28
Microcontrolador ................................................................................................... 28
Telfono mvil ....................................................................................................... 28
Smartphone .......................................................................................................... 29
App Inventor.......................................................................................................... 29
Eclipse .................................................................................................................. 29
Router ................................................................................................................... 29
Wi-Fi ..................................................................................................................... 30
TCP/IP .................................................................................................................. 30
Red de rea Local ................................................................................................ 30
IV
CAPTULO III................................................................................................................... 31
MARCO METODOLGICO ......................................................................................... 31
Diseo de investigacin ............................................................................................ 31
Tipo de Investigacin ................................................................................................ 33
Poblacin o universo de estudio ............................................................................... 34
Tcnicas e instrumentos de recoleccin de datos ..................................................... 35
Para la Obtencin de Datos e Investigaciones. ..................................................... 36
Para la Observacin Directa.................................................................................. 37
Para la Observacin Sistemtica. ......................................................................... 37
Procedimientos para la recoleccin de informacin .................................................. 38
CAPTULO IV .................................................................................................................. 40
PROPUESTA DEL DISEO......................................................................................... 40
Descripcin de funcionamiento ................................................................................. 41
Descripcin del desarrollo......................................................................................... 45
Diagrama de flujo del programa del Arduino ......................................................... 54
Diagrama de flujo de la aplicacin para Android.................................................... 56
CAPTULO V ................................................................................................................... 63
RESULTADOS ............................................................................................................. 63
Analizar detalladamente el lenguaje de programacion utilizado para
aplicaciones en Android. ...................................................................................... 63
CONCLUSIONES ............................................................................................................ 81
RECOMENDACIONES .................................................................................................... 84
REFERENCIAS ............................................................................................................... 85
ANEXOS ......................................................................................................................... 87
Anexo 1: especificaciones tcnicas del mdulo Arduino UNO R3 ................................ 88
Anexo 2: especificaciones tcnicas de la placa Arduino Ethernet Shield...................... 89
Anexo 3: cdigo de la aplicacin alojada en el mdulo Arduino UNO R3 ..................... 92
Anexo 4: cdigo de la aplicacin del dispositivo mvil ................................................ 103
Anexo 5: interfaz del sistema grafico de control de dispositivos ................................. 104
VI
NDICE DE FIGURAS
VII
VIII
NDICE DE TABLAS
Tabla N 1 Caracteristicas de Arduino UNO ......... ........................................................... 24
Tabla N 2 Costo de materiales utiilizados con el d iseo para la fecha............................ 63
Tabla N 3 Voltaje de salida de los pines del microcontrolador cada estado de los
dispositivos de control.. 79
IX
INTRODUCCIN
para as poder
CAPTULO I
EL PROBLEMA
Objetivo general
Objetivos especficos
Alcance y Limitaciones
Justificacin o importancia
CAPTULO II
MARCO TERICO
Resea Histrica
Magic Cup; en una empresa que naci de Apple llamada General Magic,
Rubin sali de la compaa, ya que dicho proyecto jams funciono de tal
manera que la empresa quebr.
Representa
una alianza comercial
de 84
fabricantes y
desarrolladores de hardware, software que se dedican a
desarrollar estndares abiertos para dispositivos mviles. Algunos
de sus miembros son Google, HTC, Dell, Intel, Motorola,
Qualcomm, Texas Instruments, Samsung, LG, T-Mobile, Nvidia y
Wind River Systems. (p.32).
10
11
12
Antecedentes de la investigacin
13
14
pgina web que funciona para el control y supervisin del sistema que
crearon.
15
Bases Tericas
Android
16
17
18
sistema Linux normal, sin embargo aqu hay unas diferencias importantes a
resaltar (p. 65).
Dispositivos mviles
19
diseado especficamente para una funcin, pero que puede llevar a cabo
otras funciones ms generales. Baz, Ferreira, y lvarez (2010). (p.2).
Hardware abierto
En relacin al tema del hardware abierto, ha existido mucha controversia,
cuestin que ratifican muchos expertos, como Cuartielles (2006), quin
seala:
20
Plataforma Arduino
Es una plataforma de hardware libre, basada en una placa con un
microcontrolador y un entorno de desarrollo, diseada para facilitar el uso de
la electrnica en proyectos multidisciplinares.
El hardware consiste en una placa con un microcontrolador Atmel AVR y
puertos de entrada/salida. Los microcontroladores ms usados son el
Atmega168, Atmega328, Atmega1280, ATmega8 por su sencillez y bajo
coste que permiten el desarrollo de mltiples diseos. Por otro lado el
software consiste en un entorno de desarrollo que implementa el lenguaje de
programacin Processing/Wiring y el cargador de arranque (boot loader) que
corre en la placa.4
Segn Joshua (2009): Arduino se puede utilizar para desarrollar objetos
interactivos autnomos o puede ser conectado a software del ordenador, por
otra parte, las placas se pueden montar a mano o adquirirse y el entorno de
desarrollo integrado se puede descargar gratuitamente. (p.4).
Las tarjetas Arduino contienen para interaccin con el usuario trece
entradas/salidas digitales, seis entradas analgicas y un puerto serial que
permite realizar comunicacin con perifrico, adems de un puerto serial una
conexin USB. Tambin tiene un pulsador para resetear cualquier fallo que
exista en los procesos que se vayan a realiza con la tarjeta Arduino.
El entorno de desarrollo (IDE), para programar la placa Arduino se debe
descargar de la pgina web de Arduino. Se dispone de versiones para
Windows y para MAC, as como las fuentes para compilarlas en LINUX. En el
caso de disponer de una placa USB es necesario instalar los drivers FTDI.
Estos drivers vienen incluidos en el paquete de Arduino mencionado
anteriormente.
21
Arduino Uno
El Arduino Uno es una placa electrnica basada en el microprocesador
Atmega328. Cuenta con 14 pines digitales de entrada / salida (de los cuales
6 pueden ser utilizados como salidas PWM), 6 entradas analgicas, un
16 MHz
resonador
cermico,
una
conexin
USB,
un
conector
de
pinout: aadido pines SDA y SCL cerca al pin AREF y otros dos
nuevos pernos colocados cerca del pin RESET, el IOREF que
22
Microcontroladores
ATmega328
Tensin de funcionamiento
5V
Voltaje
de
entrada 7-12V
(recomendado)
Voltaje de entrada (lmites)
6-20V
40 mA
23
EEPROM
1 KB
16 Mhz
24
25
26
en diferentes
27
Domtica
entre
redes
interiores
exteriores
de
Microcontrolador
Telfono mvil
28
funciona mediante una red de celdas, donde cada antena repetidora de seal
es una clula.
Smartphone
App Inventor
Eclipse
Router
29
Wi-Fi
TCP/IP
Como explican Reina y Ruiz (2001) las redes de rea local: Son redes
de propiedad privada, de hasta unos cuantos kilmetros de extensin. Por
ejemplo una oficina o un centro educativo.
30
CAPTULO III
MARCO METODOLGICO
Diseo de Investigacin
concebidos
para
obtener
respuestas
preguntas
de
32
la
Tipo de Investigacin
33
34
de
instrumentos
que
presenten
las
caractersticas
ms
36
37
38
mediante el software
39
CAPTULO IV
40
Descripcin de funcionamiento
42
43
primera entrada de Arduino que acta el sensor como maestro enviando los
datos del sensor DHT11 al dispositivo mvil, haciendo as que se
experimente una comunicacin de tipo full dplex.
44
45
46
alojado
en
la
placa
Arduino
UNO
REV3
es
el
ATMEGA328P.
47
Ecu. 1
Ecu. 2
= 5 1,3
= 3,7
Despajando el voltaje de la resistencia de la ecuacin 1, si tiene la
ecuacin 2 procedemos a sustituir los valores de la dems variables y
operando, se consigue la cada de tensin en la resistencia que est en serie
con el Buzzer. Con el propsito de utilizar dicho valor para obtener el valor de
resistencia necesaria para prevenir daos en el dispositivo. La ley de ohm
determina la siguiente relacin:
= .
48
Ecu. 3
Ecu. 4
Ecu. 5
= 3,720
= 185
Despejando RB de la ecuacin 4 se obtiene la ecuacin 5 que
representa la ecuacin de la resistencia en serie con el Buzzer. En tal
sentido, sustituir los valores de Vr e IB por sus respectivos 3,7V y 20mA
obtenidos anteriormente y operando nos arroja que el valor de la resistencia
necesaria para la proteccin del LED es de unos 185 aproximadamente. De
manera que, se sabe que comercial no se produce dicho valor de resistencia;
razn por la cual se asigna el valor de 200 o de 270 que si es producido
de manera comercial y, adems, brinda mayor proteccin por ser de mayor
valor.
49
En
Ecu. 6
Ecu. 7
50
= 5 0,75
= 860
As se obtiene el valor necesario para la implementacin de la
resistencia de la base para que ejecute su trabajo en zona de saturacin. El
valor de la resistencia ms cercana que se produce comercialmente es de
1000 y esta cumple con las exigencias del circuito, por lo mismo se utilizo
dicho valor en el circuito.
Sistema de control
51
52
53
54
55
Para el String del Buzzer y el motor del fan cooler solo hay dos
posibles combinaciones, en estado booleano T (true) o F (false). En el caso
de la entrada digital del sensor DHT11, este toma datos que son guardados
en la memoria SD que se encuentra en la ranura de la placa Arduino
Ethernet Shield. Luego Los datos se leen y en tiempo real se muestran en la
interfaz grafica. Por otro lado cada cierto tiempo se guardan estos datos
obtenidos por el sensor en un fichero para con posterioridad poder procesar
los datos en un computador que leyera los datos de la tarjeta directamente,
para quien lo quisiera hacerlo as; este no es el caso de este proyecto, ya
que el dato se mostrara a travs de la interfaz ya realizada mediante un
cdigo HTML alojado en la memoria SD.
56
57
herramientas que sirven para realizar funciones como interactuar con redes
sociales mediante el acceso de pginas web y manipular datos obtenidos por
el GPS del dispositivo mvil.
en
la
figura
14
llamada
horizontalarrangement
la
59
60
para hacer el envo de la modificacin hacia la pgina web que aloja las
variables del sistema; as como esta resaltado dentro del bloque LED1.click
mostrado en la figura anterior.
Por otra parte, hacer el llamado de la librera para la conexin web ejecuta
la verificacin de dicha conexin; de este modo, si existe algn error de
conexin se muestra un mensaje alusivo a dicho problema. Si tal problema
no existe, se modifica la direccin exitosamente y se espera a algn nuevo
cambio.
Anlisis de viabilidad
61
Material
Costo por
Cantidad
Total(BsF)
1500
1500
3000
3000
Cable Usb
75
75
Cable RJ45
50
50
Transistor
10
10
Resistencia
15
Buzzer
5-50
55
DHT11
200
200
Fan cooler
270
270
Unidad (BsF)
Arduino UNO
Arduino
Ethernet
Shield
Total
5175
concluir
que
la
implementacin
perfectamente viable.
62
del
prototipo
diseado
es
CAPTULO V
RESULTADOS
4.1.2, se
Otra gran ventaja que presenta esta herramienta con respecto a otras,
es que permite la corrida en tiempo real de la aplicacin en un dispositivo
conectado a la misma red wifi que la herramienta, a medida que se va
desarrollando la aplicacin.
Una de las desventajas que presenta es que por ser una versin beta,
presenta pocas herramientas para el desarrollo de interfaces grficas. Por lo
cual, se tuvo que recurrir a mtodos adicionales para lograr cumplir con las
exigencias del proyecto de manera eficiente.
64
65
66
67
68
69
70
Siendo esta una de las ventajas de este software, solo fue necesario
realizar la conexin del dispositivo mvil con la aplicacin mediante wifi y, de
esta manera, se ejecuto en tiempo real en el dispositivo mvil lo que se
programo. Es de esta manera como se realizo la compilacin automtica.
Primero,
se
procedi
la
conexin
de
los
dispositivos
al
71
Sistema de alarma
Salidas Digitales
Sensor DHT11
Conexin del modulo a la red
Memoria SD
72
73
Fase
Prueba
resultado
74
Fase
Prueba
resultado
75
Fase
Prueba
resultado
76
Fase
Prueba
resultado
77
Fase
Prueba
resultado
78
Dispositivo de control
Voltaje de salida
Buzzer o Bocina
Apagado
5V
Buzzer o Bocina
Encendido
0V
Apagado
5V
Encendido
0V
Tabla N 3 Voltaje de salida de los pines del micro controlador para cada
estado de los dispositivos de control.
Fuente: elaboracin propia.
79
80
CONCLUSIONES
81
pruebas
pertinentes
con
resultados
satisfactorios. El
82
Al finalizar
83
RECOMENDACIONES
84
REFERENCIAS
App
Inventor
Homepage
en
ingles.
Disponible
en:
http://appinventor.mit.edu/explore/
http://trevinca.ei.uvigo.es/~txapi/espanol/proyecto/superior/memoria/node46.h
tml
85
Ethernet
Server
usando
la
memoria
SD.
Disponible
en:
http://startingelectronics.com/tutorials/arduino/ethernet-shield-web-servertutorial/SD-card-web-server/
ed.
Estado
86
Bolvar.
ANEXOS
88
89
WIZNET W5100
90
91
#include <SPI.h>
#include <Ethernet.h>
#include <SD.h>
#include "DHT.h"
#define DHTPIN 2
#define DHTTYPE DHT11
// tamao de bfer utilizado para capturar las solicitudes HTTP
#define REQ_BUF_SZ 50
92
int PIN_LED_B=9;
String readString=String(30);
String state=String(3);
String estado=String(3);
String v=String(3); //velocidad
void setup()
{
// desactivar el chip Ethernet
pinMode(10, OUTPUT);
digitalWrite(10, HIGH);
Serial.println("Initializing SD card...");
if (!SD.begin(4)) {
Serial.println("ERROR - SD card initialization failed!");
return;
// init failed
}
Serial.println("SUCCESS - SD card initialized.");
// check for index.htm file
if (!SD.exists("index.htm")) {
Serial.println("ERROR - Can't find index.htm file!");
return; // can't find index file
}
Serial.println("SUCCESS - Found index.htm file.");
}
void loop()
{
EthernetClient cliente= servidor.available();
h = dht.readHumidity();
float t = dht.readTemperature();
f = 1.8 * t + 32;
if(cliente)
{
boolean currentLineIsBlank = true;
94
while(cliente.connected())//Cliente conectado
{
if(cliente.available())
{
char c=cliente.read();
if (req_index < (REQ_BUF_SZ - 1))
{
HTTP_req[req_index] = c;
req_index++;
}
// ltima lnea de la peticin del cliente est en blanco y termina con \ n
// Responder al cliente despus de la ltima lnea recibida
if (c == '\n' && currentLineIsBlank)
{
// Cabecera HTTP estndar
cliente.println("HTTP/1.1 200 OK");
if (StrContains(HTTP_req, "ajax_inputs")) {
cliente.println("Content-Type: text/xml");
cliente.println("Connection: keep-alive");
cliente.println();
XML_response(cliente);
}
95
else {
// enviar resto del encabezado HTTP
cliente.println("Content-Type: text/html");
cliente.println("Connection: keep-alive");
cliente.println();
// send web page
webFile = SD.open("index.htm");
if (webFile) {
while(webFile.available()) {
cliente.write(webFile.read());
}
webFile.close();
}
}
Serial.print(HTTP_req);
req_index = 0;
StrClear(HTTP_req, REQ_BUF_SZ);
break;
}
if (c == '\n') {
currentLineIsBlank = true;
}
96
else if (c != '\r') {
currentLineIsBlank = false;
}
}
}
delay(1);
cliente.stop();
}
}
void XML_response(EthernetClient cl)
{
int analog_val, analog_val2;
cl.print("</analog2>");
cl.print("</inputs>");
}
void StrClear(char *str, char length)
{
for (int i = 0; i < length; i++) {
str[i] = 0;
}
}
char StrContains(char *str, char *sfind)
{
char found = 0;
char index = 0;
char len;
len = strlen(str);
if (strlen(sfind) > len) {
return 0;
}
while (index < len) {
if (str[index] == sfind[found]) {
found++;
if (strlen(sfind) == found) {
98
return 1;
}
}
else {
found = 0;
}
index++;
}
return 0;
}
99
cliente.println("<html>");
cliente.println("<head>");
cliente.println("<title>Cesar Rodriguez</title>");
cliente.println("</head>");
cliente.println("<body width=100% height=100%>");
cliente.println("<center>");
cliente.println("<h1>AIRE A ON/OFF</h1>");
cliente.print("<br><br>");
cliente.print("Estado del AIRE A: ");
cliente.print(state);
cliente.print("<br><br>");
cliente.println("<input type=submit value=ENCENDIDO
style=width:100px;height:55px onClick=location.href='./?LDA=T\'>");
cliente.println("<input type=submit value=APAGADO
style=width:100px;height:55px onClick=location.href='./?LDA=F\'>");
cliente.println("</center>");
cliente.println("</body>");
cliente.println("<body width=100% height=100%>");
cliente.println("<center>");
cliente.println("<h2>ALARMA ON/OFF</h2>");
cliente.print("<br><br>");
cliente.print("Estado de la ALARMA: ");
101
cliente.print(estado);
cliente.print("<br><br>");
cliente.println("<input type=submit value=ENCENDIDO
style=width:100px;height:55px onClick=location.href='./?LDB=T\'>");
cliente.println("<input type=submit value=APAGADO
style=width:100px;height:55px onClick=location.href='./?LDB=F\'>");
cliente.println("</center>");
cliente.println("</body>");
cliente.println("<br><br>");
cliente.println("<body width=100% height=100%>");
cliente.println("<OPTION >ELEGIR</OPTION>");
for (int i=1; i <= 10; i++){
cliente.print("<OPTION VALUE='");
cliente.print(i);
cliente.print("'>");
cliente.print(i);
cliente.println("</OPTION>");
}
cliente.println("</SELECT>");
cliente.println("<input type='submit' value='procesar'
style='width:100px;height:55px' />");
cliente.println("</FORM>");
cliente.println("</center>");
102
cliente.println("</p>");
cliente.println("</body>");
cliente.println("</html>");
cliente.stop();//Cierro conexin con el cliente
readString="";
}
}
}
}
}
103
104