domotica-opendomo

March 24, 2017 | Author: Arturo Casillas | Category: N/A
Share Embed Donate


Short Description

Domotica...

Description

Índice general Índice general

II

Resumen

IX

Abstract

IX

Introducción

X

Objetivos

XI

I

Marco teórico domótica

1

1.1. Historia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1

1.2. Definición técnica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1

1.3. Beneficios de la domótica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2

1.4. Aplicaciones de la domótica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3

1.4.1. La gestión de la energía . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3

1.4.1.1. Zonificación del efecto de la climatización de la vivienda . . . . . .

4

1.4.1.2. Programación de la climatización . . . . . . . . . . . . . . . . . . .

5

1.4.1.3. Derogación de niveles de temperatura . . . . . . . . . . . . . . . . .

6

1.4.1.4. Selección del modo de funcionamiento de la climatización . . . . .

6

1.4.1.5. Programación de equipos domésticos . . . . . . . . . . . . . . . . .

7

1.4.1.6. Racionalización de cargas eléctricas. . . . . . . . . . . . . . . . . .

7

1.4.1.7. Gestión de tarifas . . . . . . . . . . . . . . . . . . . . . . . . . . . .

7

1.4.2. El confort . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

8

1.4.2.1. Apagado de todas las luces de la vivienda . . . . . . . . . . . . . .

8

1.4.2.2. Automatización de la iluminación . . . . . . . . . . . . . . . . . . . .

8

1.4.2.3. Regulación de la iluminación según el nivel de luminosidad ambiente 8 1.4.2.4. Regulación de la iluminación según el nivel de luminosidad ambiente y presencia de usuarios . . . . . . . . . . . . . . . . . . . . . . .

9

1.4.2.5. Control de luces por mando a distancia . . . . . . . . . . . . . . . .

9

1.4.2.6. Encendido / apagado temporizado de luces

9

II

. . . . . . . . . . . . .

ÍNDICE GENERAL

III

1.4.2.7. Control de equipos e instalaciones por mando a distancia . . . . . .

9

1.4.2.8. Automatización de sistemas e instalaciones . . . . . . . . . . . . .

10

1.4.2.9. Integración del portero automático en el teléfono . . . . . . . . . . .

10

1.4.2.10. Integración del videoportero automático en el televisor . . . . . . .

10

1.4.3. La seguridad: protección de bienes y personas . . . . . . . . . . . . . . . . .

11

1.4.3.1. Detección de intrusión

. . . . . . . . . . . . . . . . . . . . . . . . .

11

1.4.3.2. Simulación de presencia . . . . . . . . . . . . . . . . . . . . . . . .

12

1.4.3.3. Detección de incendios . . . . . . . . . . . . . . . . . . . . . . . . .

12

1.4.3.4. Detección de fugas de gas . . . . . . . . . . . . . . . . . . . . . . .

12

1.4.3.5. Detección de escapes de agua

. . . . . . . . . . . . . . . . . . . .

13

1.4.3.6. Alerta médica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

13

1.4.4. Las comunicaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

13

1.4.4.1. Control remoto de equipos e instalaciones . . . . . . . . . . . . . .

13

1.4.4.2. Transmisión de alarmas

. . . . . . . . . . . . . . . . . . . . . . . .

14

1.5. Arquitectura y elementos constituyentes de un sistema domótico . . . . . . . . . . .

14

1.5.1. Elementos básicos constituyentes . . . . . . . . . . . . . . . . . . . . . . . .

15

1.5.1.1. Pasarela residencial . . . . . . . . . . . . . . . . . . . . . . . . . . .

16

1.5.1.2. Sensores

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

16

1.5.1.3. Sistema de Control . . . . . . . . . . . . . . . . . . . . . . . . . . .

17

1.5.1.4. Actuadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

17

1.5.1.5. Electrodomésticos y aparatos electrónicos inteligentes . . . . . . .

18

1.5.2. Arquitectura del sistema de control . . . . . . . . . . . . . . . . . . . . . . . .

18

1.5.2.1. Sistemas centralizados . . . . . . . . . . . . . . . . . . . . . . . . .

18

1.5.2.2. Sistemas distribuidos . . . . . . . . . . . . . . . . . . . . . . . . . .

19

1.5.2.3. Sistemas Mixtos (híbridos) . . . . . . . . . . . . . . . . . . . . . . .

20

1.5.3. Medios de transmisión y comunicación . . . . . . . . . . . . . . . . . . . . .

21

1.5.3.1. Medios de transmisión inalámbricos . . . . . . . . . . . . . . . . . .

21

1.5.3.2. Medios de transmisión cableados o alambricos . . . . . . . . . . . .

22

1.5.4. Protocolos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

23

1.5.4.1. El protocolo X10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

23

1.5.4.2. Protocolo Z-wave . . . . . . . . . . . . . . . . . . . . . . . . . . . .

25

1.5.4.3. Protocolo EIB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

26

1.5.4.4. LONWORKS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

27

1.5.4.5. Protocolo KNX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

29

1.5.4.6. protocolo TCP/IP . . . . . . . . . . . . . . . . . . . . . . . . . . . .

30

II Sistemas domóticos existentes 32 2.1. Sistemas privativos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

32

ÍNDICE GENERAL

IV

2.1.1. DOMOLON . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

32

2.1.1.1. Descripción del sistema . . . . . . . . . . . . . . . . . . . . . . . . .

33

2.1.1.2. Tipo de Arquitectura . . . . . . . . . . . . . . . . . . . . . . . . . . .

33

2.1.1.3. Medio de Transmisión . . . . . . . . . . . . . . . . . . . . . . . . . .

33

2.1.1.4. Protocolo de comunicaciones . . . . . . . . . . . . . . . . . . . . .

34

2.1.1.5. Funciones que permite implementar . . . . . . . . . . . . . . . . . .

34

2.1.1.6. Resumen características técnicas . . . . . . . . . . . . . . . . . . .

36

2.1.2. SICOV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

38

2.1.2.1. Características . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

38

2.1.2.2. Características técnicas . . . . . . . . . . . . . . . . . . . . . . . . .

38

2.1.2.3. Funcionalidades . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

39

2.1.3. Cardio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

40

2.1.3.1. Funciones que permite implementar . . . . . . . . . . . . . . . . . .

40

2.1.3.2. Protocolo de comunicaciones . . . . . . . . . . . . . . . . . . . . .

41

2.1.3.3. Medios de transmisión . . . . . . . . . . . . . . . . . . . . . . . . .

42

2.1.3.4. Interfaz de usuario . . . . . . . . . . . . . . . . . . . . . . . . . . . .

42

2.1.4. Homeseer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

42

2.1.4.1. Principales características . . . . . . . . . . . . . . . . . . . . . . .

42

2.1.5. HomeOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

43

2.2. Sistemas Open Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

44

2.2.1. MisterHouse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

44

2.2.1.1. Características . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

44

2.2.1.2. Ejemplos posibles con Mister House . . . . . . . . . . . . . . . . . .

45

2.2.1.3. Estado actual de desarrollo . . . . . . . . . . . . . . . . . . . . . . .

45

2.2.2. Heyu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

45

2.2.2.1. Características . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

45

2.2.2.2. Sistemas operativos soportados . . . . . . . . . . . . . . . . . . . .

46

2.2.2.3. Estado de desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . .

47

2.2.3. OpenDomo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

47

2.2.3.1. Principales características de OpenDomo . . . . . . . . . . . . . . .

47

2.2.3.2. Algunas posibles implementaciones . . . . . . . . . . . . . . . . . .

49

2.2.3.3. Estado actual de desarrollo . . . . . . . . . . . . . . . . . . . . . . .

49

2.3. Motivos de la elección de OpenDomo . . . . . . . . . . . . . . . . . . . . . . . . . .

50

III Arduino

52

3.1. Conociendo los dispositivos Arduino . . . . . . . . . . . . . . . . . . . . . . . . . . .

52

3.1.1. Descripción de Arduino . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

52

3.1.2. Ventajas de Arduino sobre otras plataformas de hardware . . . . . . . . . . .

52

3.1.3. El hardware de Arduino . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

53

ÍNDICE GENERAL

V

3.1.3.1. Los tipos de placas Arduino disponibles . . . . . . . . . . . . . . . .

53

3.1.3.2. Shields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

57

3.1.4. El software para programar Arduino . . . . . . . . . . . . . . . . . . . . . . .

57

3.2. Descripción de las placas Arduino a utilizar . . . . . . . . . . . . . . . . . . . . . . .

58

3.2.1. Arduino Uno . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

58

3.2.1.1. Resumen características . . . . . . . . . . . . . . . . . . . . . . . .

59

3.2.1.2. La alimentación . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

59

3.2.1.3. Pines de entrada y salida . . . . . . . . . . . . . . . . . . . . . . . .

60

3.2.1.4. Comunicación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

61

3.2.1.5. Programación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

61

3.2.1.6. Reinicio Automatico por Software . . . . . . . . . . . . . . . . . . .

62

3.2.1.7. Protección contra sobretensiones en USB . . . . . . . . . . . . . .

62

3.2.1.8. Características físicas . . . . . . . . . . . . . . . . . . . . . . . . . .

63

3.2.2. Arduino Ethernet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

63

3.2.2.1. Resumen características . . . . . . . . . . . . . . . . . . . . . . . .

64

3.2.2.2. Entradas y Salidas . . . . . . . . . . . . . . . . . . . . . . . . . . . .

65

3.2.2.3. Comunicaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

66

3.3. Preparación del ambiente de desarrollo . . . . . . . . . . . . . . . . . . . . . . . . .

66

3.3.1. Instalación Software de programación . . . . . . . . . . . . . . . . . . . . . .

66

3.3.1.1. Descarga e instalación del software. . . . . . . . . . . . . . . . . . .

67

3.3.1.2. Probando el hardware . . . . . . . . . . . . . . . . . . . . . . . . . .

68

IV OpenDomo

69

4.1. Instalación de OpenDomo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

69

4.1.1. Requisitos para la instalación de prueba usando virtualización . . . . . . . .

69

4.1.2. Instalación en la máquina virtual . . . . . . . . . . . . . . . . . . . . . . . . .

69

4.1.2.1. Proceso de instalación en VirtualBox . . . . . . . . . . . . . . . . .

70

4.1.2.2. Ejecución de OpenDomo en VirtualBox . . . . . . . . . . . . . . . .

71

4.1.2.3. Crear el almacenamiento persistente de la configuración y configuración inicial. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

72

4.1.2.4. Compilar una imagen OpenDomo . . . . . . . . . . . . . . . . . . .

73

4.2. Conceptos importantes usados en un sistema OpenDomo . . . . . . . . . . . . . . .

74

4.2.1. Dispositivos de red y agentes . . . . . . . . . . . . . . . . . . . . . . . . . . .

75

4.2.2. Condiciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

75

4.2.3. Secuencias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

75

4.2.4. Zonas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

76

4.2.5. Etiquetas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

76

4.2.6. Estados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

76

4.2.7. Escena . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

77

ÍNDICE GENERAL

VI

V Implementación teórica de un sistema domótico

78

5.1. Elección de la vivienda y requisitos a implementar . . . . . . . . . . . . . . . . . . .

78

5.1.1. Requerimientos a implementar . . . . . . . . . . . . . . . . . . . . . . . . . .

78

5.1.1.1. Control de las luminarias principales . . . . . . . . . . . . . . . . . .

78

5.1.1.2. Encendido automático de la iluminación mediante la detección de presencia en un horario establecido . . . . . . . . . . . . . . . . . .

78

5.1.1.3. Encendido automático de las luces principales a determinado nivel de luminosidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

79

5.1.1.4. Cierre automático de persianas o cortinas a determinada hora o a niveles definidos de iluminación . . . . . . . . . . . . . . . . . . . .

80

5.1.1.5. Riego automático del patio . . . . . . . . . . . . . . . . . . . . . . .

80

5.1.1.6. Control del garaje . . . . . . . . . . . . . . . . . . . . . . . . . . . .

80

5.1.1.7. Instalación del sistema de seguridad . . . . . . . . . . . . . . . . .

80

5.1.1.8. Sensores de gas . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

80

5.1.1.9. Sensor de lluvia . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

80

5.1.1.10. Simular presencia durante periodos donde no hayan personas en la vivienda . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

81

5.2. Definición de la ubicación de los sensores y actuadores a instalar . . . . . . . . . .

81

5.2.1. Sector 1, entrada a la vivienda . . . . . . . . . . . . . . . . . . . . . . . . . .

82

5.2.2. Sector 2, salón principal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

82

5.2.3. Sector 3, cocina y comedor . . . . . . . . . . . . . . . . . . . . . . . . . . . .

83

5.2.4. Sector 4, dormitorio principal . . . . . . . . . . . . . . . . . . . . . . . . . . .

83

5.2.5. Sectores 5 y 8, baños del dormitorio principal y general . . . . . . . . . . . .

83

5.2.6. Sectores 6 y 7, dormitorios secundarios . . . . . . . . . . . . . . . . . . . . .

84

5.2.7. Sectores 9 y 12, lavandería y pasillo. . . . . . . . . . . . . . . . . . . . . . . .

84

5.2.8. Sector 10, garaje . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

84

5.2.9. Sector 11, patio

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

84

5.3. Diseño de la red de control para el sistema domótico . . . . . . . . . . . . . . . . . .

85

5.3.1. Condiciones que debe cumplir la red . . . . . . . . . . . . . . . . . . . . . . .

85

5.3.2. Diagrama general de la red . . . . . . . . . . . . . . . . . . . . . . . . . . . .

86

5.3.2.1. Medio de transmisión de la red . . . . . . . . . . . . . . . . . . . . .

87

5.3.3. Armado de la red dómotica . . . . . . . . . . . . . . . . . . . . . . . . . . . .

87

5.3.3.1. Instalación del Firewall/Router . . . . . . . . . . . . . . . . . . . . .

87

5.3.3.2. Switch y Switch Wifi . . . . . . . . . . . . . . . . . . . . . . . . . . .

89

5.3.3.3. Cableado estructurado UTP . . . . . . . . . . . . . . . . . . . . . .

89

5.3.3.4. Conexión mediante PLC (Power Line Comunication) . . . . . . . . .

90

5.4. Alimentación de los dispositivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

92

5.4.1. Alimentación del servidor y elementos principales de la red . . . . . . . . . .

92

5.4.2. Alimentación de los agentes . . . . . . . . . . . . . . . . . . . . . . . . . . .

92

ÍNDICE GENERAL

VII

5.4.3. PoE (Power Over Ethernet) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.5. Instalación de OpenDomo

93

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

95

5.5.1. Selección del computador . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

95

5.5.2. Instalando OpenDomo en una memoria CF(Compact Flash) . . . . . . . . .

96

5.6. Instalando y probando Domino en las placas Arduino Ethernet . . . . . . . . . . . .

97

5.6.1. Instalación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

97

5.6.2. Detalle referentes al código . . . . . . . . . . . . . . . . . . . . . . . . . . . .

98

5.6.2.1. Definición de la IP, MAC y UID . . . . . . . . . . . . . . . . . . . . .

98

5.6.2.2. Modificación para el envió de entradas analógicas . . . . . . . . . .

99

5.6.3. Probando el funcionamiento de Domino . . . . . . . . . . . . . . . . . . . . . 100 5.7. Configuración de IPCOP y asignación de IP de los dispositivos . . . . . . . . . . . . 100 5.7.1. Configuración de IPCOP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 5.7.2. Configuración de la IP del servidor y los agentes . . . . . . . . . . . . . . . . 101 5.7.2.1. Asignación de IP, MAC y UID a los agentes Domino . . . . . . . . . 101 5.7.2.2. Configuración de IP OpenDomo . . . . . . . . . . . . . . . . . . . . 102 5.8. Conexión de los sensores y actuadores a los agentes . . . . . . . . . . . . . . . . . 104 5.8.1. Comandos usados en la configuración de Domino . . . . . . . . . . . . . . . 104 5.8.2. Puertos disponibles en los agentes . . . . . . . . . . . . . . . . . . . . . . . . 106 5.8.2.1. Puertos digitales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 5.8.2.2. Puertos analógicos . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 5.8.2.3. Puertos virtuales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 5.8.3. Conexión de un sensor al agente . . . . . . . . . . . . . . . . . . . . . . . . . 108 5.8.4. Conexión de los actuadores al agente . . . . . . . . . . . . . . . . . . . . . . 109 5.9. Configuración y uso de OpenDomo . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 5.9.1. Los menús de OpenDomo

. . . . . . . . . . . . . . . . . . . . . . . . . . . . 109

5.9.2. Configurar las zonas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 5.9.3. Configurar las etiquetas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 5.9.4. Configurar la comunicación con los agentes . . . . . . . . . . . . . . . . . . . 111 5.9.5. Instalar una cámara IP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 5.9.6. Configurar la cuenta de correo . . . . . . . . . . . . . . . . . . . . . . . . . . 114 5.9.7. Realizar una simulación de presencia mediante secuencias . . . . . . . . . . 115 5.9.8. Configurar ejecución de la simulación de presencia mediante condiciones . . 116 5.9.9. Configurar una escena

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117

5.9.10. Configurar el riego automatico . . . . . . . . . . . . . . . . . . . . . . . . . . 118 5.9.11. Configurar el envió de email en caso de detección de presencia . . . . . . . 119 VI Implementación práctica

121

6.1. Dispositivo actuador para control de aparatos eléctricos . . . . . . . . . . . . . . . . 121 6.2. Control de ampolleta mediante sistema domótico . . . . . . . . . . . . . . . . . . . . 123

ÍNDICE GENERAL

VIII

6.2.1. Configurar el agente Domino . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 6.2.1.1. Descripción del proceso

. . . . . . . . . . . . . . . . . . . . . . . . 123

6.2.1.2. Configurando el agente . . . . . . . . . . . . . . . . . . . . . . . . . 124 6.2.1.3. Conexión del actuador y la ampolleta . . . . . . . . . . . . . . . . . 124 6.2.1.4. Configurar OpenDomo para utilizar el puerto del agente . . . . . . . 125 6.2.1.5. Agregando un interruptor para permitir la activación manual de la ampolleta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 6.3. Instalación sensor de movimiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 6.3.1. Descripción del sensor

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126

6.3.2. Conexión del sensor al agente . . . . . . . . . . . . . . . . . . . . . . . . . . 127 6.3.3. Configuración del agente para leer el sensor . . . . . . . . . . . . . . . . . . 128 6.3.4. Configuración del agente para encender una ampolleta cuando detecte presencia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 6.4. Instalación sensor de luminosidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 6.4.1. Descripción del sensor

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128

6.4.2. Conexión del sensor al agente . . . . . . . . . . . . . . . . . . . . . . . . . . 129 6.4.3. Configuración del agente para leer el sensor . . . . . . . . . . . . . . . . . . 129 6.4.4. Cambios necesarios en el código de Domino . . . . . . . . . . . . . . . . . . 130 6.5. Instalación sensor de temperatura . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 6.5.1. Descripción del sensor

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131

6.5.2. Conexión del sensor al agente . . . . . . . . . . . . . . . . . . . . . . . . . . 131 6.5.3. Configuración del agente para leer el sensor . . . . . . . . . . . . . . . . . . 132 6.5.4. Cambios en el código de Domino . . . . . . . . . . . . . . . . . . . . . . . . . 132 Conclusiones

135

Referencias

137

RESUMEN/ABSTRACT

IX

Resumen En esta tesis se dará a conocer lo que es la domótica, comenzaremos conociendo su definición, sus ventajas y aplicaciones a la vida cotidiana para luego conocer los conceptos tecnicos, en este apartado conoceremos la función de cada parte que compone un sistema domótico, también los estándares que se usan en su implementación para continuar conociendo las diferentes alternativas existentes en el mercado para una implementación de este tipo y finalmente centrarse en una plataforma de software y hardware OpenSource, de entre las cuales se opto por un sistema basado en GNU/Linux como es OpenDomo y por Arduino en lo que se refiere a la parte hardware. Despues de conocer de manera teórica todo lo relacionado con la domótica y decidirse por unas plataformas OpenSource tanto en software como hardware se mostrara una implementación real, esta se dividirá en 2 partes, en la primera se mostrara una implementación en una vivienda real pero de manera teórica, luego se tomaran algunas de las implementaciones realizadas en esta primera parte y se diseñaran todos los circuitos necesarios para que funcionen, estos circuitos serán mostrados y probados de manera practica, el motivo por el que se escogió este modo de trabajo es debido a que una implementación completa en una vivienda real es demasiado costoso para para poder ser realizado con los recursos con los cuales se contaba para esta tesis.

Abstract This thesis will present what is home automation, start knowing its definition, its benefits and applications to everyday life and then learn the technical concepts , this section know the function of each component part of a home automation system, also standards that are used in its implementation continuing to hear the different alternatives existing in the market for this type of implementation and finally focus on a software and hardware platform OpenSource, among which we chose a system based on GNU / Linux as OpenDomo and Arduino respect to the hardware part. After theoretically know everything about home automation and deciding on a OpenSource platforms both in software hardware will show a real implementation, this will be divided into two parts, the first will show an implementation in a real home but so theoretical, then take some of the deployments in the first part and designed all the necessary circuitry to function, these circuits will be shown and tested really, why you chose this way of working is because an implementation complete a real home is too costly to be done to the resources with which they counted for this thesis.

INTRODUCCIÓN

X

Introducción La vivienda puede considerarse el lugar físico mas importante para cualquier persona, en ella realizamos gran parte de la convivencia y la vida familiar, siendo también un importante patrimonio económico. Debido a esto se considera de gran valor el que dentro de ella se tengan las mejores condiciones y calidad de vida posible, así como también es muy importante la seguridad de esta, tanto en lo referente a cuidar los bienes materiales como a la seguridad de los habitantes de la misma. Una de las herramientas con las que se cuenta para lograr esto es la domótica, la domótica es un concepto que tiene como finalidad principal el de dotar de automatismos y en mayor o menor medida de inteligencia a una vivienda, concepto que ya se comprende al analizar el origen de las palabras que la conforman , estas provienen del latín domus (hogar) y automática (que funciona por si sola). En el concepto de la domótica intervienen un conjunto de diversas tecnologías y áreas, entre ella se destacan la electricidad, la electrónica, la informática, robótica, telecomunicaciones, etc. las cuales logran convivir y complementarse perfectamente para lograr así dotar a una vivienda de una completa integración entre todos los elementos del hogar y de esta forma mejorar el confort, la seguridad, las comunicaciones, etc. El concepto de domótica ha ido evolucionando junto con los avances tecnológicos, motivos por los cuales en la actualidad suele usarse también el concepto de hogar digital, el cual abarca no solo la automatización de la vivienda sino también las conexiones a internet, la televisión digital, etc. en general todo aquello que nos permita estar conectado al mundo. Para la implementación de un sistema domótico en una vivienda existen en el mercado diversos sistemas, así como protocolos y dispositivos, la mayoría de ellos propietarios, pero también existen algunas opciones desarrolladas por el mundo OpenSource y las cuales están disponibles para su uso y estudio de manera gratuita, tanto en lo que se refiere al software como al hardware.

OBJETIVOS

XI

Objetivos Objetivos Generales 1. Conocer los conceptos y fundamentos generales sobre domótica. 2. Conocer sistemas de software y de hardware abierto que se pueden utilizar en domótica. 3. Implementar un sistema domótico utilizando los recursos antes mencionados.

Objetivos Específicos 1. Investigar en qué consiste la domótica y su aplicación actual y futura. 2. Conocer las características de las placas Arduino. 3. Mostrar las capacidades que ofrece Arduino en el control y accionamiento de dispositivos utilizados en domótica. 4. Conocer que es OpenDomo. 5. Mostrar las características y capacidades que ofrece OpenDomo como software para su uso en domótica. 6. Realizar una implementación de domótica utilizando como software de control la distribución Linux OpenDomo y las placas Arduino como hardware principal.

Capítulo I

Marco teórico domótica 1.1. Historia El origen de la palabra domótica proviene del latín domus que significa (casa u hogar) y del griego automática (que funciona por si sola). La domótica pude definirse como la tecnología aplicada al hogar, la que integra lo referente a la automatización, informática y telecomunicaciones, todas ellas destinadas a mejorar la calidad de vida de las personas que habitan en él. El origen de la domótica se remonta a la década de los setenta, cuando tras muchas investigaciones aparecieron los primeros dispositivos de automatización de edificios basados en la aún exitosa tecnología X-10. Durante los años siguientes la comunidad internacional mostró un creciente interés por la búsqueda de la casa ideal, comenzando diversos ensayos con avanzados electrodomésticos y dispositivos automáticos para el hogar. Los primeros sistemas comerciales fueron instalados, sobre todo, en Estados Unidos y se limitaban a la regulación de la temperatura ambiente de los edificios de oficinas y poco más. Más tarde, tras el auge de los PC, a finales de la década de los 80 y principios de la de los 90, se empezaron a incorporar en estos edificios los SCE (Sistema de Cableado Estructurado) para facilitar la conexión de todo tipo de terminales y periféricos entre sí, utilizando un cableado estándar y tomas repartidas por todo el edificio. Además de los datos, estos sistemas de cableado permitían el transporte de la voz y la conexión de algunos dispositivos de control y de seguridad, por lo que a estos edificios que disponían de un SCE, se les empezó a llamar edificios inteligentes. Posteriormente, los automatismos destinados a edificios de oficinas, junto con otros específicos, se han ido aplicando también a las viviendas de particulares u otro tipo de edificios, donde el número de necesidades a cubrir es mucho mas amplio, dando origen a la vivienda domótica.

1.2. Definición técnica Domótica es un concepto que debido al rápido avance de la tecnología esta en constante cambio. La domótica se aplica a la ciencia y a los elementos desarrollados por ella que proporcionan algún nivel de automatización o automatismo dentro de la casa, pudiendo ser desde un simple temporizador para encender y apagar una luz o aparato a una hora determinada, hasta los más complejos sistemas capaces de interactuar con cualquier elemento eléctrico de la casa. La vivienda domótica es, por lo tanto, aquella que integra una serié de automatismos en materia de electricidad, electrónica, robótica, informática y telecomunicaciones, con el objetivo de asegurar al usuario un aumento del confort, de la seguridad, del ahorro energético, de las facilidades de 1

CAPÍTULO I. MARCO TEÓRICO DOMÓTICA

2

comunicación, y de las posibilidades de entretenimiento. La domótica, pues, busca la integración de todos los aparatos del hogar, de forma que todo funcione en perfecta armonía, con la máxima utilidad y con la mínima intervención por parte del usuario. En este contexto se suele utilizar también mucho el concepto de hogar inteligente, el cual era de hecho empleado antes de que naciese el de domótica. El término inteligente se utiliza en ámbitos informáticos para distinguir aquellos terminales con capacidad autónoma de procesamiento de datos, como son los PC, de aquellos sin esa capacidad (terminales tontos). Suele confundirse a veces la Domótica con la Inmótica, la cual se usa para referirse a la automatización de edificios terciarios o de servicios (hoteles, oficinas, hospitales, plantas industriales, universidades. . . ). Este concepto se identifica habitualmente también como building management system, en referencia a la coordinación y gestión de las instalaciones con que se encuentran equipadas las edificaciones, así como a su capacidad de comunicación, regulación y control. Otro concepto muy usado en la actualidad debido al gran auge de las comunicaciones por internet es el de hogar digital o hogar conectado, del cual la domótica es una parte integrante, un esquema de este concepto se muestra en la figura I.1 en la cual puede verse que la red domótica convive con la red multimedia y la red de datos.

Figura I.1: Esquema del hogar digital o conectado

1.3. Beneficios de la domótica Los beneficios de la domótica podemos verlos resumidos en la tabla I.1, en la cual se muestran los beneficios que aporta a los distintos tipos de actores que se pueden relacionar con ella.

CAPÍTULO I. MARCO TEÓRICO DOMÓTICA

Actor Usuario

Promotor / Constructor

Instalador eléctrico

Administraciones Públicas

3

Beneficio Ahorro Energético. Incremento del confort. Racionalización de consumos eléctricos y reducción de la contratación de términos de potencia elevada. Evitar la actuación de protecciones eléctricas por consumo excesivo. Seguridad personal y patrimonial. Nuevas posibilidades de control de equipos y sistemas domésticos (incremento de aplicaciones domésticas). Gestión remota (teléfono, internet) de instalaciones y equipos domésticos. Nuevas prestaciones para la vivienda. Racionalización de aplicaciones destinadas a zonas e instalaciones comunes del edificio. Revalorización de la vivienda. Seguimiento de la evolución del sector de la edificación hacia la sostenibilidad al permitir,entre otros aspectos, un ahorro de energía. Incremento de la calidad, uso y posibilidades de la instalación eléctrica. Nuevas posibilidades de negocio en instalación. Servicios adicionales de mantenimiento. Ahorro energético general en el sector residencial. Reducción del número de emisiones contaminantes emitidas hacia la atmósfera. Seguimiento de la iniciativa de la sostenibilidad en la construcción. Actividad económica generada en torno a la domótica.

Cuadro I.1: Resumen de los beneficios de la domótica según el actor involucrado

1.4. Aplicaciones de la domótica 1.4.1.

La gestión de la energía

Las aplicaciones dentro de este grupo funcional se orientan básicamente a racionalizar los distintos consumos energéticos domésticos (electricidad, gas natural, agua, etc) en función de diversos criterios (ocupación de la vivienda, tarifas energéticas existentes para el sector doméstico, nivel

CAPÍTULO I. MARCO TEÓRICO DOMÓTICA

4

de potencia eléctrica contratada, etc). Las aplicaciones que se citan seguidamente son las más destacadas y las más comúnmente instaladas en viviendas, si bien es preciso indicar que el potencial de la domótica ofrece al usuario un ilimitado número de aplicaciones cuyo interés se asocia, estrictamente, a sus necesidades particulares y concretas. 1.4.1.1.

Zonificación del efecto de la climatización de la vivienda

La instalación de climatización en la vivienda (ya sea calefacción, aire acondicionado o ambos sistemas) se divide en varias zonas independientes de regulación y programación. Descripción: Cada zona definida en la vivienda tiene requisitos de uso o condiciones térmicas distintas, que hacen conveniente que sea gestionada de forma diferente por el sistema domótico. Esta gestión por zonas puede realizarse siguiendo una misma programación para cada una de ellas, o bien controlandolas de forma independiente, incrementando, con ello, las posibilidades de uso y confort para el usuario. Los criterios seguidos para definir la zonificación de la vivienda pueden ser variados. De entre los posibles, los más habituales son los siguientes: El uso dado a las dependencias, creando lo que se denomina una zona día (uso habitual durante el día como el comedor, el salón, etc) y zona noche (habitualmente limitada a las habitaciones); y La orientación de la vivienda, considerando los aportes energéticos solares, creando las dos zonas siguientes: la zona norte (estancias no expuestas a la radiación solar) y la zona sur (con incidencia solar). Beneficios: Incremento del grado de confort al asegurar la temperatura deseada por el usuario en cada una de las zonas disponibles. Asociadamente, esta aplicación permite también reducir el consumo de energía al incrementar la eficacia global de la instalación. Solo se climatizan aquellas zonas de la vivienda que son necesarias. Es importante pensar que en instalaciones de climatización sin zonificación, algunas estancias de la vivienda pueden climatizarse excesivamente como consecuencia de su tamaño, orientación, uso, etc, ocasionando una reducción del confort para el usuario. Así mismo, otras estancias de la vivienda pueden climatizarse por defecto, es decir, sin alcanzar la temperatura deseada, produciéndose la misma situación.

CAPÍTULO I. MARCO TEÓRICO DOMÓTICA

1.4.1.2.

5

Programación de la climatización

El usuario puede programar el funcionamiento de la instalación de climatización según sus necesidades o deseos. Descripción: La programación de la climatización, que puede realizarse por zonas (incrementando, con ello, las posibilidades de uso y confort), suele basarse en la definición de perfiles de temperaturas. Un perfil de temperatura está caracterizado por la definición de una serie de intervalos de tiempo en los que el sistema de climatización alcanzará una temperatura preestablecida por el propio usuario, a la que se denomina temperatura de consigna. Habitualmente, el usuario sólo puede programar dos valores de temperatura de consigna, definiendo lo que conoce como niveles de temperatura. A cada nivel de temperatura le corresponde una temperatura de consigna determinada ver Figura I.2.

Figura I.2: Ejemplo de perfil de temperatura para calefacción Los niveles de temperatura más comúnmente utilizados son los siguientes: Nivel de temperatura de confort. Es el estado habitual de funcionamiento de la climatización, que se da, por lo general cuando los usuarios se encuentran en la vivienda (por ejemplo, una temperatura de consigna de 21 °C para calefacción). Nivel de temperatura de economía. Estado de funcionamiento que se da cuando los usuarios salen de casa por un corto período de tiempo, y durante aquellos períodos en los cuales no es necesario un nivel de temperatura tan elevado (si se considera la calefacción) o tan bajo (si se considera el aire acondicionado). Un ejemplo de ello sería el uso de calefacción durante la noche al acostarse, con una temperatura de economía, por ejemplo, de 18 °C). Nivel de temperatura antihelada. Con el objeto de evitar que el agua contenida en las conducciones de la vivienda se hiele en invierno y produzca roturas en las mismas, el sistema de calefacción se puede poner en marcha para alcanzar una temperatura mínima establecida por el sistema (por ejemplo, una temperatura de 5 °C). Beneficios: Aumento del confort doméstico y optimización del consumo energético al asegurar que solamente se mantiene la temperatura necesaria durante un período concreto. Con el

CAPÍTULO I. MARCO TEÓRICO DOMÓTICA

6

nivel antihelada se evita, además, la rotura de conducciones de agua debido a las bajastemperaturas. 1.4.1.3.

Derogación de niveles de temperatura

El usuario puede alterar, en cualquier momento, el ritmo de funcionamiento programado de la climatización. Descripción: El sistema domótico gestiona el funcionamiento de la climatización siguiendo el programa introducido por el usuario en dicho sistema, es decir, acorde con el perfil de temperatura. Este seguimiento supone un determinado número de cambios entre los niveles de confort y economía. Sin embargo, el usuario puede modificar en cualquier momento el nivel de temperatura existente (de confort a economía, o viceversa), por diversos motivos, forzando un cambio puntual en el perfil de temperatura. A este cambio puntual se le conoce como derogar el nivel de temperatura existente. Es preciso indicar que este cambio puntual no afecta al desarrollo del perfil de temperatura ni lo modifica. El sistema domótico seguirá el perfil de temperatura una vez se restablezca el nivel programado. Beneficios: Esta aplicación resulta muy útil para el usuario, que requiere una modificación puntual en las necesidades de climatización (por ejemplo, al regresar antes de lo previsto, para extender el nivel unas horas más, etc.). 1.4.1.4.

Selección del modo de funcionamiento de la climatización

El usuario puede seleccionar, en cualquier momento, la forma de funcionamiento de la climatización: uso manual o bajo programación. Descripción: Una de las cualidades más relevantes de un sistema domótico es la posibilidad de gestionar de forma eficiente la climatización, siguiendo las necesidades o deseos del usuario, mediante su programación. Sin embargo, el usuario puede requerir, por cualquier causa o deseo, el funcionamiento de la climatización de una forma manual, es decir, sin seguir el perfil de temperatura previamente programado. Con el modo de funcionamiento manual,el sistema sólo garantiza el establecimiento de una temperatura de consigna única para toda la vivienda (incluso con la existencia de diversas zonas), de forma parecida a la existencia de un termostato de ambiente convencional. Beneficios: Incremento de las posibilidades de uso de la climatización por parte del usuario. Puede ser útil en determinadas situaciones (por ejemplo, para anular provisionalmente la programación utilizada, etc.).

CAPÍTULO I. MARCO TEÓRICO DOMÓTICA

1.4.1.5.

7

Programación de equipos domésticos

Programación de la puesta en marcha y paro de equipos domésticos. Descripción: El usuario puede programar la puesta en marcha y paro de diversos equipos domésticos (lavadora, etc.), creando un perfil parecido al de temperaturas. Beneficios: Incremento de las posibilidades de uso de equipos domésticos tradicionales, aportando algunas ventajas para el usuario. Por ejemplo, la programación de una lavadora puede suponer el tener la ropa limpia al llegar a casa sin haber tenido tiempo de arrugarse. 1.4.1.6.

Racionalización de cargas eléctricas.

Desconexión de cargas eléctricas en función del consumo eléctrico instantáneo. Descripción: Cuando la demanda de energía eléctrica es, en un momento determinado, superior a la potencia contratada, el sistema domótico desconecta una o varias líneas o circuitos eléctricos (a los que se han conectado equipos de uso no prioritario y de significativo consumo eléctrico), con la finalidad de evitar que se interrumpa el suministro a la vivienda por actuación de las protecciones; en concreto, por actuación del interruptor de control de potencia y magnetotérmico (ICPM). Esta aplicación es especialmente interesante cuando existe una electrificación importante en la vivienda; por ejemplo, cuando se dispone de calefacción por suelo radiante y techo de apoyo, termo eléctrico para agua caliente sanitaria, etc. Beneficios: Aparte del beneficio descrito con anterioridad, esta aplicación permite también reducir la potencia contratada por el usuario, reduciendo a su vez el término fijo de potencia y el coste mensual de la factura eléctrica. 1.4.1.7.

Gestión de tarifas

Derivar el funcionamiento de equipos domésticos a zonas horarias con económicas tarifas. Descripción: Existen ciertos equipos domésticos que pueden usarse en horas distintas a las habituales, sin afectar al ritmo de vida de los usuarios. Por eso, si el proveedor de electricidad ofrece algún horario con una tarifa económica, se puede aprovechar para hacer uso de aparatos como acumuladores eléctricos para generación de agua caliente sanitaria, lavadora o lavavajillas, sistemas de calefacción eléctrica por acumulación (acumuladores dinámicos o estáticos, suelo radiante, etc.), son algunos ejemplos de equipos cuyo funcionamiento puede derivarse a horas nocturnas, aprovechando las condiciones económicas de esta tarifa eléctrica.

CAPÍTULO I. MARCO TEÓRICO DOMÓTICA

8

Beneficios: Reducción de la factura mensual en energía eléctrica.

1.4.2.

El confort

Las aplicaciones incluidas en esta segunda área funcional tienen como marcada finalidad la simplificación de algunas tareas en el hogar (previa a una determinada automatización) o incrementar las posibilidades de control, creando nuevos hábitos o modelos de uso para el usuario, destinados siempre a mejorar el confort. Seguidamente se describen algunos ejemplos de este tipo de aplicaciones. 1.4.2.1.

Apagado de todas las luces de la vivienda

Descripción: El circuito de iluminación puede ser controlado mediante un pulsador cercano a la puerta principal de la vivienda. Accionando este pulsador se produce el corte de suministro eléctrico a este circuito, apagándose las distintas luminarias asociadas a él. Es importante mencionar que este pulsador no actúa sobre luminarias conectadas a otros circuitos eléctricos de la vivienda. Beneficios: Comodidad para el usuario al asegurar que la iluminación de la vivienda está apagada al salir de ésta y ahorro energético en caso de olvidarse de apagar la luz de alguna estancia. 1.4.2.2.

Automatización de la iluminación

Descripción: La forma de encender y apagar algunas luminarias de la vivienda puede automatizarse, bajo distintas posibilidades de control, en función de las necesidades de los usuarios. Por ejemplo, regular la intensidad de la iluminación de una estancia al mantener oprimido un pulsador, encender o apagar un número determinado de luces (por ejemplo, del pasillo), etc. Beneficios: Incremento del confort del usuario. 1.4.2.3.

Regulación de la iluminación según el nivel de luminosidad ambiente

Descripción: La iluminación de una estancia puede ser regulada en función del nivel de luminosidad ambiental, evitando el encendido innecesario o adaptándola a las necesidades del usuario. Su activación se produce siempre que el nivel de luminosidad supere un determinado umbral, ajustable por el usuario. Es preciso indicar que el sistema domótico garantiza siempre la posibilidad de encender y apagar la iluminación de forma tradicional, es decir, de forma voluntaria y manual por parte del usuario.

CAPÍTULO I. MARCO TEÓRICO DOMÓTICA

9

Beneficios: Incremento del confort visual del usuario y ahorro energético en caso de olvidarse encendida la iluminación de alguna estancia. 1.4.2.4.

Regulación de la iluminación según el nivel de luminosidad ambiente y presencia de usuarios

Descripción: Como ampliación de la aplicación anterior, la iluminación de una estancia puede ser controlada, además, en función de la presencia o ausencia de usuarios en la estancia. Su activación se produce siempre que el nivel de luminosidad supere un determinado umbral, ajustable por el usuario, y siempre en su presencia. Como en el caso anterior, es preciso indicar que el sistema domótico garantiza siempre la posibilidad de encender y apagar la iluminación de forma tradicional, es decir, de forma voluntaria y manual por el usuario. Beneficios: Incremento del confort visual del usuario y ahorro energético en caso de olvidarse encendida la iluminación de una estancia. 1.4.2.5.

Control de luces por mando a distancia

Descripción: El control de la iluminación de una o varias estancias puede realizarse a través de un mando a distancia, con independencia del tradicional mecanismo de mando eléctrico (interruptor). Un mismo mando a distancia puede controlar distintas luminarias. Opcionalmente, el mando a distancia puede disponer de la función "dimmer", es decir, de la posibilidad de regular el nivel de luminosidad de la luminaria. Beneficios: Incremento del confort del usuario. 1.4.2.6.

Encendido / apagado temporizado de luces

Descripción: El encendido o apagado de una luminaria puede temporizarse a voluntad del usuario, permitiendo su actuación al cabo de determinado tiempo. Su uso puede ser variado, estando sujeto a las necesidades y deseos del usuario. Son ejemplos, el apagado de la iluminación del dormitorio de niños pequeños (muy útil junto a una regulación del nivel de luminosidad de la luminaria), etc. Beneficios: Incremento de las posibilidades de uso de la iluminación de la vivienda. 1.4.2.7.

Control de equipos e instalaciones por mando a distancia

Descripción: Mediante un mando a distancia es posible controlar, además de la iluminación, otros equipos e instalaciones de interés para el usuario: apertura de la puerta del garaje,

CAPÍTULO I. MARCO TEÓRICO DOMÓTICA

10

motorización de persianas y toldos, etc. Existen sistemas domóticos que utilizan un mando a distancia específico, mientras que otros integran el propio mando a distancia del televisor, reduciendo el número de mandos existentes en el hogar. Este último punto es especialmente atractivo ya que, es posible disponer fácilmente, en una misma estancia, de mandos para el televisor, magnetoscopio (vídeo), cadena de alta fidelidad e incluso aire acondicionado. Beneficios: Comodidad en la realización de distintas acciones habituales en el hogar. 1.4.2.8.

Automatización de sistemas e instalaciones

Descripción: Aparte de la programación horaria de equipos e instalaciones domésticas descrita en el área funcional de Gestión de la Energía, es posible automatizar la puesta en marcha y paro de estas instalaciones en función de distintos parámetros. Por ejemplo, anular la activación del sistema de riego del jardín en caso de lluvia, enrollar toldos en caso de viento de fuerte intensidad, etc. Beneficios: Funcionamiento optimizado de los equipos e instalaciones domésticas, que pueden repercutir de forma distinta en la vida del usuario, en su confort o en su percepción de la comodidad y seguridad de la vivienda. Por ejemplo, y siguiendo respectivamente los casos descritos en el párrafo anterior, evitar el consumo innecesario de agua, evitar la rotura de toldos, etc. 1.4.2.9.

Integración del portero automático en el teléfono

Descripción: La señal de audio y control del portero automático se integra en la red de telefonía interior de la vivienda, para permitir utilizar el teléfono en lugar de la habitual consola de control de esta instalación. Cualquier llamada desde el portero automático puede ser atendida desde un terminal telefónico, entablando conversación con la persona visitante y, si es preciso, abriéndole la puerta. Opcionalmente, y cuando no hay nadie en la vivienda, podría pensarse en desviar la llamada desde el portero automático a un número de abonado telefónico, simulando la presencia de un usuario en casa. Beneficios: Comodidad para el usuario al no tener que desplazarse hasta la consola de portero automático y, opcionalmente, simular la presencia del usuario en casa. 1.4.2.10.

Integración del videoportero automático en el televisor

Descripción: La señal de vídeo y control del videoportero automático se integra en la red de televisión de la vivienda y del edificio, para permitir utilizar el televisor en lugar de la habitual

CAPÍTULO I. MARCO TEÓRICO DOMÓTICA

11

consola de control de esta instalación. Cualquier llamada desde el videoportero automático puede ser atendida desde el televisor, reconociendo la persona visitante y, si es preciso, abrirle la puerta mediante el propio mando a distancia del televisor (u otro de uso específico). Opcionalmente, podría entablarse comunicación con la persona visitante a través de un teléfono. Beneficios: Comodidad para el usuario al no tener que desplazarse hasta la consola de videoportero automático.

1.4.3.

La seguridad: protección de bienes y personas

Las aplicaciones de seguridad más habituales de los sistemas domóticos contemplan tanto la protección de las personas (lo que se denomina seguridad personal) como la de los bienes (lo que se denomina seguridad patrimonial). Seguidamente se describen algunos ejemplos de este tipo de aplicaciones. 1.4.3.1.

Detección de intrusión

Descripción: La disponibilidad de esta aplicación puede suponer que un intento de intrusión no finalice en robo. Para ello, la vivienda dispondrá de los elementos necesarios para detectar cualquier intento de forzar la puerta de acceso o las ventanas, así como detectar el movimiento en el interior de la vivienda. Se suele hablar de detección perimetral y detección volumétrica respectivamente. Para esta aplicación existen distintas versiones y posibilidades de uso. Entre las más relevantes es posible citar las dos siguientes: Selección del modo de detección. El usuario puede elegir el tipo de detección deseada, solamente las puertas y ventanas, lo que se conoce con el nombre de detección parcial, o conjuntamente con la detección de movimiento en el interior de la vivienda, lo que se conoce como detección total. Zonificación de la detección. En función de la tipología de la vivienda o de las propias necesidades de los usuarios, es posible crear distintas zonas de seguridad o detección. De esta forma,es posible activar los elementos de seguridad en aquellas estancias que no son utilizadas por el usuario (por ejemplo, toda una planta para una vivienda unifamiliar adosada). Beneficios: Seguridad para el usuario, incrementando su sensación de confort. Así mismo,algunas compañías aseguradoras realizan una reducción de la prima de seguro doméstico al disponer de este tipo de aplicación de seguridad.

CAPÍTULO I. MARCO TEÓRICO DOMÓTICA

1.4.3.2.

12

Simulación de presencia

Descripción: La simulación de presencia suele realizarse mediante la activación aleatoria de distintos elementos y equipos electrodomésticos en los momentos en los que la vivienda no está ocupada. Por ejemplo, iluminación de una o varias estancias, determinada luz de una sola estancia, radios o televisores, movimiento de persianas, etc. Beneficios: Evitar la intrusión no autorizada en la vivienda. 1.4.3.3.

Detección de incendios

Descripción: La disponibilidad de esta aplicación puede suponer que un conato de incendio pueda ser atendido a tiempo. Para ello, la vivienda dispondrá de los elementos necesarios para detectar cualquier incendio, principalmente en la cocina o en el comedor. Para esta aplicación existen distintas versiones y posibilidades de uso. Entre las más relevantes es posible citar las tres siguientes: Selección del tipo de detección. Existen en el mercado diversos tipos de sensores de incendio, con diferentes prestaciones distintas de detección y funcionamiento. Su uso está fuertemente ligado a su ubicación física en la vivienda. De este modo, es posible adaptar correctamente la instalación a las necesidades o requisitos de detección. Por ejemplo, para la detección de concentración de humo (no siendo recomendable su ubicación en cocinas), la detección de una diferencia brusca de temperatura, la detección de la presencia de una llama, etc. Aviso local o remoto de la alarma. Frente a una detección de incendio, el sistema domótico puede activar un zumbador interno de la vivienda o realizar una llamada de teléfono a un número de abonado telefónico previamente programado, o a una central receptora de alarmas. Actuación sobre la acometida de gas. Además, el sistema domótico puede cortar el paso de gas a la vivienda como consecuencia de la detección de incendio, evitando explosiones por concentración de gas y/o aumento de la temperatura. Beneficios: Seguridad patrimonial para el usuario. 1.4.3.4.

Detección de fugas de gas

Descripción: Cualquier fuga de gas en la vivienda (principalmente, en la cocina y donde se localice la caldera a gas) será detectada por el sistema domótico, que informará al usuario

CAPÍTULO I. MARCO TEÓRICO DOMÓTICA

13

de ello (por ejemplo, mediante un aviso sonoro), a la vez que cortará el suministro a la vivienda. Una vez subsanado el problema que ha originado la fuga de gas, el usuario puede restablecer el suministro. Beneficios: Gran seguridad para el usuario al evitar la concentración de gas en una estancia (ya sea metano, propano, butano, etc.), con las consecuencias que ello puede suponer para el usuario y la vivienda (evitar la intoxicación de los usuarios, reducir la posibilidad de una explosión con la consiguiente deflagración, etc.). 1.4.3.5.

Detección de escapes de agua

Descripción: Cualquier escape de agua en la vivienda (en cocinas y cuartos de baños) será detectada por el sistema domótico, que informará al usuario de ello (por ejemplo, mediante un aviso sonoro), a la vez que cortará el suministro a la vivienda. Una vez subsanado el problema que ha originado el escape de agua, el usuario puede restablecer el suministro. Beneficios: Evitar inundaciones debidas a escapes de agua en la vivienda, con las consecuencias que ello puede suponer para el usuario y la vivienda (evitar que se estropeen moquetas, parqué, alfombras, etc.). 1.4.3.6.

Alerta médica

Descripción: Un usuario que precise auxilio podrá avisar a algún familiar de la misma vivienda (respuesta local) o a alguna otra persona fuera de ella (respuesta remota, vía teléfono) mediante la activación de una señal de aviso. Beneficios: Seguridad personal del usuario.

1.4.4.

Las comunicaciones

Las aplicaciones de comunicaciones contemplan el intercambio de información, tanto entre personas como entre éstas y los equipos domésticos, ya sea dentro de la propia vivienda como desde ésta hacia el exterior. Si bien pueden destacarse numerosos ejemplos (telefonía mediante el uso de centralitas domésticas, mantenimiento de los equipos e instalaciones domésticos desde un lugar remoto, etc.), existen dos aplicaciones muy utilizadas, y comúnmente incluidas en la mayoría de los sistemas domóticos. 1.4.4.1.

Control remoto de equipos e instalaciones

Descripción: Posibilidad de poner en marcha y parar cualquier equipo o instalación doméstica desde un teléfono exterior a la vivienda (por ejemplo, desde la oficina, teléfono móvil, etc.).

CAPÍTULO I. MARCO TEÓRICO DOMÓTICA

14

Algunos ejemplos de equipos e instalaciones susceptibles de ser controladas a distancia son: activar el sistema de seguridad (no se recomienda nunca el permitir su desactivación, estando incluso prohibido por normativa en algunos países europeos), poner en marcha la calefacción o el aire acondicionado, activar la lavadora, etc. Beneficios: Incremento de las posibilidades de control de los equipos e instalaciones domésticas. Su utilidad recae fuertemente en los hábitos propios del usuario. Son ejemplos típicos, la puesta en marcha de la calefacción en segundas residencias (encontrando la vivienda acondicionada térmicamente en el momento de la llegada), la activación de una lavadora (permitiendo llegar a casa y encontrarse la ropa recién lavada y sin arrugas, etc.). 1.4.4.2.

Transmisión de alarmas

Descripción: Cuando se produce una alarma en la vivienda (sea de tipo técnico como de intrusión o alerta médica), el sistema domótico realiza una llamada telefónica a un determinado número de abonados telefónicos (previamente programados) para avisar de lo ocurrido al usuario. Opcionalmente, y siempre que el usuario disponga de un contrato de seguridad con una central receptora de alarmas, el sistema domótico puede realizar la llamada telefónica a dicha central, obrando ésta según convenio con el usuario (aviso a la oficina, a la policía, etc.). Se estima como necesaria la transmisión de aquellas alarmas que no disponen de una respuesta local del sistema domótico. Es decir, la detección de una fuga de gas o un escape de agua producen el corte de suministro y, por tanto, la anulación de la causa que ha generado la alarma, no siendo indispensable, en consecuencia, la generación de una llamada telefónica de aviso. Sin embargo, la transmisión del aviso de alarma es necesaria cuando se produce una detección de incendio, una intrusión en la vivienda o una alerta médica. Beneficios: Este tipo de aplicación es especialmente útil y muy bien valorada por los usuarios, especialmente en el caso de la alerta médica. En este último caso, la existencia y valoración de esta aplicación es tan importante para el usuario (por su claro componente de seguridad, tranquilidad y uso) que supera a otras muy bien valoradas como, por ejemplo, la gestión eficiente de la calefacción.

1.5. Arquitectura y elementos constituyentes de un sistema domótico La construcción e implementación de un sistema domótico involucra el estudio y planificación de las principales características, entre las cuales podemos destacar su arquitectura, parte muy

CAPÍTULO I. MARCO TEÓRICO DOMÓTICA

15

Figura I.3: Esquema de la integración de la domotica

importante ya que de esta dependerán los elementos a utilizar así como también el grado de tolerancia a las fallas que tendrá la misma, también es importante considerar el medio de transmisión y los dispositivos finales.

1.5.1.

Elementos básicos constituyentes

Los elementos que constituyen un sistema domótico se pueden clasificar en: Pasarela residencial. Sensores. Sistema de control. Actuadores. Electrodomésticos y aparatos electrónicos inteligentes. En muchas ocasiones, dichos elementos se integran en un mismo dispositivo. Por ejemplo, un detector de gas que dispone de sirena, una ampolleta con sensor de presencia, etc. A continuación se describen cada uno de estos elementos. En la figura I.4 se muestra un esquema de esos elementos y a continuación se definen cada uno de ellos.

CAPÍTULO I. MARCO TEÓRICO DOMÓTICA

16

Figura I.4: Elementos de un sistema domótico

1.5.1.1.

Pasarela residencial

La pasarela residencial es el dispositivo que interconecta los distintos dispositivos destinados a la automatización de la vivienda, haciendo de interfaz común de todos ellos hacia las redes externas. Permite también el control local o remoto de todos los dispositivos del edificio. 1.5.1.2.

Sensores

Son los elementos encargado de recoger la información del entorno (temperatura, humedad, cantidad de luz, etc) y enviarla al sistema de control centralizado para que actúe en consecuencia. Por ejemplo: El anemómetro mide la velocidad del viento, para determinar si se debe o no recoger automáticamente el toldo. En algunos casos, los sensores se pueden comunicar directamente con los actuadores. No se suelen conectar a la corriente eléctrica, es decir, tienen una fuente de alimentación autonoma, lo cual supone flexibilidad en la instalación. Entre los tipos de sensores más utilizados encontramos: Termostato ambiente. Detector de gas. Detector de incendios.

CAPÍTULO I. MARCO TEÓRICO DOMÓTICA

17

Sonda de humedad. Sensores de presencia (volumétricos y perimetrales). Sensor de iluminación ambiente. Sensor de lluvia. 1.5.1.3.

Sistema de Control

El sistema de control puede considerarse el cerebro de todo sistema domótico, es el encargado de recoger la información obtenida por los sensores y de acuerdo a esta tomar las decisiones de acuerdo a la configuración que ha sido realizada por el usuario de acuerdo a sus necesidades particulares. Dos aspectos muy importantes a considerar al momento de implementar el sistema de control es la arquitectura de este va a tener, esto se explica más ampliamente en la sección 1.5.2, y la forma en la que el usuario puede interactuar con él para realizar la configuración, consulta de información y activación manual de elementos de la red domótica, en este aspecto la interfaz de usuario puede presentarse de las formas mostradas a continuación o una mezcla de ellas: Interfaz local: La comunicación se realiza en el mismo lugar donde esta el sistema, por ejemplo, la centralita incorpora una pantalla y un teclado. Interfaz de voz: El sistema reconoce comandos por voz que pueden ingresarse realizando una llamada, permite programar o conocer el estado del edificio desde cualquier teléfono. Debe autentificarse con una contraseña. Interfaz de mensajes móviles: El sistema es capaz de recibir y enviar mensajes de texto o multimedia. Utilizan la red GSM (más económico con tarjetas prepago). Si se produce una incidencia, envía un SMS o MMS (si disponemos de videocámara). Interfaz Web: El sistema dispone de un servidor Web que permite configurar o conocer el estado actual de una forma gráfica (HTTP). Este sistema permite la conexión desde cualquier lugar y desde cualquier dispositivo que pueda navegar en internet, debe tenerse muy en cuenta la seguridad. 1.5.1.4.

Actuadores

Son dispositivos que utiliza el sistema de control para modificar el estado de equipos o instalaciones. Entre los actuadores más comunes podemos encontrar: Contactores (relés de actuación) de carril DIN.

CAPÍTULO I. MARCO TEÓRICO DOMÓTICA

18

Contactores de base de enchufe. Electroválvulas de corte de suministro (gas y agua). Válvulas para zonificar la calefacción por agua caliente. Sirenas o elementos zumbadores para el aviso de alarmas. 1.5.1.5.

Electrodomésticos y aparatos electrónicos inteligentes

Son equipos electrónicos que ya cuentan con la suficiente inteligencia para tomar decisiones por si solo, estos equipos estarán interconectados por la red de control, intercambiando información entre ellos, incluso siendo programados o controlados por teléfono o Internet. Algunas posibilidades que ofrecen estos equipo son: Frigoríficos: navegación por Internet, realización de la compra al supermercado, consulta de recetas. Hornos: limpieza automática (sistema de combustión de suciedades), almacenamiento de tiempos y temperaturas para diferentes recetas, etc.

1.5.2.

Arquitectura del sistema de control

Según la forma en que la red una los distintos puntos o lugares dispondremos de lo que se suele denominar arquitectura de control de la red. De esta dependerá los tipos de sensores y los distintos materiales que debamos emplear para su armado, así como también el grado de tolerancia a fallas que presentara la misma, las arquitectura puede ser de los siguientes tipos: Sistemas centralizados. Sistemas descentralizados. Sistemas distribuidos (híbridos). 1.5.2.1.

Sistemas centralizados

Los sistemas centralizados se caracterizan por tener un único nodo que recibe toda la información de las entradas, que la procesa y envía a las salidas las órdenes de acción correspondientes. Todos los dispositivos están unidos a un nodo central que dispone las funciones de control y mando. Podemos verlo en la figura I.5. Las ventajas de los sistemas centralizados son:

CAPÍTULO I. MARCO TEÓRICO DOMÓTICA

19

Figura I.5: Sistema de control centralizado

Los elementos sensores y actuadores son de tipo universal. Coste reducido o moderado. Fácil uso y formación. Instalación sencilla. Los inconvenientes son: Cableado significativo. Sistema dependiente del funcionamiento óptimo de la central. Modularidad difícil. Reducida ampliabilidad. Capacidad del sistema (canales o puntos). 1.5.2.2.

Sistemas distribuidos

En los sistemas descentralizados o distribuidos , mostrado en la figura I.6, todos los elementos de red actúan de forma independiente unos de otros. Comparten la misma línea de comunicación y cada uno de ellos dispone de funciones de control y mando. Los elementos de control se sitúan próximos al elemento a controlar, existiendo un elemento de control de nivel superior que controla y supervisa los elementos de control. Es necesario, en estos entornos, un protocolo de comunicaciones para que todos los elementos produzcan una acción coordinada. Las ventajas de los sistemas descentralizados son las siguientes: Seguridad de funcionamiento.

CAPÍTULO I. MARCO TEÓRICO DOMÓTICA

20

Figura I.6: Sistema de control distribuido

Posibilidad de rediseño de la red. Reducido cableado. Fiabilidad de productos. Fácil ampliabilidad. Los inconvenientes son: Elementos de sensores no universales y limitados a la oferta. Coste elevado de la solución. Más próximos a “edificios inteligentes” que a “viviendas inteligentes”. Complejidad de programación. 1.5.2.3.

Sistemas Mixtos (híbridos)

Los sistemas mixtos combinan las tipologías centralizada y distribuida. La inteligencia del sistema está localizada en cada uno de los nodos de control y cada nodo tiene acceso físico directo a una serie limitada de elementos de red. Se divide la instalación a controlar en zonas de forma distribuida, y cada zona se controla de forma centralizada. Es necesario, al igual que en el caso de los sistemas descentralizados, un protocolo de comunicaciones para que todos los módulos produzcan una acción coordinada. Podemos ver su esquema en la figura I.7. Las ventajas de los sistemas distribuidos son: Seguridad de funcionamiento. Posibilidad de rediseño de la red.

CAPÍTULO I. MARCO TEÓRICO DOMÓTICA

21

Figura I.7: Sistema de control mixto

Fácil ampliabilidad. Sensores y actuadores de tipo universal (económicos y de gran oferta). Coste moderado. Cableado moderado. Como único inconveniente destacamos el hecho de que requieren programación o configuración.

1.5.3.

Medios de transmisión y comunicación

Aqui definiremos los medios disponibles para la comunicación de los distintos dispositivos que conforman un sistema domótico, independiente de la arquitectura que presente el mismo, los medios los podemos clasificar en dos grandes grupos, inalámbricos y alambricos o por cable. 1.5.3.1.

Medios de transmisión inalámbricos

Entre las formas de comunicación inalámbrica podemos destacar: Wifi: Actualmente la forma de comunicación inalámbrica más utilizada, es el nombre comercial con el que se conoce a un mecanismo de transmisión de datos de forma inalámbrica desarrollado por la Wi-fi Alliance que utiliza el estándar de comunicación 802.11 del IEEE. Es una tecnología que permite la comunicación entre distintos tipos de dispositivos usando la banda de 2.4 GHz y los estándares IEEE 802.11b, IEEE 802.11g e IEEE 802.11n permiten velocidades de hasta 11 Mbps , 54 Mbps y 300 Mbps, respectivamente y a distancias de hasta 100 metros en linea vista.

CAPÍTULO I. MARCO TEÓRICO DOMÓTICA

22

ZigBee: ZigBee es el nombre de la especificación de un conjunto de protocolos de alto nivel de comunicación inalámbrica para su utilización con radiodifusión digital de bajo consumo, basada en el estándar IEEE 802.15.4 de redes inalámbricas de área personal (wireless personal área network, WPAN). Su objetivo son las aplicaciones que requieren comunicaciones seguras con baja tasa de envío de datos y maximización de la vida útil de sus baterías. Su uso es principalmente en aplicaciones encastradas con requerimientos muy bajos de transmisión de datos y consumo energético. Se pretende su uso en aplicaciones de propósito general con características autoorganizativas y bajo costo (redes en malla, en concreto). Puede utilizarse para realizar control industrial, albergar sensores empotrados, recolectar datos médicos, ejercer labores de detección de humo o intrusos o domótica. Una red en su conjunto utilizará una cantidad muy pequeña de energía de forma que cada dispositivo individual pueda tener una autonomía de hasta 5 años antes de necesitar un recambio en su sistema de alimentación. Bluetooth: Es un enlace de radio de corto alcance que aparece asociado a las Redes de Área Personal Inalámbricas, o sus siglas en inglés WPAN (Wireless Personal Área Network). Este concepto hace referencia a una red sin cables que se extiende a un espacio de funcionamiento personal o POS (Personal Operating Space) con un radio de hasta 10 metros. 1.5.3.2.

Medios de transmisión cableados o alambricos

Par Trenzado: El medio de transmisión cableado mas usado en las actuales redes, consiste en dos conductores eléctricos aislados que son entrelazados para anular las interferencias de fuentes externas y diafonía de los cables adyacentes. El UTP(Unshielded twisted pair o par trenzado sin blindaje) consiste de cables de pares trenzados sin blindar que se utilizan para diferentes tecnologías de redes locales. Son de bajo costo y de fácil uso, pero producen más errores que otros tipos de cable y tienen limitaciones para trabajar a grandes distancias sin regeneración de la señal. El STP(Shielded twisted pair o par trenzado blindado) se trata de cables de cobre aislados dentro de una cubierta protectora, con un número específico de trenzas por pie. STP se refiere a la cantidad de aislamiento alrededor de un conjunto de cables y, por lo tanto, a su inmunidad al ruido. Se utiliza en redes de ordenadores como Ethernet o Token Ring. Es más caro que la versión sin blindaje. PLC: La tecnología PLC (Power Line Communications) puede usar el cableado eléctrico doméstico como medio de transmisión de señales. Las tecnologías HomePlug y HomePlug AV, son los dos estándares de facto más populares empleados en el hogar, sin necesidad de instalar cableado adicional.

CAPÍTULO I. MARCO TEÓRICO DOMÓTICA

1.5.4.

23

Protocolos

El protocolo de comunicaciones que utiliza un sistema domótico es el formato en el que se transmiten los mensajes empleados por los dispositivos y elementos del control del sistema para comunicarse entre sí, de tal forma que todos puedan entenderse para intercambiar información. Estos protocolos pueden ser estándares o propietarios. Estándar: Un protocolo estándar es un conjunto de reglas que han sido ampliamente usados e implementados por diversos fabricantes, usuarios, y organismos oficiales (e.g. IEEE, ISO, ITU). Idealmente, un protocolo estándar debe permitir a las computadoras o dispositivos comunicarse entre sí, aún cuando estos sean de diferentes fabricantes. Propietarios: Son protocolos desarrollados y usados únicamente por una entidad par la comunicación de sus productos. Un dispositivo que use un protocolo propietario no puede comunicarse libremente con dispositivos de otros fabricantes. Entre los protocolos más utilizados podemos destacar los siguientes: X10. Z-wave EIB. Lonworks. KNX. TCP/IP. 1.5.4.1.

El protocolo X10

Es un protocolo utilizado para realizar instalaciones domóticas en casas ya construidas, es el lenguaje de comunicación utilizado por los productos compatibles X10 para hablarse entre ellos y que le permiten controlar las luces y los electrodomésticos de su hogar, aprovechando para ello la instalación eléctrica existente de 220V, y evitando tener que instalar cables. Los productos de automatización del hogar X10 están diseñados para que puedan ser instalados fácilmente por cualquier persona sin necesidad de conocimientos especiales. Cada aparato tiene una dirección a la que responde o envía, existiendo un total de 256 direcciones. Todos los productos X10 son compatibles entre sí por lo que se pueden combinar para formar el sistema mas adecuado a sus preferencias. A pesar de que el empleo de X-10 no requiere cableado especial, si se requieren dos dispositivos para la comunicación, un receptor y un transmisor:

CAPÍTULO I. MARCO TEÓRICO DOMÓTICA

24

Receptor: Se instala para enchufar algún electrodoméstico. En el se especifica el código de la unidad y el código de la vivienda, ofreciendo un gran número de posibilidades. Controlador o transmisor: Emite las órdenes de cuándo deben activarse los aparatos electrodomésticos y con qué intensidad, encontrándose estos en cualquier otro lugar de la vivienda. Las ventajas que presenta la utilización de este protocolo son las siguientes: Altamente extendido: X10 es un protocolo que está muy presente en el mercado mundial, sobre todo en Norteamérica y Europa (España y Gran Bretaña fundamentalmente). Simple de instalar y configurar: Se conectan los módulos en los aparatos a controlar y se les asignan direcciones, a continuación se les puede enviar ordenes básicas (ON, OFF, All Lights ON, All OFF, DIM, BRIGHT ) a través de un PC, mando a distancia,. . . o cualquier otro dispositivo de control remoto compatible con X10. Barato: Dentro de los sistemas domóticos es el que mejor precio presenta debido al hecho de ser un sistema sencillo y preparado para instalación no profesional. Inversión Protegida: Una de las grandes ventajas que tiene el sistema X10 es que es totalmente universal y por lo tanto transportable. Todos los productos X10 son tan fáciles de instalar y desinstalar que el día que se cambie de casa u oficina se los lleva consigo, igual que se llevaría la televisión, pues le seguirán sirviendo en su nueva ubicación. Visión de Futuro: Una de la cosas que mas preocupa cuando se invierte en tecnología hoy en día es su vida útil. Todos conocemos ya cual es la vigencia de un computador. O lo que pasa con los formatos que no son universales (vídeos beta, CD vídeo, etc.). De entre los varios sistemas domóticos que tratan de imponerse en la actualidad, el sistema X10 es el único que sigue vigente después de mas de 25 años y más de cien millones de aparatos funcionando por todo el mundo. (Antiguamente sólo en EEUU) actualmente ya se ha adaptado el sistema a 220V y se usa por toda Europa y América Latina. Entre las desventajas que presenta este protocolo podemos destacar las siguientes: Interferencias: La propia génesis del sistema que comparte la comunicación y la alimentación de los aparatos en la misma onda, tiene como principal consecuencia que la calidad de la señal depende siempre de la calidad de la señal de red que llega a nuestras casas. Poca versatilidad: El sistema X10 no dispone de funciones lógicas programables que permitan realizar funciones complejas. La mayoría son funciones de control ON/OFF o DIMMER. Con lo que se descarta de entrada, si se quiere llegar a conseguir regulaciones complejas (autorregulaciones). En la figura I.8 se muestran algunos productos que funcionan con el protocolo X10.

CAPÍTULO I. MARCO TEÓRICO DOMÓTICA

25

(a) Módulos X10

(b) Controladores X10

Figura I.8: Algunos productos X10

1.5.4.2.

Protocolo Z-wave

Es un protocolo para comunicación inalámbrica diseñada para la automatización del hogar. Todos los dispositivos con tecnología Z-wave® (sensores, enchufes, interruptores, etc) son capaces de comunicarse perfectamente entre ellos, formando una red. Esto permite crear eventos de cierta complejidad, por ejemplo, que al abrir la puerta de tu casa se encienda una luz, pero sólo si la luz exterior es insuficiente. Dentro esta red se puede agregar cualquier dispositivo Z-wave®, pero también casi todos los dispositivos electrónicos de una vivienda, incluso aquellos que no consideramos "inteligentes", tales como electrodomésticos, aparatos de aire acondicionado o persianas. Sólo hace falta conectarlos a un módulo de accesorios Z-wave®. En cuestión de segundos, el dispositivo agregado se comunicará inalámbricamente con otros dispositivos y controladores. Pero además existe la posibilidad de controlar una red Z-wave®, desde un PC e internet o incluso a través de su teléfono móvil. Los fabricantes de productos Z-wave se han unido formando The Z-Wave Alliance, que esta formada por mas de 160 fabricantes independientes. Algunas de las principales características del protocolo Z-wave son: Fiabilidad: Cuando manejamos la instalación desde nuestro PC o nuestro móvil, siempre estaremos seguros de que las órdenes son ejecutadas. En caso contrario el sistema siempre nos avisará. Mínimo impacto estético: Se trata de una tecnología inalámbrica y no necesita obras para su instalación. Ofrece las prestaciones del sistema domótico más avanzado, permitiendo crear escenarios de cierta complejidad, pero a un precio muy asequible.

CAPÍTULO I. MARCO TEÓRICO DOMÓTICA

26

Eficiencia energética: existen dispositivos que cuentan con medición de consumo, lo que te permite conocer y actuar sobre aquellos puntos de mayor consumo eléctrico en tu hogar.

Figura I.9: Algunos productos Z-wave

1.5.4.3.

Protocolo EIB

Es un protocolo creado y registrado por la EIBA(European Instalation Bus Association), el cual es empleado para controlar servicios eléctricos de residencias, viviendas, edificios de negocios, etc. A diferencia de X10 es un protocolo pensado para instalaciones nuevas, es decir, para casas construidas para funcionar con sistemas domóticos. Las instalaciones eléctricas con este protocolo son muy similares a las instalaciones tradicionales, sólo se diferencian en que el usuario utiliza unos interruptores para encender y apagar las luces de su hogar. Los interruptores del sistema EIB permiten la pulsación larga o corta, ofreciendo dieciséis tipos diferentes en la misma llave. Al pulsar de diferentes formas los interruptores, por decir, si se mantienen oprimidos, pueden regular la luminosidad e intensidad de las lámparas, subir o bajar las persianas, etc. Las ventajas que presenta el uso de este protocolo son las siguientes: Ahorro de tiempo: Los tiempos de montaje del sistema pueden reducirse debido a una planificación e instalación adecuada, con la ayuda de un software y con la reducción de la cantidad de cables, el montaje es mucho más fácil. Flexibilidad: Es posible la ampliación o modificación de funciones gracias a la reprogramación de los actuadores y sensores, incluso ampliando la instalación existente. Eficiencia en la comunicación: Los componentes del sistema son compatibles entre sí, creando una comunicación sin problemas o interferencias. Esto garantiza la utilización racional de la energía. Respeto por el medio ambiente: Al aprovecharse al máximo la energía, el sistema brinda un alto grado de efectividad y mejora el manejo de los recursos existentes, repercutiendo en ahorro de dinero.

CAPÍTULO I. MARCO TEÓRICO DOMÓTICA

27

Garantía de futuro y compatibilidad: la normativa de este sistema provee una compatibilidad del 100 % con productos sacados al mercado en próximas fechas, para posteriores actualizaciones y ampliaciones. 1.5.4.4.

LONWORKS

LONWORKS es una plataforma de control creada por la compañía norteamericana Echelon en 1990. El protocolo LonTalk consta de una mezcla de hardware y firmware sobre un chip de silicio: Neuron Chip, cualquier dispositivo LONWORKS, también llamado: nodo, está basado en este microcontrolador. LonMark International es una organización sin ánimo de lucro con más de 500 asociados, que apoya con sus miembros la evolución de estándares y la divulgación de tecnologías de red de LONWORKS para el control y la supervisión de equipos e instalaciones. La plataforma LONWORKS forma parte de varios estándares industriales y constituye un estándar de facto en muchos segmentos del mercado del control, con una tecnología abierta a más de 1000 fabricantes en todo el mundo. LONWORKS se utiliza para el control de sistemas en varios campos, entre los que se encuentran: el control industrial y en el control de transporte ferroviario, naval y aeroespacial, monitorización de contadores de energía, alumbrado público y en la automatización de casas. Sin embargo la mayoría de los 100 millones de aparatos instalados se emplean en la automatización de edificios. Las ventas que presenta son las siguientes: Interoperabilidad: Echelon define la interoperabilidad como la capacidad de integrar productos de distintos fabricantes en sistemas flexibles y funcionales sin necesidad de desarrollar hardware, software o herramientas a medida. Esto trae los siguientes beneficios: • Los productos interoperables permiten a los diseñadores de cada proyecto utilizar el mejor dispositivo para cada sistema o sub-sistema sin verse forzados a utilizar una línea entera de productos de un mismo fabricante. • Los productos interoperables incrementan la oferta del mercado permitiendo a diferentes fabricantes competir en un segmento que de otra manera les estaría completamente prohibido. De esta manera, los diferentes fabricantes se esfuerzan por disponer de la mejor solución y esto se traduce en una mayor calidad y libertad de elección para el usuario final. • La interoperabilidad reduce los costos de los proyectos al no depender de manera exclusiva de un solo fabricante.

CAPÍTULO I. MARCO TEÓRICO DOMÓTICA

28

• Los sistemas interoperables permiten a los responsables de mantenimiento de los edificios y plantas industriales la monitorización de las instalaciones utilizando herramientas estándar, sin importar que empresa ha fabricado cada sub-sistema. Soporta el estándar Internacional (ISO/IEC-14908) así como: • Estándar Europeo (EN-14908). • Estándar Chino (GB/Z20177-2006) • Estándar Estados Unidos (EIA-709-1) • Estándar Europeo de electrodomésticos (CEDEC AIS) Soporta múltiples medios de transmisión (TP, PL, e IP): LONWORKS puede funcionar sobre RS485 a través de cables telefónicos trenzados para el cableado con topología libre (TP), sobre corrientes portadoras: Powerline (PL): muy extendido en urbótica y contadores energéticos y haciendo uso del protocolo de internet (IP). En continuo desarrollo, como la nueva plataforma: LONWORKS 2.0 , que trae un nuevo nivel de funcionamiento, con nuevas versiones más rápidas y eficientes del Neuron Chip, instalaciones simplificadas para las redes de control basadas en la estandarización ISO/IEC 14908 y totalmente compatible con los millones de dispositivos inteligentes de LONWORKS ya desplegados en todo el mundo. En la figura I.10 se muestran algunos productos que funciona bajo el protocolo LONWORKS.

Figura I.10: Algunos productos LONWORKS

CAPÍTULO I. MARCO TEÓRICO DOMÓTICA

1.5.4.5.

29

Protocolo KNX

KNX es una tecnología que apareció a principios de los 90 de la mano de tres protocolos domóticos: Batibus, EIB y EHS, que se unieron en 1997 en un único estándar internacional al que bautizaron con el nombre de KNX. La especificación KNX fue publicada en 2002 por la recién establecida KNX Association. La especificación está basada en la especificación de EIB completada con los mecanismos de configuración y medios físicos nuevos originalmente desarrollados por BatiBUS y EHS. La tecnología KNX está respaldada por la KNX Association, un grupo de compañías líderes en el mercado activas en muchas áreas de aplicación relativas al control de casas y edificios. A nivel mundial, la KNX Association tiene acuerdos partners con más de 21.000 compañías integradoras en 70 países, más de 50 universidades técnicas, así como más de 100 centros de formación. Las ventajas que presenta este protocolo son: Interworking: los productos que son etiquetados con la marca registrada KNX, están obligados a “hablar y comprender” el lenguaje KNX, es decir, son capaces de interpretar correctamente las señales, los bits y los bytes analógicas que van sobre el medio de transmisión que los conecta, como se establece en las Especificaciones KNX. Libertad de elección del amplio número de fabricantes KNX: actualmente, la KNX Association tiene más de 170 empresas de 29 países, que ofrecen más de 7.000 grupos de productos certificados KNX en sus catálogos, englobando más del 80 % de los dispositivos vendidos en Europa para el control de casas y edificios. Soporta el estándar Internacional (ISO/IEC 14543-3) así como: • Estándar Europeo (CENELEC EN 50090 y CEN EN 13321-1). • Estándar Chino (GB/Z 20965). • Estándar Norteamericano (ANSI/ASHRAE 135). Una única herramienta que es independiente de la aplicación y del fabricante llamada "Engineering Tool Software" (ETS) permite el diseño, la implementación y la configuración de la instalación que posea productos certificados KNX. Soporta una completa gama de medios de transmisión (TP, PL, RF e IP): • Par trenzado (KNX TP): KNX es transmitido a través de un cable bus separado, con una estructura jerarquizada en líneas y áreas.

CAPÍTULO I. MARCO TEÓRICO DOMÓTICA

30

• Corrientes portadoras (KNX PL): KNX es transmitido sobre la red eléctrica existente (powerline). • Radio frecuencia (KNX RF): KNX es transmitido por señales de radio. Estos dispositivos pueden ser unidireccionales o bidireccionales. • IP/Ethernet (IP KNX): Este conocido medio de comunicación puede ser usado en conjunción con las especificaciones KNXnet/IP, que permiten enviar tramas KNX encapsuladas en tramas IP. En continuo desarrollo, para la construcción de pasarelas que acoplen dispositivos KNX a otros sistemas (como DALI y BACnet). La principal desventaja de este protocolo es el elevado costo en comparación con otros productos de domótica, aunque hay marcas KNX que se están distinguiendo por su política de precios asequibles sin por ello perder en calidad. En la figura se muestran algunos productos que funcionan con el protocolo KNX.

Figura I.11: Algunos productos KNX

1.5.4.6.

protocolo TCP/IP

La familia de protocolos TCP/IP son un conjunto de protocolos para comunicaciones de datos. Este conjunto toma su nombre de dos de sus protocolos más importantes, el protocolo TCP (Transmission Control Protocol) y el protocolo IP (Internet Protocol). TCP: El Protocolo de Control de Transmisión (TCP) permite a dos anfitriones establecer una conexión e intercambiar datos. El TCP garantiza la entrega de datos, es decir, que los datos no se pierdan durante la transmisión y también garantiza que los paquetes sean entregados en el mismo orden en el cual fueron enviados.

CAPÍTULO I. MARCO TEÓRICO DOMÓTICA

31

IP: El Protocolo Internet (IP) está diseñado para su uso en sistemas interconectados de redes de comunicación de ordenadores por intercambio de paquetes. El protocolo IP proporciona los medios necesarios para la transmisión de bloques de datos llamados datagramas desde el origen al destino, donde origen y destino son hosts identificados por direcciones de longitud fija. El protocolo internet también se encarga, si es necesario, de la fragmentación y el reensamblaje de grandes datagramas para su transmisión a través de redes de trama pequeña.

Capítulo II

Sistemas domóticos existentes Actualmente existen en el mercado tanto privado como en investigación diversas alternativas para realizar una implementación domótica a una vivienda, en este capítulo conoceremos algunos de estos y finalmente se darán a conocer los motivos por los cuales se escogió utilizar una alternativa OpenSource por sobre los demás. Cuando hablamos de un sistema domótico nos estamos refiriendo principalmente al software que cumplirá la función del sistema de control, este elemento se explica en la sección 1.5.1.3. Una primera clasificación que podemos realizar del estos sistemas es diferenciar entre aquellos que son privativos o de código cerrado y aquellos que son Open Source. Sistema privativo: Nos referimos a un sistema que es desarrollado por una entidad en particular y del cual los usuarios no tienen acceso al código fuente del mismo, es decir no puede ser modificado por el usuario, motivo por el cual es el usuario el que debe adecuarse a las características que ofrece el software. Generalmente es necesario el pago de una licencia para poder hacer uso del mismo. Sistema Open Source: Este nos permite el acceso a su código fuente, por lo cual, para una persona capacitada es posible adecuarlo a sus necesidades propias. Aúnque es posible que exista una empresa que se haga cargo del desarrollo principal del mismo, el software Open Source tiene una comunidad de desarrolladores detrás de él, los cuales se encargan de desarrollar nuevas características, reportar y corregir los errores que son encontrados. A pesar de que se puede cobrar un valor por el uso de un software Open Source no es común que esto ocurra, y si se realiza un cobro generalmente es por el servicio técnico y de mantención y no por el software propiamente.

2.1. Sistemas privativos 2.1.1.

DOMOLON

El sistema DOMOLON® se define como un sistema de automatización de viviendas de arquitectura distribuida, multimedio, con protocolo LonWorks® , modular, ampliable, y compatible con la instalación eléctrica convencional, de tal manera que permite realizar la preinstalación domótica

32

CAPÍTULO II. SISTEMAS DOMÓTICOS EXISTENTES 33

de la vivienda en fase de construcción, sin necesidad de decidir en esta fase la instalación del sistema. Es desarrollado y distribuido por ISDE Ing. S.L. - Ingeniería de Sistemas Domóticos y Electrónicos. 2.1.1.1.

Descripción del sistema

DOMOLON® es un sistema de automatización de viviendas basado en una arquitectura distribuida y multimedio. Se compone básicamente de nodos de control estándar, nodos de supervisión, nodos exteriores, unidad de alimentación y nodos de comunicaciones. Todos los elementos del sistema DOMOLON® se conectan a una misma red de comunicaciones (red domótica), con topología tipo bus, para tomar la alimentación e intercambiar información entre ellos. 2.1.1.2.

Tipo de Arquitectura

La arquitectura de un sistema domótico, como la de cualquier sistema de control, especifica el modo en que los diferentes elementos de control del sistema se van a ubicar. Existe dos arquitecturas básicas: la arquitectura centralizada y la distribuida. Hay sistemas que son de arquitectura distribuida en cuanto a la capacidad de proceso, pero no lo son en cuanto a la ubicación física de los diferentes elementos de control y viceversa, sistemas que son de arquitectura distribuida en cuanto a su capacidad para ubicar elementos de control físicamente distribuidos, pero no en cuanto a los procesos de control, que son ejecutados en uno o varios procesadores físicamente centralizados. En los sistemas de arquitectura distribuida que utilizan como medio de transmisión el cable, existe un concepto a tener en cuenta que es la topología de la red de comunicaciones. La topología de la red se define como la distribución física de los elementos de control respecto al medio de comunicación (cable). Entre las características que destacan al sistema DOMOLON® se encuentra la de ser de arquitectura distribuida tanto de capacidad de proceso como de ubicación física de los diferentes elementos de control, con topología de la red básica tipo bus. Cada elemento del sistema tiene su propia capacidad de proceso y puede ser ubicado en cualquier parte de la vivienda. Esta característica proporciona al instalador domótico una libertad de diseño que le posibilita adaptarse a las características físicas de cada vivienda en particular. 2.1.1.3.

Medio de Transmisión

En todo sistema domótico con arquitectura distribuida, los diferentes elementos de control deben intercambiar información unos con otros a través de un soporte físico (par trenzado, línea de

CAPÍTULO II. SISTEMAS DOMÓTICOS EXISTENTES 34

potencia o red eléctrica, radio, infrarrojos, etc). La velocidad a la cual se intercambian información los diferentes elementos de control de la red se denomina velocidad de transmisión. El sistema DOMOLON® utiliza como medio de comunicación básico un par trenzado a una velocidad de transmisión de 78 Kbps, pero puede incorporar nodos de control cuyo medio de transmisión no es el básico (78 Kbps), línea de potencia y radio. A esta característica se la denomina multimedio. Además, aunque la velocidad elegida para el medio de transmisión básico del sistema DOMOLON® es de 78 Kbps, ésta se puede variar en función de las necesidades de la red en cuanto a volumen de tráfico de datos. 2.1.1.4.

Protocolo de comunicaciones

Una vez establecido el soporte físico y la velocidad de comunicaciones, un sistema domótico se caracteriza por el protocolo de comunicaciones que utiliza, que no es otra cosa que el ‘idioma’ o formato de los mensajes que los diferentes elementos de control del sistema deben utilizar para entenderse unos con otros y que puedan intercambiar su información de una manera coherente. En este apartado, el sistema DOMOLON® está desarrollado bajo protocolo LonTalk® , que es una estándar mundial de hecho y bajo el que desarrollan productos más de mil empresas en todo el mundo. 2.1.1.5.

Funciones que permite implementar

DOMOLON® permite controlar las siguientes funciones: Iluminación Encendido y apagado de las luces por tiempo o por detección de presencia. Encendido de las luces mediante pulsadores y no interruptores. Posibilidad de dejar la luz fija. (modo manual). "Con este sistema, cuando usted entre en una habitación, la luz se encenderá automáticamente y se apagará cuando se vaya." Seguridad: Esta opción aprovecha los detectores instalados del sistema de control integral, para vigilar la vivienda. Incorpora los siguientes elementos: Nodo de Seguridad. Unidad exterior.

CAPÍTULO II. SISTEMAS DOMÓTICOS EXISTENTES 35

Simulador de presencia. "Durante su ausencia, el sistema queda en vigilancia para detectar cualquier intrusión en la vivienda. Por la noche simula presencia encendiendo y apagando aleatoriamente la luces elegidas." Controlador Telefónico: Esta opción permite el acceso desde cualquier teléfono, a cualquiera de los sistemas que se hayan instalado en la vivienda. Cualquiera de las operaciones sobre el sistema, éste las confirmará mediante mensajes hablados. Cuando se produce una alarma en la vivienda, el sistema se lo comunica de inmediato mediante mensajes hablados. El usuario puede llamar a su vivienda para activar o desactivar cualquiera de sus funciones, cambiar número de teléfonos de aviso, consultar eventos producidos en su ausencia, etc... Todo esto se puede realizar desde cualquier teléfono: el propio de la vivienda, un inalámbrico, o un móvil. Medidor de luz exterior: Esta opción se encarga de medir la luz exterior de su vivienda y comunicárselo a los demás nodos del sistema. Dado que el criterio de decisión día-noche es subjetivo, el usuario dispone de diez niveles de selección. Encendido y apagado automático de las luces exteriores (porche, jardín, entrada garaje, piscina, etc..). "El usuario se despreocupa de la programación del encendido y apagado de las luces exteriores, porque este nodo lo hace por él y nunca se quedarán las luces encendidas de día en los cambios horarios y de estación." Alarmas técnicas: Esta opción se encarga de detectar los fallos producidos en sus instalaciones como por ejemplo: Escapes de agua. Emanación de humos y gas. Aumentos bruscos de temperatura. Falta de suministro eléctrico. "Con esta opción el usuario puede estar tranquilo, pues en caso de fuga de agua, el sistema corta la acometida general de agua, y en caso de fuga de gas, actuaría inmediatamente sobre la válvula de corte, evitando explosiones."

CAPÍTULO II. SISTEMAS DOMÓTICOS EXISTENTES 36

Domoportero: El nodo domoportero se encarga de conectar el portero automático de la vivienda con la red de telefonía interna. De esta forma, cuando alguien llama al portero automático, el usuario ya no tiene porqué levantarse para ir hasta el ’telefonillo’ para hablar y abrir la puerta. Puede utilizar cualquier teléfono de la vivienda, incluso el inalámbrico. Como funciones extra, realiza desvio de llamadas y advierte al usuario mediante voz, cuando descuelga el teléfono, de la procedencia de la llamada. 2.1.1.6.

Resumen características técnicas

Medio de transmisión

Cable trenzado. Red eléctrica (Powerline) Internet y Ethernet.

Tipo Característica

Propiedades

Tipología del sistema

Sistema distribuido con protocolo abierto e interoperable según norma EN14908.

Arquitectura y Topología

Arquitectura de topología libre (FTT-10) o BUS (RS-485) a una

de red

velocidad de 78.125 bps. En caso de topología BUS es posible llegar a 1,25Mbps

Protocolo de

LonWorks abierto e interoperable. Velocidad: 78Kps –

comunicaciones

1,25Mbps

Características E/S

Entradas de Temperatura Humedad, iluminación y contactos libre de potencial. Salidas analógicas 0..10V, por relé, estado sólido. Conexión con puertos serie RS-232. Conexiones con Internet. Pasarelas a sistemas Mitsubisi, Daikin, Toshiba, Panasonic, Schindler, DALI, Notifier, etc.

Capacidad de ampliación

Sistema desde 1 nodo hasta 32.000 nodos completamente distribuido y escalable. Sin límite de pantallas táctiles.

CAPÍTULO II. SISTEMAS DOMÓTICOS EXISTENTES 37

Medio de transmisión

Cable trenzado. Red eléctrica (Powerline) Internet y Ethernet.

Interfaces de usuario

Pantallas táctiles a color con diseño gráfico a medida Botoneras de estética avanzada de distintos fabricantes empotrables en caja de mecanismos eléctricos estándar. Aplicación PDA o mando universal personalizable Servidor Web personalizable. Supervisión y control de la instalación por SMS o marcación telefónica. Media Center.

Aplicaciones

Supervisión de alarmas técnicas (médica, fuego, gas, humo, inundación, fallo eléctrico, etc), control de iluminación, climatización, calefacción, persianas, función domoportero e integración de diferentes sistemas por puerto serie RS232.

Tipología de vivienda

Viviendas unifamiliares, apartamentos, urbanizaciones de viviendas o bloques de apartamentos con supervisión comunitaria y apartamentos tutelados

Implantación en el

ISDE fabrica el sistema en España desde 1994 con más de

mercado

6000 instalaciones realizadas.

Figura II.1: Esquema de un sistema Domolon

CAPÍTULO II. SISTEMAS DOMÓTICOS EXISTENTES 38

2.1.2.

SICOV

También desarrollado y distribuido por ISDE Ing. S.L., a diferencia de DOMOLON este es un sistema de Control de Vivienda Centralizado de Bajo Costo, fácil de instalar. SICOV es un sistema de control de viviendas que utiliza la tecnología LonWorks. El sistema SICOV se localiza dentro de la vivienda, y permite gracias a su panel frontal, darle al usuario la posibilidad de activar, controlar y configurar su vivienda, además de poder gestionarla de forma remota. 2.1.2.1.

Características

Sistema integrado de control de viviendas. Sistema centralizado de bajo coste. Sencilla interfaz visual de usuario. Fuente de alimentación propia y batería de reserva. Alimentación de sensores a 12V proporcionada por el equipo. Cuatro modelos con diferentes funcionalidades. Posibilidad de supervisión comunitaria de viviendas en conserjería. Compatible con el servidor Web, para control y supervisión de la vivienda desde Internet. 2.1.2.2.

Características técnicas

Sus principales características se muestran en la tabla siguiente. Característica

Valor

Alimentación

110 V AC

Potencia Consumida

< 6 Watts

Contacto de conmutación

Relé con potencia sobre contacto de 1000 VA

Medida de temperatura

2 canales (temperatura interior y exterior).

Velocidad

78 KBPS

Temperatura de funcionamiento

0ºC...+50ºC

CAPÍTULO II. SISTEMAS DOMÓTICOS EXISTENTES 39

2.1.2.3.

Funcionalidades

El SICOV posee 7 entradas genéricas y 1 para sonda de temperatura más 4 salidas genéricas y 1 para la sirena interior de 110 decibelios. La funcionalidad que puede proporcionar SICOV es : Iluminación automática de un circuito de luz. Vigilancia anti-intrusión en dos zonas independientes. Vigilancia de alarmas técnicas:Escapes de agua, Escapes de gas, Fuego, Humo. Fuente de alimentación propia y batería de reserva. Detección de fallo de suministro eléctrico. Encendido / apagado de la calefacción por teléfono (local o remoto). Alarma médica, mediante pulsador de radiofrecuencia se avisa de la incidencia (local o remoto). Domoportero, Controlador telefónico, Servidor Web, Supervisión comunitaria.

Figura II.2: Posibilidades de un sistema SICOV

CAPÍTULO II. SISTEMAS DOMÓTICOS EXISTENTES 40

2.1.3.

Cardio

Desarrollado por la empresa SECANT®, es un sistema domótico basado en una unidad central que gestiona sus diferentes entradas y salidas siguiendo perfiles de programación y configuración. Permite el control y gestión, de manera local o remota, de los equipos de la vivienda (climatización, dispositivos eléctricos e iluminación) y de un sistema de seguridad propio. 2.1.3.1.

Funciones que permite implementar

Funciones generales Control de todas las funciones a través de Pantalla Sensitiva, por teléfono y con Escenas. Hasta 40 Escenas (macros) fácilmente programables por el usuario. Llaves Digitales de activación / desactivación personalizada de Seguridad y Escenas. Autonomía propia en caso de corte de energía. Ayuda al usuario en cada pantalla. Dos Niveles de programación (Usuario e Instalador). Configuración de fecha (Horario Verano e Invierno) Paralelo / Meridiano. Avisos luminosos opcionales en caso de llamadas telefónicas. Programación de agenda para avisos y recados personales. Funciones de iluminación Control de iluminación de hasta 40 Puntos de la casa y Jardines. Función Dimmer, ON / OFF y autoapagado. Combinación con Sistema de Seguridad y Escenas. Parpadeo opcional de luces en caso de disparo del Sistema de Seguridad. Funciones en seguridad Manejo de 16 Zonas mediante todo tipo de sensores (magnéticos, infrarrojos, humo, gas, etc.). Simulación de Presencia. Llamadas de Emergencia automáticas (Policía, Medico, Bomberos). Combinación automática o personalizada con sistema de iluminación. Sirena de gran potencia. Registro en Libro de Eventos sobre todo lo que ocurra en seguridad.

CAPÍTULO II. SISTEMAS DOMÓTICOS EXISTENTES 41

Funciones telefónicas Control telefónico de todas las funciones (red fija o celular). Activaciones desde cualquier teléfono interno sin llamada al exterior. Menús hablados muy sencillos de seguir y en español. Compatible y fácilmente conectable a Centrales de Monitoreo. Llamadas telefónicas automáticas hasta a 4 números en caso de emergencia. Funciones en riego automatizado Manejo de tantas Zonas de Riego como se desee. Programaciones diarias y semanales. Combinable con sensores de humedad. Funciones en climatización Control automático de la temperatura a través del sensor de temperatura ambiente incorporado en la pantalla. Permite activar y desactivar la caldera y aire acondicionado en base a la programación de temperatura elegida.

Figura II.3: Esquema CARDIO

2.1.3.2.

Protocolo de comunicaciones

El sistema CARDIO utiliza un protocolo propietario para la comunicación entre la central de gestión y los diferentes dispositivos conectados a ella (módulos de salida, interfaz de usuario, etc.).

CAPÍTULO II. SISTEMAS DOMÓTICOS EXISTENTES 42

Los módulos de salida actúan sobre los equipos a controlar de dos maneras distintas: los módulos X10 lo hacen por corrientes portadoras, mientras que los módulos dimmer utilizan un cableado dedicado (es decir, sin ningún protocolo). 2.1.3.3.

Medios de transmisión

Se utiliza un cableado específico (en su mayoría, un bus de dos hilos) para unir cada uno de los módulos y dispositivos a la central de gestión, mientras que los equipos a controlar están conectados por cableado dedicado a los módulos dimmer y a los relés de salida de la central, y/o conectados a través de la red eléctrica de la vivienda a los módulos X10. 2.1.3.4.

Interfaz de usuario

El control de todas las funciones del sistema CARDIO se puede hacer de varias formas: Desde una pantalla táctil (mediante un sistema de iconos). Desde cualquier teléfono interior o exterior a la vivienda (mediante mensajes de voz digitalizada).

2.1.4.

Homeseer

Es un software pensado para controlar viviendas domóticas con tecnología X-10, se instala en un PC con sistema operativo Windows. HomeSeer ha sido diseñado para controlar iluminación, aparatos, seguridad, climatización, y cine en casa, todo integrado en un único interfaz y utilizando un ordenador compatible con Windows. Al estar basado en un servidor web, es posible monitorizar la vivienda remotamente a través de internet, aprovechando la conexión permanente que tengamos contratada. 2.1.4.1.

Principales características

Servidor web integrado que le permite el control de todos sus dispositivos desde su red de área local o Internet. Conexión segura al servidor web mediante password. Soporte de PDA, controle sus dispositivos desde su PDA o PALM. Si tiene un cliente de correo compatible con MAPI, HomeSeer podrá mostrarle su correo local desde una página web.

CAPÍTULO II. SISTEMAS DOMÓTICOS EXISTENTES 43

Soporta la nueva tecnología de automatización Z-Wave. Permite el control de cualquier dispositivo compatible X10, incluyendo dispositivos que soportan comandos “preset dim” y “Extended Code dimming” como los micromódulos de iluminación y dispositivos Leviton (modelos 6381, X10 LM14A/PLM21 y otros). Los comandos pueden ser embebidos en mensajes de correo electrónico. Esto le permite enviar mensajes para encender y apagar dispositivos. Los eventos pueden ser ejecutados por hora, comando X10 recibido, amanecer/anochecer, cambio en el estado de un dispositivo, cambio en el valor de un dispositivo, infrarrojo recibido, y varias condiciones como el tiempo que ha pasado encendido o apagado, por correo o recurrentes.

Figura II.4: Esquema sistema Homeseer

2.1.5.

HomeOS

Es un sistema operativo que esta siendo desarrollado por Microsoft, actualmente el prototipo de HomeOS se ha licenciado de forma gratuita y se ha entregado a instituciones académicas para fomentar la enseñanza y la investigación sobre hogares conectados y dispositivos. También se ofrece un SDK para dispositivos Z-Wave.

CAPÍTULO II. SISTEMAS DOMÓTICOS EXISTENTES 44

HomeOS proporciona un control centralizado y global de los dispositivos de la casa. Proporciona a los usuarios controles intuitivos para gestionar sus dispositivos. Proporcionó a los desarrolladores de abstracciones de alto nivel para organizar los dispositivos en el hogar. HomeOS está acoplado con un HomeStore a través del cual los usuarios pueden añadir y obtener fácilmente aplicaciones que son compatibles con los dispositivos en sus hogares y obtener todos los dispositivos adicionales que son necesarios para las aplicaciones deseadas. El prototipo actual incluye soporte para una amplia gama de dispositivos (por ejemplo, interruptores, cámaras, televisores) y aplicaciones. Los resultados experimentales muestran que es fácil para los desarrolladores crear aplicaciones y para los usuarios no técnicos gestionar sus redes domésticas con HomeOS. Una docena de casas están probando este prototipo, y más de 50 estudiantes están desarrollando aplicaciones y los controladores de la misma.

2.2. Sistemas Open Source 2.2.1.

MisterHouse

MisterHouse es un sistema domótico open source, es libre y gratuito. Está escrito en Perl y utiliza tecnologías web con sockets controladas por voz y puerto serie. Actualmente funciona bajo plataformas, Windows 95/98/NT/2k/XP y la mayoría de los sistemas basados en Unix, incluidos Linux y Mac OSX. MisterHouse controla desde su interfaz todos los dispositivos que componen un sistema domótico. Se trata de un centro de control, a través del cual podrás acceder, programar y manipular todos los terminales del sistema que hayas instalado.El programa está diseñado para gestionar el uso de las luces, llamadas de teléfono, radio, televisión, calendario, relojes, avisos, cámaras de seguridad y mensajes hablados. 2.2.1.1.

Características

Contiene una interfaz web que permite la comunicación a través de una intranet o Internet. Existen programas adicionales como MS VR (Windows) o Festival (Linux) que permiten a MH comunicarse de forma oral con el usuario. Lee y escribe información a cualquier elemento conectado por puerto serie. Lee y escribe emails, además de consultar páginas webs. Usa las páginas webs de televisión para programar el DVD grabador o lanzar recordatorios. Envía y recibe mensajes desde mensajería instantánea.

CAPÍTULO II. SISTEMAS DOMÓTICOS EXISTENTES 45

Entorno multiplataforma. 2.2.1.2.

Ejemplos posibles con Mister House

Apagar la calefacción después de 20 minutos a 24 grados. Aviso, el sol brilla al 32 por ciento, la temperatura afuera son 24 grados, por eso estoy abriendo las cortinas a las 8:07 AM. La furgoneta va dirección norte a 58 km/h 0.8 km al Oeste de Málaga. El coche esta aparcado en la Universidad. Hay un nuevo email en la bandeja de entrada. Puede controlar multitud de módulos X10. 2.2.1.3.

Estado actual de desarrollo

Actualmente el proyecto se encuentra abandonado, aunque las ultimas versiones son totalmente funcionales. La ultima versión sacada corresponde al 01/12/2008.

2.2.2.

Heyu

Heyu es un programa de consola basada en texto para controlar a distancia las luces y electrodomésticos en el hogar o la oficina. El código fuente completo está disponible bajo la licencia GNU GPLv3. Heyu utiliza la interfaz de la computadora CM11A para enviar y recibir señales X10 de control sobre las líneas de alimentación de CA a los módulos que pueden convertir Sí, No, o Dim a lámparas o aparatos conectados. Es capaz de almacenar un calendario de eventos programados en la memoria del CM11A para la ejecución cuando el ordenador está apagado o desconectado. Heyu admite un W800RF32A, MR26A, o un receptor de RF RFXCOM conectado a un segundo puerto como un dispositivo de entrada auxiliar para señales de RF de X10 y otros transmisores compatibles. Heyu también puede utilizar un interfaz X10 CM17A para transmitir señales de radiofrecuencia. 2.2.2.1.

Características

Altamente configurable y capaz de transmitir y recibir cualquier señal X10 apoyado por el CM11A.

CAPÍTULO II. SISTEMAS DOMÓTICOS EXISTENTES 46

Monitorea y / o registra todas las señales X10 en la línea eléctrica. Mantiene un registro del estado (On, Off nivel, Dim) de módulos basados en las señales recibidas o transmitidas X10. Una variedad de lámparas y diferentes tipos de aparatos y módulos son compatibles, así como módulos RCS-compatibles con termostatos y termómetros remotos, y controladores del obturador de motores. Incluye los decodificadores de las señales de RF recibidas por un receptor W800RF32A o RFXCOM de sensores de seguridad remotos y sensores RFXSensor de temperatura , humedad y presión barométrica, y con receptores de señales RF RFXCOM a 433,92 MHz de sensores de Agua, Gas, termostatos Digimax, mandos a distancia Kaku y Oregon Scientific, Electrisave y sensores Owl CM119. Ejecutar scripts o comandos recibidos por o transmitidos por la línea eléctrica mediante X10 o señales de RF y registrar los estados de los módulos. Sube calendario de actividades programadas y macros a la memoria CM11A para funcionar sin un ordenador. Los eventos pueden ser programados para su ejecución en tiempos de reloj local o relativo a los tiempos de amanecer al día o al anochecer. Los horarios pueden ser cargados en el año calendario, o alternativamente, para un período que comience en la fecha actual y que se extiende de un año en el futuro. Fechas del evento y los tiempos se ajustan automáticamente para los años bisiestos y los períodos de hora estándar. Controla múltiples interfaces CM11A conectados a diferentes puertos serie en el mismo equipo. Con un dispositivo opcional de CM17A, transmite señales de RF X10 a un transceptor para la conversión a señales de línea de potencia (posiblemente en una rama separada de la línea de CA), o a un receptor de RF X10 conectado a un equipo diferente. Cualquiera de las 64.000 diferentes señales de RF soportados por el CM17A pueden ser transmitidas. 2.2.2.2.

Sistemas operativos soportados

Heyu es desarrollado y mantenido bajo Linux. Pero existen opciones para compilarlo para Mac OS X (Darwin), FreeBSD, NetBSD, OpenBSD, SunOS / Solaris, SCO Unix, AIX, NextStep, y OSF lo cual se ha llevado a cabo con la ayuda de los usuarios de la Comunidad de Heyu.

CAPÍTULO II. SISTEMAS DOMÓTICOS EXISTENTES 47

2.2.2.3.

Estado de desarrollo

Heyu esta en desarrollo actualmente, la ultima versión estable fue liberada el 17/05/2012.

2.2.3.

OpenDomo

OpenDomo es un sistema de control domótico libre y seguro. La licencia bajo la que se está desarrollando el proyecto es la Licencia Pública General (GPL.) . Esta licencia garantiza la libertad en el uso del software, uno de los principales valores de la sociedad tecnológica actual. En términos generales, esto implica que OpenDomo puede ser usado, copiado, modificado y distribuido libremente. Fue fundado en 2006 por Daniel Lerch y rediseñado íntegramente un año después junto a Oriol Palenzuela. Actualmente, OpenDomo es un proyecto en activo desarrollo, y ya ofrece los servicios básicos de todo sistema de control domótico: control de dispositivos eléctricos, videovigilancia, acceso remoto, etc. 2.2.3.1.

Principales características de OpenDomo

Soporte de diferentes protocolos: OpenDomo surge de la necesidad de unificar las diferentes tecnologías existentes en el mundo de la domótica, como uPnP, X10, EIB, etc, con el protocolo de comunicaciones más usado en la actualidad TCP/IP. Así, una sistema OpenDomo deberá permitir el uso de hardware de diferentes fabricantes y estándares, aunque principalmente se centrará en dispositivos TCP/IP. Accesibilidad: El control del hogar debe ser sencillo, al alcance incluso de un niño, y debe ofrecer ventajas al usuario, no dolores de cabeza y la obligación de estar continuamente consultando el manual. Es por esto que OpenDomo pretende crear un sistema fácil de usar e intuitivo. Además, OpenDomo se centra en integrar todos los componentes del hogar, desde el control de sensores y actuadores, los sistemas multimedia, la seguridad, etc. Todos controlables desde una misma interfaz: PC, PDA, Teléfono Móvil, etc. Seguridad: Un sistema de domótica debe ser seguro, pues controlará la apertura de puertas, persianas, sistemas de videovigilancia, alarmas, etc. Un acceso indeseado a estos sistemas o un fallo de funcionamiento comprometerá la seguridad física del usuario. Es por este motivo que uno de los objetivos principales de OpenDomo es construir un sistema seguro, estable y tolerante a fallos. Red de agentes distribuidos: Una instalación OpenDomo está formada por gran cantidad de dispositivos de bajo coste, como pueden ser cámaras IP, sistemas embebidos (Agentes OpenDomo), Sistemas Multimedia, placas de control, etc.

CAPÍTULO II. SISTEMAS DOMÓTICOS EXISTENTES 48

Conseguir tolerancia a fallos en estas circunstancias resulta bastante complicado. OpenDomo afronta el problema mediante una red de agentes distribuidos, considerando un agente distribuido como un sistema hardware que corre la distro OpenDomo. Un Agente se encarga de gestionar un conjunto de servicios de la red OpenDomo, siendo el responsable de los mismos. En caso de caída de un Agente o de cualquier fallo que impida a este continuar dando el servicio, otro agente de la red ocupará su lugar. De esta manera, se consigue que los servicios importantes como alarmas, alertas por SMS, etc, no dejen de funcionar a menos que caiga toda la red domótica. Módulos OpenDomo: El proyecto se organiza en toda una serie de módulos que juntos forman OpenDomo. El módulo principal es opendomo-distro. Este consiste en una distribución GNU/Linux cuyo objetivo principal es tener un reducido tamaño. Sobre opendomo-distro corren los demás módulos, extendiendo así las funcionalidades de la red domótica. Algunos de los módulos base de OpenDomo son OpenDomo-cgi que implementa el sistema gráfico que permite administrar la red domótica, opendomo-discovery que permite a los agentes comunicarse en la red, opendomo-pkg que forma el sistema de paquetes de OpenDomo, opendomo-events que gestiona la comunicación de eventos y opendomo-koloader, que permite la carga automática de drivers desde la red. Otros módulos de OpenDomo que no forman parte del sistema base son opendomo-video, para la gestión de cámaras de vigilancia, opendomo-ai que implementa la inteligencia del sistema, opendomo-control que permite el control de placas hardware (I/O) y opendomoupnp que da soporte para el protocolo uPnP. Interfaz gráfica: La interfaz gráfica principal de OpenDomo se basa en un sistema CGI que corre como servicio en uno de los agentes (opendomo-cgi). Este servicio implementa un sistema de procesado de scripts que permite de forma sencilla y muy rápida crear aplicaciones. Estas aplicaciones son pequeños scripts que siguen un formato especificado y documentado. Soporta cualquier tipo de lenguaje que pueda funcionar sobre GNU/Linux (base de opendomo-distro) aunque el preferido es shellscript, por no tener dependencias externas a opendomo-distro y funcionar sobre cualquier plataforma de hardware. Así, para añadir una funcionalidad a OpenDomo solo será necesario crear un conjunto de scripts y empaquetarlos en el formato de paquetes soportado por opendomo-pkg. Tecnología base: Los diferentes módulos que forman OpenDomo se desarrollan principalmente en C y shellscript. Opendomo-distro usa un kernel GNU/Linux y el conjunto de binarios BusyBox, la librería de C uclibc y su su sistema buildroot. Presente y futuro: Ya existen productos basados en OpenDomo, y poco a poco se irán sumando más. Al mismo tiempo, el equipo de OpenDomo se concentra en la constante mejora de las prestaciones y los niveles de seguridad, así como la publicación de nuevas funcionalidades y soporte para nuevas tecnologías y estándares.

CAPÍTULO II. SISTEMAS DOMÓTICOS EXISTENTES 49

Domino: Es una plataforma de automatización compatible con Arduino, diseñada especialmente para gestionar automatismos de todo tipo, de forma sencilla y a muy bajo coste. De esta manera se puede crear agentes para OpenDomo fácilmente y usando una plataforma hardware conocido como es Arduino. 2.2.3.2.

Algunas posibles implementaciones

Algunas de las funciones básicas que es posible implementar con OpenDomo pueden ser las siguientes: Apagar todas las luces al salir de casa. Organizar dispositivos por zona y función. Controlar todas las cámaras de un vistazo. Recibir alarmas en tiempo real. Simulación de presencia. Programar el hilo musical. 2.2.3.3.

Estado actual de desarrollo

Tanto OpenDomo como domino son proyectos que están en constante desarrollo, actualmente la última versión estable de OpenDomo es la v.0.9.8 que fue publicada el 10/05/2012 y la última versión de Domino es la 1.0.0. Ambas versiones pueden ser descargadas desde la pagina web del proyecto http://es.opendomo.org/. Existe además una amplia gama de dispositivos y kits de desarrollo comercializados que hacen uso de Opendomo, entre ellos: ODNetwork: Es un completo ordenador diseñado para el control doméstico, tanto para domótica IP como videovigilancia. Consiste en un ordenador de bajo consumo, silencioso y de muy reducidas dimensiones con la última versión estable de OpenDomo, especialmente compilada y configurada para su óptimo funcionamiento en esta plataforma. Basta con un único ODNetwork para poder controlar todos los elementos de un sistema. ODControl: Es el controlador IP de OpenDomo, que actúa sobre elementos eléctricos y conoce el estado de sensores. Se accede a él desde un ordenador o smartphone gracias a su interfaz web. Una de sus principales características es la versatilidad, que le permite adaptarse a cualquier uso que queramos darle. El ODControl posee una versión de Domino instalada.

CAPÍTULO II. SISTEMAS DOMÓTICOS EXISTENTES 50

2.3. Motivos de la elección de OpenDomo Los motivos para elegir OpenDomo por sobre otro de los sistemas indicados en este capitulo podemos definirlos como los siguientes: 1. Es software libre y gratuito: Este es el principal motivo por el cual se eligió este sistema, ya que al ser Software Libre nos permite conocerlo a fondo y poder modificarlo en el caso de ser necesario para adaptarlo a nuestra necesidades y además sin ningún costo. Esta es una gran ventaja por sobre los sistemas privativos que se indican en la sección 2.1, ya que en estos no es posible acceder al código fuente del software e incluso en el caso de Cardio usa un protocolo de comunicación que también es cerrado. Además de esto debemos sumar el costo de estos sistemas el cual por lo general es bastante elevado. Frente a las otras opciones OpenSource descritas en la sección 2.2 OpenDomo tiene la ventaja de ser un sistema operativo diseñado para su uso en domótica, mientras que las demás opciones son un software que corre sobre un sistema operativo ya instalado en un equipo, además MisterHouse tiene su desarrollo detenido desde el 2008 por cual no es un programa que este actualizado. 2. Soporta muchos de los diversos protocolos usados en domótica. OpenDomo soporta los protocolos mas usados en domótica, a diferencia de las demás opciones mostradas, que por lo general tienen soporte para un solo protocolo que es para el cual están desarrollados, como es el caso de DOMOLON y SICOV que funcionan bajo el protocolo LonWorks y los demás sistema vistos tiene soporte únicamente para X10 o Zwave. Además al ser software libre podemos implementar el soporte para cualquier protocolo estándar que sea necesario. 3. Posee una documentación bastante extensa. Al ser un proyecto Open Source OpenDomo posee una extensa documentación creada por la comunidad existente detrás del proyecto aparte de la generada por lo responsables principales. 4. No necesita de un hardware caro para funcionar. Al ser OpenDomo un sistema operativo completo basado en Linux, esta diseñado para correr de manera embedida en hardware poco potente, lo cual abarata los costos de implementación de un sistema domótico completo. 5. Es totalmente compatible con los dispositivos de Arduino. Opendomo esta diseñado para comunicarse de manera perfecta con los dispositivos Arduino, ya que este es el hardware que se prefirió para usarlo como los dispositivos que cumplen las funciones de sensores y actuadores. El motivo de la elección de Arduino es que son dispositivos de bajo costo pero una buena eficiencia y además es Open Hardware, es

CAPÍTULO II. SISTEMAS DOMÓTICOS EXISTENTES 51

decir, que los planos para su construcción propia también se encuentran disponibles, por lo cual tienen una filosofía igual a la de OpenDomo. 6. Tiene en forma paralela el desarrollo de Domino. De manera parala se desarrolla Domino, el cual es el equivalente a la distribución OpenDomo, pero para ser instalado en un dispositivo Arduino Ethernet, esto permite que se puedan implementar agentes que se comuniquen con el controlador principal sin la necesidad de un PC para cada agente. 7. Esta en constante desarrollo y se están desarrollando dispositivos de manera comercial. OpenDomo esta siendo desarrollado actualmente a una gran velocidad, ya que cuenta con una comunidad bastante grande. Además se están desarrollando dispositivos comerciales, lo que asegura que se generaran mejoras constantes.

Capítulo III

Arduino 3.1. Conociendo los dispositivos Arduino 3.1.1.

Descripción de Arduino

Es una plataforma de desarrollo de computación física (physical computing) de código abierto, basada en una placa con un sencillo microcontrolador y un entorno de desarrollo para crear software para la placa. Puedes usar Arduino para crear objetos interactivos, leyendo datos de una gran variedad de interruptores y sensores y controlar multitud de tipos de luces, motores y otros actuadores físicos. Los proyecto de Arduino pueden ser autónomos o comunicarse con un software que se ejecute en tu ordenador (ej. Flash, Processing, MaxMSP). La placa puedes montarla tu mismo o comprarla ya lista para usar, y el software de desarrollo es abierto y lo puedes descargar gratis. El lenguaje de programación de Arduino es una implementación de Wiring, una plataforma de computación física parecida, que a su vez se basa en Processing, un entorno de programación multimedia. En la figura III.1 se muestra un ejemplo de una placa Arduino.

Figura III.1: Placa Arduino

3.1.2.

Ventajas de Arduino sobre otras plataformas de hardware

Hay muchos otros microcontroladores y plataformas con microcontroladores disponibles para la computación física. Parallax Basic Stamp, BX-24 de Netmedia, Phidgets, Handyboard del MIT, y muchos otros ofrecen funcionalidades similares. Todas estas herramientas organizan el complicado trabajo de programar un microcontrolador en paquetes fáciles de usar. Arduino, además de 52

CAPÍTULO III. ARDUINO

53

simplificar el proceso de trabajar con microcontroladores, ofrece algunas ventajas respecto a otros sistemas a profesores, estudiantes y amateurs: 1. Asequible: Las placas Arduino son más asequibles comparadas con otras plataformas de microcontroladores. La versión más cara de un modulo de Arduino puede ser montada a mano, e incluso ya montada cuesta bastante poco. 2. Multi-Plataforma: El software de Arduino funciona en los sistemas operativos Windows, Macintosh OSX y Linux. La mayoría de los entornos para microcontroladores están limitados a Windows. 3. Entorno de programación simple y directo: El entorno de programación de Arduino es fácil de usar para principiantes y lo suficientemente flexible para los usuarios avanzados. Pensando en los profesores, Arduino está basado en el entorno de programación de Procesing con lo que el estudiante que aprenda a programar en este entorno se sentirá familiarizado con el entorno de desarrollo Arduino. 4. Software ampliable y de código abierto: El software Arduino esta publicado bajo una licencia libre y preparado para ser ampliado por programadores experimentados. El lenguaje puede ampliarse a través de librerías de C++, y si se está interesado en profundizar en los detalles técnicos, se puede dar el salto a la programación en el lenguaje AVR C en el que está basado. De igual modo se puede añadir directamente código en AVR C en tus programas si así lo deseas. 5. Hardware ampliable y de Código abierto: Arduino está basado en los microcontroladores ATMEGA168, ATMEGA328 y ATMEGA1280. Los planos de los módulos están publicados bajo licencia Creative Commons, por lo que diseñadores de circuitos con experiencia pueden hacer su propia versión del módulo, ampliándolo u optimizándolo. Incluso usuarios relativamente inexpertos pueden construir la versión para placa de desarrollo para entender cómo funciona y ahorrar algo de dinero.

3.1.3.

El hardware de Arduino

Hay multitud de diferentes versiones de placas Arduino. La actual placa básica, el Duemilanove, usa Atmel ATmega328. La anterior Diecimila, y las primeras unidades de Duemilanove usaban el Atmel ATmega168, mientras que las placas mas antiguas usan el ATmega8. El Arduino Mega esta basado en el ATmega1280. 3.1.3.1.

Los tipos de placas Arduino disponibles

Duemilanove: Esta es la ultima revisión de la placa Arduino USB básica. Se conecta al ordenador con un cable USB estándar y contiene todo lo necesario para programar la placa. Se puede

CAPÍTULO III. ARDUINO

54

ampliar con gran variedad de shields: placas de extensión con funcionalidades especificas. Esta es una placa con microcontrolador basada en el ATmega168 o el ATmega328. Tiene 14 pines con entradas/salidas digitales (6 de las cuales pueden ser usadas como salidas PWM), 6 entradas analógicas, un cristal oscilador a 16Mhz, conexión USB, entrada de alimentación, una cabecera ISCP, y un botón de reset. Contiene todo lo necesario para utilizar el microcontrolador; simplemente conectandolo al computador a través del cable USB o aliméntandolo con un transformador o una batería se pude empezar a trabajar con él. Diecimila: Esta es la revisión anterior de la placa USB básica. La Arduino Diecimila es una placa microcontroladora basada en el chip ATmega168. Tiene 14 E/S digitales (6 de las cuales se puedes utilizar como salidas PWM), 6 entradas analógicas, un cristal de 16MHz, conexión USB y botón de reseteo. Nano: Una placa compacta diseñada para usar directamente en placas de desarrollo, el Nano se conecta al ordenador con un cable Mini-B USB. Es una pequeña y completa placa basada en el ATmega328 (Arduino Nano 3.0) o ATmega168 (Arduino Nano 2.x) que se usa conectándola a una protoboard. Tiene más o menos la misma funcionalidad que el Arduino Duemilanove, pero con una presentación diferente. No posee conector para alimentación externa, y funciona con un cable USB Mini-B en vez de el cable estándar. Mega: La mas grande y potente placa Arduino, compatible con los shields de Duemilanove y Diecimila. Es una placa microcontrolador basada en el ATmeg1280. Tiene 54 entradas/salidas digitales (de las cuales 14 proporcionan salida PWM), 16 entradas digitales, 4 UARTS (puertos serie por hardware), un cristal oscilador de 16MHz, conexión USB, entrada de corriente, conector ICSP y botón de reset. Contiene todo lo necesario para hacer funcionar el microcontrolador; basta conectarlo al PC con el cable USB o alimentarlo con un trasformador o batería para empezar. El Mega es compatible con la mayoría de shields diseñados para el Arduino Duemilanove o Diecimila. Bluetooth: El Arduino BT contiene un modulo bluetooth que permite comunicarse y programarse sin cables. Es compatible con los shields de Arduino. Utiliza un microcontrolador ATmega168 y el módulo Bluetooth utilizado es el Bluegiga WT11. LilyPad: Diseñado para aplicaciones sobre prendas, esta placa puede ser cosida a la ropa y es de color purpura y con un diseño con estilo. Puede utilizarse con complementos similares como fuentes de alimentación, sensores actuadores unidos por hilo conductor. La placa esta basada en el ARmega168V (la versión de baja consumo del ATmega168), o el ATmega328V. El LilyPad Arduino ha sido diseñado y desarrollado por Leah Buechley y SparkFun Electronics. Fio: Diseñada para aplicaciones inalámbricas. Incluye un zócalo para XBee, un conector para baterías LiPo y electrónica para cargar baterías. Es una placa para microcontrolador basada en el ATmega328P, funciona a 3.3V y 8 MHz. Tiene 14 pines de E/S digitales (de los cuales 6

CAPÍTULO III. ARDUINO

55

pueden usarse como salidas PWM), 8 entradas analógicas, un resonador en placa, un botón de reinicio, y agujeros para montar conectores de pines. Tiene conexiones para una batería de polímero de Litio e incluye un circuito de carga a través de USB. En el reverso de la placa tiene disponible un zócalo para módulos XBee. Mini: La placa Arduino mas pequeña. Funciona perfectamente en una placa de desarrollo o en aplicaciones donde el espacio es primordial. Se conecta al ordenador usando el adaptador Mini USB. Es una placa con un pequeño microcontrolador basada en el ATmega168, pensada para ser usada en placas de prototipado y donde el espacio es un bien escaso. Cuenta con 14 entradas/salidas digitales (de las cuales 6 pueden ser usadas como salidas PWM ), 8 entradas analógicas y un cristal de 16 MHZ. Puede ser programada con el adaptador Mini USB u otros adaptadores USB o RS232 a TTL serial. Adaptador Mini USB: Esta placa convierte una conexión USB en 5 voltios , toma tierra, lineas TX y RX que puedes conectar al Arduino Mini o a otro microcontrolador, permitiéndoles comunicarse con el ordenador. Se basa en el chip de FTDI FT232RL, (los controladores se incluyen con el software de Arduino). Pro: Esta placa esta diseñada para aquellos que quieren dejar la placa incrustada en el proyecto: es mas barata que la Diecimila y se puede alimentar fácilmente con baterías. pero requiere de componentes extra y montaje. La Arduino pro es una placa con un microcontrolador ATmega168 o el ATmega328. La Pro viene en versiones de 3.3v / 8 MHz y 5v / 16 MHz. Tiene 14 E/S digitales (6 de las cuales se puedes utilizar como salidas PWM), 6 entradas analógicas, un resonador interno, botón de reseteo y agujeros para el montaje de tiras de pines. Vienen equipada con 6 pines para la conexión a un cable FTDI o a una placa adaptadora de la casa Sparkfun para dotarla de comunicación USB y alimentación. Pro Mini: Como la Pro, la Pro Mini esta diseñada para usuarios avanzados que requieren de bajo coste, menor tamaño y dispuestos a un poco de trabajo extra. Es una placa con un microcontrolador ATmega168. Tiene 14 E/S digitales (6 de las cuales se puedes utilizar como salidas PWM), 6 entradas analógicas, un resonador interno, botón de reseteo y agujeros para el montaje de tiras de pines. Se le puede montar una tira de 6 pines para la conexión a un cable FTDI o a una placa adaptadora de la casa Sparkfun para dotarla de comunicación USB y alimentación. La Arduino Mini Pro esta destinada a instalaciones semi-permanentes en objetos o demostraciones. La placa viene sin conectores montados, permitiendo el uso de varios tipos de conectores o soldado directo de cables según las necesidades de cada proyecto en particular. La distribución de los pines es compatible con la Arduino Mini. Existen dos versiones de la Mini Pro, una que funciona a 3.3v y 8Mhz y otra de 5v y 16MHz.

CAPÍTULO III. ARDUINO

56

Uno: Arduino Uno es una placa basada en el ATmega328. Cuenta con 14 pines entradas / salidas digitales (de las cuales 6 se puede utilizar como salidas PWM), 6 entradas analógicas, un resonador cerámico 16 MHz, una conexión USB, un conector de alimentación, una cabecera ICSP, y un botón de reset. Contiene todo lo necesario para apoyar el microcontrolador, basta con conectarlo a un ordenador con un cable USB o a un adaptador de CA a CC o batería para empezar. Ethernet: El Arduino Ethernet junta en un sola placa el Arduino Uno y el Shield Ethernet. Serial: Placa básica que utiliza una interfaz RS232 como comunicación con el ordenador para programar o intercambiar datos. Esta placa es fácil de montar incluso como ejercicio didáctico. Serial a una cara(Single Sided): Esta placa esta diseñada para ser trazada y montada a mano. es un poco mas grande que la Diecimila, pero compatible con los shields.

(a) Arduino Mega

(b) Arduino Mini

(c) Arduino Pro

(d) Arduino LilyPad

Figura III.2: Algunas placas Arduino

CAPÍTULO III. ARDUINO

3.1.3.2.

57

Shields

Los Shields son placas que se colocan encima de la placa Arduino y que amplían una nueva función para que sea controlada desde Arduino, para controlar diferentes aparatos, adquirir datos, etc. Existen las siguientes: Shield Xbee: Este shield permite conectar inalámbricamente varios Arduino a distancias de unos 30 metros en edificios y 90 metros en el exterior usando el módulo Maxstream Xbee Zigbee. Está basada en el módulo Xbee de MaxStream. Puede ser usado como reemplazo del puerto serie/USB o puede ponerse en modo de comandos y configurarlo para una variedad de opciones de redes broadcast o malladas. La shield tiene pistas desde cada pin del Xbee hasta un orificio de soldar. También provee conectores hembra para usar los pines digitales desde 2 hasta 7 y las entradas analógicas, las cuales están cubiertas por la shield (los pines digitales de 8 a 13 no están cubiertos por la placa, así que se pueden usar los conectores de la placa directamente). La Xbee Shield fue creada en colaboración con Libelium, quienes la desarrollaron para usarlo en sus SquidBee motes (usados para crear redes de sensores). Shield Motores: Este shield permite a Arduino controlar motores eléctricos de corriente continua, servos y motores paso a paso y leer encoders. Shield Ethernet: Este shield permite a una placa Arduino conectarse a una red Ethernet y tener acceso a y desde Internet. Está basada en el chip Ethernet Wiznet W5100. El Wiznet W5100 provee de una pila de red IP que soporta TCP y UDP. Soporta hasta cuatro conexiones de sockets simultáneas. Usa la librería Ethernet para escribir programas que se conecten a internet usando la shield. La Ethernet shield dispone de unos conectores que permiten conectar a su vez otras placas encima y apilarlas sobre la placa Arduino. Arduino usa los pines digitales 10, 11, 12, y 13 (SPI) para comunicarse con el W5100 en la Ethernet shield. Estos pines no pueden ser usados para e/s genéricas. La shield provee un conector Ethernet estándar RJ45. El botón de reset en la shield resetea ambos, el W5100 y la placa Arduino.

3.1.4.

El software para programar Arduino

El software Arduino esta publicado bajo una licencia libre y preparado para ser ampliado por programadores experimentados. El lenguaje puede ampliarse a través de librerías de C++, y si se está interesado en profundizar en los detalles técnicos, se puede dar el salto a la programación en el lenguaje AVR C en el que está basado. De igual modo se puede añadir directamente código en AVR C en tus programas si así lo deseas.

CAPÍTULO III. ARDUINO

58

El lenguaje de programación de Arduino es una implementación de Wiring, una plataforma de computación física parecida, que a su vez se basa en Processing, un entorno de programación multimedia. El entorno de Desarrollo Arduino es multiplataforma, existen versiones para los sistemas operativos Windows, Mac OS X y Linux , está constituido por un editor de texto para escribir el código, un área de mensajes, una consola de texto, una barra de herramientas con botones para las funciones comunes, y una serie de menús. Permite la conexión con el hardware de Arduino para cargar los programas y comunicarse con ellos. Arduino utiliza para escribir el software lo que denomina "sketch" (programa). Estos programas son escritos en el editor de texto. Existe la posibilidad de cortar/pegar y buscar/remplazar texto. En el área de mensajes se muestra información mientras se cargan los programas y también muestra errores. La consola muestra el texto de salida para el entorno de Arduino incluyendo los mensajes de error completos y otras informaciones. La barra de herramientas permite verificar el proceso de carga, creación, apertura y guardado de programas, y la monitorización serie.

3.2. Descripción de las placas Arduino a utilizar Para el desarrollo de esta tesis se decidió utilizar las placas Arduino uno y Arduino Ethernet, sus principales características las describiremos a continuación.

3.2.1.

Arduino Uno

Arduino Uno es una placa basada en el ATmega328. Cuenta con 14 pines entradas / salidas digitales (de las cuales 6 se puede utilizar como salidas PWM), 6 entradas analógicas, un resonador cerámico 16 MHz, una conexión USB, un conector de alimentación, una cabecera ICSP, y un botón de reset. Contiene todo lo necesario para apoyar el microcontrolador, basta con conectarlo a un ordenador con un cable USB o a un adaptador de CA a CC o batería para empezar. Esta placa se diferencia de todas las demás en que no utiliza el chip controlador FTDI USBSerial. En su lugar, ofrece la Atmega16U2 (Atmega8U2 hasta la versión R2) programado como un convertidor de USB a serie. la revisión 2 de la placa tiene una resistencia tirando la línea HWB 8U2 a tierra, por lo que es más fácil de poner en modo DFU. La revisión 3 de la placa tiene las siguientes características nuevas: 1,0 pinout: Añadidos los pines SDA y SCL que están cerca de la pin AREF y otros dos pines nuevos colocados cerca del pin de RESET, el IOREF permite a los shields adaptarse a la tensión suministrada desde la tarjeta. En el futuro, los shields serán compatibles tanto con la tarjeta que utilice el AVR, que operan con 5V y con el los Arduinos que operan con 3.3V. El segundo es un pin no conectado, que está reservado para usos futuros.

CAPÍTULO III. ARDUINO

59

Reinicio fuerte del circuito. Atmega 16U2 reemplaza el 8U2. 3.2.1.1.

Resumen características

Las principales características las podemos ver resumidas en la siguiente tabla. Microcontrolador

ATmega328

Voltaje de operación

5 Volts

Voltaje de entrada recomendado

7-12 Volts

Voltaje de entrada limites

6-20 Volts

Pines de Entrada/Salida digitales

14(6 proporcionan salida PWM)

Pines de entrada análoga

6

Corriente por pines de Entrada/Salida

40 mA

Corriente para pines de 3.3V

50 mA

Memoria Flash

32 KB (ATmega328) de los cuales 0.5 KB son usados por el bootloader

SRAM

2 KB (ATmega328)

EEPROM

1 KB (ATmega328)

Velocidad de reloj

16 MHz

3.2.1.2.

La alimentación

El Uno Arduino puede ser alimentado a través de la conexión USB o con una fuente de alimentación externa. La fuente de alimentación se selecciona automáticamente. La alimentación externa (no USB) puede obtenerse con un adaptador de corriente alterna a corriente continua o con una batería. El adaptador se puede conectar al jack de 2.1mm de centro positivo de la placa. En el caso de una batería se pueden insertar en los encabezados de los pines Gnd y Vin del conector de alimentación. La placa puede operar con un suministro externo de 6 a 20 voltios. Si se proporcionan menos de 7V, sin embargo, el pin de 5V puede proporcionar menos de cinco Volts y la placa puede volverse inestable. Si se utiliza más de 12V, el regulador de voltaje se puede sobrecalentar y dañar la placa. El rango recomendado es de 7 a 12 voltios.

CAPÍTULO III. ARDUINO

60

Los pines que tienen que ver con la alimentación son los siguientes: VIN: Esta es la tensión de entrada a la placa Arduino cuando se utiliza una fuente de alimentación externa (en oposición a 5 voltios de la conexión USB o de otra fuente de alimentación regulada). Se puede suministrar tensión a través de este conector, o, si el suministro de tensión a través de la toma de poder, acceder a él a través de este . 5V: Es una salida de 5V regulada por el regulador de la placa. La placa se puede alimentar, ya sea a partir de la entrada de alimentación (7 - 12 V), el conector USB (5V), o el pin de VIN de la placa (7-12V). El suministro de tensión a través de los pines de 5V o 3.3V no pasa por el regulador, y puede dañar la placa. Por lo tanto no es aconsejable su uso. 3V3. Una fuente de 3,3 Volts generada por el regulador de la placa. Su consumo de corriente máxima es de 50 mA. GND: Tierra. 3.2.1.3.

Pines de entrada y salida

Cada uno de los 14 pines digitales en el Arduino Uno se puede usar como una entrada o salida, utilizando las funciones pinMode (), digitalWrite (), y digitalRead (). Funcionan a 5 volts. Cada pin puede proporcionar o recibir un máximo de 40 mA y tiene una resistencia interna pull-up (desconectada por defecto) de 20-50 kOhmios. Además, algunos pines tienen funciones especializadas: Serie: 0 (RX) y 1 (TX). Se utiliza para recibir (RX) y transmitir (TX) datos series TTL. Estos pines están conectados a los pines correspondientes del chip TTL USB-to-Serial del ATmega8U2. Interrupciones externas, 2 y 3: Estos pines pueden ser configurados para activar una interrupción en un valor bajo, un flanco ascendente o descendente, o un cambio en el valor. PWM: 3, 5, 6, 9, 10, y 11. Proporcionan 8-bit de salida PWM con la función analogWrite (). SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Estos pines soportan la comunicación SPI usando la biblioteca de SPI. LED: 13. Hay un built-in LED conectado al pin digital 13. Cuando el pin es de alto valor, el LED está encendido, y apagado cuando es bajo. El Arduino Uno tiene 6 entradas analógicas, con la etiqueta A0 a A5, cada uno de los cuales proporcionan 10 bits de resolución (es decir, 1024 valores diferentes). Por defecto se mide desde GND a 5 voltios, aunque es posible cambiar el extremo superior de su rango usando el pin AREF y la función analogReference (). Además, algunos pines tienen funciones especializadas:

CAPÍTULO III. ARDUINO

61

TWI: pin A4 o SDA y pin A5 o SCL. Soportan la comunicación TWI haciendo uso de la biblioteca Wire. AREF: Voltaje de referencia para las entradas analógicas. Se utiliza con analogReference (). Reset: Suministrar un valor LOW(0V) para reiniciar el microcontrolador. Típicamente usado para añadir un botón de reset a los shields que no dejan acceso a este botón en la placa. 3.2.1.4.

Comunicación

Arduino Uno tiene una gran cantidad de posibilidades para la comunicación con un computador, otro Arduino, u otros microcontroladores. El ATmega328 ofrece una UART TTL (5V) para comunicación serial, que está disponible en los pines digitales 0 (RX) y 1 (TX). Un ATmega16U2 en la placa proporciona canales para comunicación serie a través de USB y aparece como un puerto COM virtual en el computador. El firmware 16U2 utiliza los controladores estándar USB COM, y no es necesario ningún controlador externo. Sin embargo, en Windows, se requiere un archivo .inf. El software incluye un monitor de puerto serie que permite enviar y recibir información textual de la placa Arduino. Los LEDs RX y TX de la placa parpadean cuando se transmiten datos a través del chip USB-to-serie y la conexión USB al PC (pero no para la comunicación en serie en los pines 0 y 1). Una biblioteca SoftwareSerial permite la comunicación serial en cualquiera de los pines digitales de la placa. El ATmega328 también soporta la comunicación I2 C (TWI) y SPI. El software de Arduino incluye una librería Wire para simplificar el uso del bus I2 C. Para la comunicación SPI, utilice la biblioteca SPI. 3.2.1.5.

Programación

El Arduino Uno se puede programar con el software Arduino disponible gratuitamente desde la página web. El ATmega1280 en el Arduino Uno viene precargado con un gestor de arranque (bootloader) que permite cargar nuevo código sin necesidad de un programador por hardware externo. Se comunica utilizando el protocolo STK500 original(referencia, archivo de cabecera C). También te puedes saltar el gestor de arranque y programar directamente el microcontrolador a través del puerto ISCP (In Circuit Serial Programming). El código fuente del firmware para el ATmega16U2 (o 8U2 o las placas de REV1 y REV2) se encuentra disponible. El ATmega16U2/8U2 se carga con un cargador de arranque DFU, que puede ser activado por:

CAPÍTULO III. ARDUINO

62

En las placas Rev1: Conectando el jumper soldado en la parte posterior de la tarjeta y luego reiniciar el 8U2. En la placas Rev2 o posteriores: Hay una resistencia que pone la línea 8U2/16U2 HWB a tierra, por lo que es más fácil de poner en modo DFU. A continuación, puede utilizar el software FLIP de Atmel (Windows) o el programador DFU (Mac OS X y Linux) para cargar un nuevo firmware. O bien, puede utilizar el encabezado ISP con un programador externo (sobrescribir el gestor de arranque DFU). 3.2.1.6.

Reinicio Automatico por Software

En vez de necesitar reiniciar presionando físicamente el botón de reset antes de cargar, el Arduino Uno esta diseñado de manera que es posible reiniciar por software desde el ordenador donde este conectado. Una de las lineas de control de flujo(DTR) del ATmega8U2/16U2 esta conectada a la linea de reinicio del ATmega328 a través de un condensador de 100 nanofaradios. Cuando la linea se pone a LOW(0V), la linea de reinicio también se pone a LOW el tiempo suficiente para reiniciar el chip. El software de Arduino utiliza esta característica para permitir cargar los sketches con solo apretar un botón del entorno. Dado que el gestor de arranque tiene un lapso de tiempo para ello, la activación del DTR y la carga del sketch se coordinan perfectamente. Esta configuración tiene otras implicaciones. Cuando el Mega se conecta a un ordenador con Mac OS X o Linux, esto reinicia la placa cada vez que se realiza una conexión desde el software (vía USB). El medio segundo aproximadamente posterior, el gestor de arranque se esta ejecutando. A pesar de estar programado para ignorar datos mal formateados (ej. cualquier cosa que la carga de un programa nuevo) intercepta los primeros bytes que se envían a la placa justo después de que se abra la conexión.Si un sketch ejecutándose en la placa recibe algún tipo de configuración inicial o otro tipo de información al inicio del programa, asegúrate que el software con el cual se comunica espera un segundo después de abrir la conexión antes de enviar los datos. El Arduino Uno contiene una pista que puede ser cortada para deshabilitar el auto-reset. Las terminaciones a cada lado pueden ser soldadas entre ellas para rehabilitarlo. Están etiquetadas con "RESET-EN". También podéis deshabilitar el auto-reset conectando una resistencia de 110 ohms desde el pin 5V al pin de reset. 3.2.1.7.

Protección contra sobretensiones en USB

El Arduino Uno tiene un multifusible reinicializable que protege la conexión USB de tu computador de cortocircuitos y sobretensiones. A aparte que la mayoría de computadores proporcionan su propia protección interna, el fusible proporciona un capa extra de protección. Si mas de 500mA

CAPÍTULO III. ARDUINO

63

son detectados en el puerto USB, el fusible automáticamente corta la conexión hasta que el cortocircuito o la sobretensión desaparece. 3.2.1.8.

Características físicas

La longitud máxima y la anchura del PCB del Arduino Uno son 2,7 y 2,1 pulgadas, respectivamente, con el conector USB y el conector eléctrico que se extiende más allá de la dimensión anterior. Cuatro agujeros de tornillo permiten que la placa se pueda unir a una superficie. Hay que tener en cuenta que la distancia entre los pines digitales 7 y 8 es de 160 milésimas de pulgada (0,16 "), no un múltiplo de la separación de 100 milésimas de pulgada de los otros pines. En la figura III.3 se muestra una placa Arduino Uno con la vista frontal y trasera.

(a) Vista frontal

(b) Vista trasera

Figura III.3: Placa Arduino Uno

3.2.2.

Arduino Ethernet

El Arduino Ethernet es una placa electrónica basada en el ATmega328. Cuenta con 14 entradas / salidas digitales, 6 entradas analógicas, un oscilador de cristal de 16 MHz, una conexión RJ45, un conector de alimentación, una cabecera ICSP, y un botón de reset. Hay que tener presente que los pines 10, 11, 12 y 13 están reservados para la interfaz con el módulo Ethernet y no debe ser utilizado de otra manera. Esto reduce el número de pines disponibles a 9, con 4 disponibles como salidas PWM. También es posible agregar a la tarjeta un modulo POE(Power Over Ethernet). La Ethernet se diferencia de la demás placas en que esta no tiene incorporado el chip controlador USB-to-serial, pero tiene una interfaz Ethernet Wiznet. Esta es la misma interfaz se encuentra en el shield Ethernet.

CAPÍTULO III. ARDUINO

64

Incluye un lector de tarjetas microSD, que puede ser usado para almacenar archivos para servir a través de la red, se puede acceder a través de la Biblioteca SD. El pin 10 se reserva para la interfaz Wiznet, SS para la tarjeta SD está en el pin 4. El conector del pin 6 de programación en serie es compatible con el adaptador USB Serial y también con los cables FTDI USB o con Sparkfun y Adafruit FTDI-style básicas. Cuenta con soporte para reset automático, lo que permite usar programas para reiniciar sin necesidad de pulsar el botón de reinicio en la placa. Cuando se conecta a un adaptador de USB-Serial, Ethernet Arduino es alimentado desde el adaptador. 3.2.2.1.

Resumen características

Las principales características las podemos ver resumidas en la siguiente tabla. Microcontrolador

ATmega1280

Voltaje de operación

5 Volts

Voltaje de entrada recomendado

7-12 Volts

Voltaje de entrada limites

6-20 Volts

Pines de Entrada/Salida digitales

14(4 proporcionan salida PWM)

Pines reservados

pines 10 al 13 usados por SPI pin 4 usado para acceder a la tarjeta SSD pin 2 interrupción W5100 (cuando esta puenteado)

Pines de entrada análoga

6

Corriente por pines de Entrada/Salida

40 mA

Corriente para pines de 3.3V

50 mA

Memoria Flash

32 KB de las cuales 5 KB las usa el gestor de arranque(bootloader)

SRAM

2 KB (ATmega328)

EEPROM

1 KB (ATmega328)

Velocidad de reloj

16 MHz

CAPÍTULO III. ARDUINO

3.2.2.2.

65

Entradas y Salidas

Cada uno de los 14 pines digitales de la tarjeta Ethernet se puede utilizar como entrada o salida, utilizando las funciones pinMode() , digitalWrite() , y digitalRead(). Funcionan a 5 voltios. Cada pin puede proporcionar o recibir un máximo de 40 mA y tiene una resistencia interna de pull-up (desconectada por defecto) de 20-50 kOhmios. Además, algunos pines tienen funciones especializadas: Serie: 0 (RX) y 1 (TX). Se utiliza para recibir (RX) y transmitir (TX) datos serie TTL. Interrupciones externas: 2, 3. Estos pines pueden ser configurados para activar una interrupción en un valor bajo, un flanco ascendente o descendente, o un cambio en el valor. Ver la función attachInterrupt () para más detalles. PWM: 3, 5, 6, 9, y 10. Proporcionan una salida PWM de 8-bit que puede usarse con la función analogWrite(). SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Estos pines se usan para la comunicación SPI. Se usa con la biblioteca SPI . LED: 9. Hay un built-in LED conectado al pin digital 9. Cuando el pin esta en valor alto, el LED está encendido, cuando esta en bajo esta apagado. En la mayoría de las otras placas Arduino este LED se encuentra en el pin 13. Esta en el pin 9 en la placa Ethernet porque el pin 13 se utiliza como parte de la conexión SPI. La placa Ethernet posee 6 entradas analógicas, y cada una de ellas proporciona una resolución de 10bits (1024 valores). Por defecto se mide de tierra a 5 voltios, aunque es posible cambiar la cota superior de este rango usando el pin AREF y la función analogReference(). Además algunos pines tienen funciones especializadas: TWI: A4 (SDA) y A5 (SCL). Soportan la comunicación TWI usando la librería Wire . Hay también otros pines en la placa: AREF. Voltaje de referencia para la entradas analógicas.Usado poranalogReference(). Reset. Suministrar un valor LOW(0V) para reiniciar el microcontrolador. Típicamente usado para añadir un botón de reset a los shields que no dejan acceso a este botón en la placa.

CAPÍTULO III. ARDUINO

3.2.2.3.

66

Comunicaciones

El Arduino Ethernet cuenta con una serie de facilidades para comunicarse con una computadora, a otro Arduino o a otros microcontroladores. Una librería SoftwareSerial que permite la comunicación serial en cualquiera de los pines digitales de la la placa Arduino Uno. El ATmega328 también soporta TWI y la comunicación SPI. El software de Arduino incluye una librería Wire para simplificar el uso del bus TWI. Para la comunicación SPI, utilice la biblioteca de SPI . La placa también se puede conectar a una red cableada a través de Ethernet. Cuando se conecta a una red, se tendrá que proporcionar una dirección IP y una dirección MAC. La Biblioteca Ethernet es totalmente compatible. El lector de tarjetas microSD incluido en la placa es accesible a través de la Biblioteca SD . Cuando se trabaja con esta biblioteca, SS esta en el pin 4.

(a) Vista frontal

(b) Vista trasera

Figura III.4: Placa Arduino Ethernet

3.3. Preparación del ambiente de desarrollo 3.3.1.

Instalación Software de programación

Todo el desarrollo de la tesis se realizara trabajando en el sistema operativo GNU/Linux, especificamente la distribución Debian. Por eso veremos aquí los pasos para instalar el software necesario para programar los dispositivos Arduino. Debemos recordar que el software de Arduino es multiplataforma y se puede instalar en Windows, Mac OSX y Linux.

CAPÍTULO III. ARDUINO

67

El software Arduino esta desarrollado para ejecutarse utilizando Java, por lo tanto es necesario tener instalado el JRE de Java para su funcionamiento, esto se hace de diferente manera dependiendo de la plataforma que se este utilizando, y en el caso de Linux puede variar desde una distribución a otra, por lo tanto, este proceso no se explicara aquí. 3.3.1.1.

Descarga e instalación del software.

Para la instalación del software Arduino en Linux, debemos ir a la siguiente dirección web http: //arduino.cc/en/Main/Software , desde la sección Download descargamos el archivo para Linux, dependiendo de si nuestro sistema es de 32 o 64 bits. Una vez descargado lo descomprimimos dentro de nuestro directorio personal, en este caso, hemos descargado la versión 1.0.1, por lo tanto se descomprimirá dentro de un directorio llamado arduino-1.0.1, entramos al directorio y ejecutamos el archivo arduino dando doble click sobre el, o desde consola con el comando: carlos@magnolia:~/arduino-1.0.1$ ./arduino Si el JRE esta instalado, se debería ejecutar el programa mostrado en la figura III.5

Figura III.5: Interfaz inicial software Arduino

Figura III.6: Interfaz Arduino con Blink cargado

CAPÍTULO III. ARDUINO

3.3.1.2.

68

Probando el hardware

Ahora procederemos a revisar que la comunicación entre el software y la placa este funcionando correctamente, para ello probaremos la placa Arduino Uno, cargándole uno de los programas ejemplos que trae el software, en este caso, el programa Blink, que hace que el led naranjo que esta en la placa parpadee, los pasos a seguir son los siguientes: 1. Conectar la placa al puerto USB del PC usando el cable que viene con esta. En caso de ser un Arduino Ethernet hay que adquirir un adaptador USB aparte. 2. En el software ir al menú Herramientas->Tarjeta y asegurarse de que este seleccionada la tarjeta que corresponde, en este caso debe ser Arduino Uno. 3. En la barra de herramientas del software ir al icono que tiene una flecha hacia arriba, en el menú que aparece ir a 01.Basics->Blink, se debería ver lo que se muestra en la figura III.6. 4. Hacemos click en el icono con el visto bueno, para compilar el programa y verificar que este bien escrito. 5. Hacemos click en el icono con la flecha hacia la derecha para cargar el programa a la placa. 6. El programa debería estar cargado en la placa y el led naranjo debe estar parpadeando. Si todo se realizo correctamente, ya hemos comprobado que todo esta funcionando y ahora podemos comenzar a programar la aplicación que se desee.

Capítulo IV

OpenDomo En el capitulo II conocimos algunos de los diferentes sistemas domóticos existentes, en la sección 2.2.3 conocimos brevemente las características de OpenDomo y en la sección 2.3 dimos a conocer los motivos por los cuales se escogió este sistema por sobre otras alternativas Open Source. En este capitulo conoceremos más a fondo este sistema, así como su instalación y su interfaz.

4.1. Instalación de OpenDomo Existen dos posibilidades para la instalación de OpenDomo: Instalación en una máquina virtual: Este no es un método recomendado para un sistema domótico final, sino solamente para probar y conocer el sistema, en esta sección veremos este método ya que solo la usaremos para conocer el sistema y además es muy sencillo de realizar. Instalación en disco: Esta es la opción que debe realizarse para un sistema domótico final.

4.1.1.

Requisitos para la instalación de prueba usando virtualización

Para realizar una virtualización de OpenDomo es necesario cumplir los siguientes requisitos: 1. Tener un sistema operativo, sirve cualquiera sobre el que se pueda ejecutar una máquina virtual, en nuestro caso usaremos GNU/Linux. 2. Tener instalado un software de virtualización, puede ser cualquiera de los existentes, en nuestro caso realizaremos la virtualización usando VirtualBox. 3. Descargar la imagen ISO de la ultima versión disponible de OpenDomo.

4.1.2.

Instalación en la máquina virtual

Lo primero que debemos realizar es descargar la imagen ISO de OpenDomo, esto lo realizamos desde la página del proyecto http://es.opendomo.org. Una vez descargamos la imagen debemos ejecutar el software de virtualización, en caso de no tener ninguno podemos descargar e instalar VirtualBox de la página https://www.virtualbox.org/.

69

CAPÍTULO IV. OPENDOMO

4.1.2.1.

70

Proceso de instalación en VirtualBox

Debemos ejecutar VirtualBox y crear una nueva maquina virtual, para ello vamos al menú machine y elegimos la opción new, se nos muestra una ventana de bienvenida, damos a next, en la segunda ventana debemos ingresar la información del sistema que vamos a virtualizar, colocamos un nombre en esta caso lo llamamos opendomo, Operating System elegimos Linux y en Version elegimos Linux 2.6, esto podemos verlo en la figura IV.1a, damos a next, aquí debemos ingresar la memoria que va a usar la maquina virtual, podemos dejarlo con el valor que no entrega por defecto, aunque si se tiene poca memoria basta con usar 32 MB, en la siguiente ventana ingresamos la opción sobre el disco duro de la maquina virtual, aquí seleccionamos la opción Create new hard disk, a continuación debemos elegir el tipo de archivo que sera el disco duro, dejamos la opción por defecto, en la siguiente ventana donde debemos elegir el detalle del almacenamiento, también dejamos la opción por defecto, a continuación debemos ingresar el tamaño del disco duro, con un 1 GB tenemos mas que suficiente, en la ultima ventana se muestra un resumen como se ve en la figura IV.1b, damos click a create y con esto ya tenemos creada nuestra maquina virtual.

(a) Información sistema a virtualizar

(b) Resumen configuración

Figura IV.1: Creación de la máquina virtual Una vez creada la maquina virtual es necesario configurar los dispositivos de red de la misma para que podamos acceder al servidor web de OpenDomo desde cualquier equipo que este dentro de nuestra red local. Para ello hacemos click con el botón derecho sobre la maquina virtual y seleccionamos la opción Settings, en esta ventana seleccionamos Network, en la pestaña Adapter1 nos aseguramos que la opción Enable Network Adapter este seleccionada, en la opción Attached to seleccionamos Bridged Adapter, abrimos la opción Advanced y en Adapter Type seleccionamos PCNet-PCI II, esto se muestra en la figura IV.2a. Una vez configurada la red debemos configurar la maquina para que arranque usando la imagen ISO de OpenDomo, para ello vamos a la opción Storage de la misma ventana Settings, aquí buscamos IDE Controller, debajo de esta opción aparece el icono de un CD con la etiqueta Empty, la seleccionamos, al lado derecho aparece CD/DVD

CAPÍTULO IV. OPENDOMO

71

Drive, aquí damos click en el icono del CD vació, en el menú que se muestra elegimos la opción Choose a virtual CD/DVD disk file, buscamos la imagen descargada de OpenDomo y la seleccionamos, podemos ver esto en la figura IV.2b, con esto la maquina virtual esta lista para ejecutar OpenDomo.

(a) Configuración de red

(b) Carga de imagen ISO OpenDomo

Figura IV.2: Configuración de red e imagen OpenDomo

4.1.2.2.

Ejecución de OpenDomo en VirtualBox

Una vez configurada la máquina virtual como se mostró en la sección 4.1.2.1 procedemos a ejecutar OpenDomo, para ello seleccionamos la maquina virtual y damos click en el icono Start, con esto comenzara a ejecutarse la maquina virtual y arrancara desde la imagen ISO cargada, una vez finaliza la carga del sistema se piden los datos de login, ingresamos el usuario y contraseña por defecto, en login ingresamos admin y cuando se nos pida el password ingresamos opendomo, esto se muestra en la figura IV.3a, una vez estemos dentro del sistema ejecutamos el comando ifconfig para conocer la IP que tenemos asignada, este nos da como resultado lo mostrado en la figura IV.3b, en eth0 buscamos inet addr, en el caso de la figura se ha asignado la la IP 192.168.0.36. Una vez conocida la IP asignada a OpenDomo podremos conectarnos desde cualquier equipo que este dentro de nuestra red local, para ello solo basta con ingresar en cualquier navegador web la IP en donde se ingresa la url, veremos un formulario de acceso como se muestra en la figura IV.4a, aquí ingresamos el mismo usuario y clave por defecto, es decir admin y opendomo respectivamente, al ingresar veremos la pantalla principal de OpenDomo que se muestra en la figura IV.4b.

CAPÍTULO IV. OPENDOMO

(a) Ingreso de usuario y password

72

(b) Consultar la IP asignada

Figura IV.3: Ejecución de OpenDomo en VirtualBox

(a) Formulario de login OpenDomo

(b) Ventana principal de OpenDomo

Figura IV.4: Login y ventana principal de la interfaz web de OpenDomo

4.1.2.3.

Crear el almacenamiento persistente de la configuración y configuración inicial.

Por defecto OpenDomo no permite guardar la configuración debido a lo cual cada vez que se inicie el sistema parte con la configuración por defecto. Para que el sistema permita mantener una configuración es necesario ejecutar el comando install_on_disk estando con la cuenta de root, para ello ejecutamos su e ingresamos el password que es opendomo, esto se resume a continuación. :~$ su :~# install_on_disk

CAPÍTULO IV. OPENDOMO

73

Una vez ejecutado este comando reiniciamos el equipo, averiguamos la IP y nos conectamos vía web, esta vez la interfaz se mostrara en ingles, ingresamos con el usuario admin y clave opendomo, damos click en login e ingresamos a la pagina inicial, aquí debemos realizar la configuración inicial del sistema, para ello ejecutamos el wizard, en la primera pantalla debemos ingresar el nombre completo del usuario, su correo electrónico y seleccionar el idioma de la interfaz. En la siguiente pantalla tenemos que aceptar la licencia, y en la última pantalla ingresamos la nueva clave del usuario admin, finalmente damos click en finalizar, con ello quedara guardada la nueva configuración, algunas partes de este proceso se muestra en la figura IV.5.

(a) Primera pantalla

(b) Pantalla final

Figura IV.5: Wizard de configuración inicial

4.1.2.4.

Compilar una imagen OpenDomo

La imagen de OpenDomo que puede descargarse desde la página web no trae todos los paquetes disponibles, solo trae los básicos, sin embargo, en muchas instalaciones se necesitan otros, como el paquete od-vision para el control de las camaras, para poder tener una imagen con estos paquetes es necesario compilar el SDK, para ello debemos seguir los siguientes pasos: 1. Crear un directorio donde almacenar el SDK 2. Descargar el SDK en la carpeta creada anteriormente y actualizar, para ello ejecutamos los comandos mostrados a continuación, esto generara una carpeta llamada opendomo con to-

CAPÍTULO IV. OPENDOMO

74

do el código del SDK.

$ svn checkout https://opendomo.googlecode.com/svn/trunk/

opendomo \

--username usuario $ cd opendomo $ ./odsdk.sh update 3. Instalar las dependencias, para ello ejecutamos.

$ ./odsdk.sh deps 4. Crear el buildroot, este comando descargara todo lo necesario para el buildroot y creara una carpeta llamada buildroot en el mismo nivel que la de opendomo. Este el un proceso que tarda bastante tiempo.

$ ./odsdk.sh brmake 5. Compilar el buildroot.

$ ./odsdk.sh knmake 6. Crear los paquetes que va a incluir la imagen.

$ ./odsdk.sh packages 7. Finalmente se crea la imagen ISO, con el comando siguiente, donde release es la versión que vamos a generar.

$ ./odsdk.sh mkiso release 8. La imagen ISO sera creada en la carpeta opendomo.

4.2. Conceptos importantes usados en un sistema OpenDomo Para poder utilizar y configurar adecuadamente un sistema OpenDomo es necesario conocer algunos conceptos usados en este sistema, estos son:

CAPÍTULO IV. OPENDOMO

4.2.1.

75

Dispositivos de red y agentes

En un sistema OpenDomo encontramos 2 tipos de componentes que están conectados entre si formando la red del sistema, estos son los dispositivos de red y los agentes, podemos definirlos de la siguiente manera: Dispositivos de red: Consideramos dispositivos de red a todos los elementos conectados a la red de OpenDomo, ya sean mediante cableado o por Wifi, dentro de estos dispositivos encontramos los sensores y actuadores, dispositivos X10, PLCs, etc. Agentes: Son aquellos dispositivos de red que contienen el sistema OpenDomo (o parte de él, como un dispositivo Arduino con Domino). Estos elementos son pequeños ordenadores capaces de controlar los diferentes dispositivos de la red y de proporcionar determinados servicios.

4.2.2.

Condiciones

Las condiciones de OpenDomo son, en esencia, el mismo concepto que las llamadas "Consignas" o "Parámetros" en algunos sistemas domóticos. Básicamente, constan de dos partes: Requisitos: Aquello que, en cuanto se cumpla, desencadenará la acción resultante. Por ejemplo, "si el día es viernes" y "son las 18:00" son dos requisitos que formarán una condición consistente. Los requisitos se evalúan de forma automática cada hora. Acción resultante: En cuanto se cumplan los requisitos, el sistema realizará una acción. Por ejemplo, puede desencadenar una secuencia, o aplicar una escena, o lanzar cualquiera de las funciones del sistema.

4.2.3.

Secuencias

Una Secuencia, como su nombre indica, es una sucesión ordenada de elementos. En este caso, tales elementos hacen referencia a sucesos relacionados con los elementos de nuestra instalación, y suelen consistir en la activación o desactivación de un dispositivo. En OpenDomo, las secuencias son una versión mucho más avanzada e intuitiva de la clásica programación que encontramos en los automatismos, como los sistemas de riego. Al fin y al cabo, también consisten en una serie de instrucciones ordenadas, a las que llamamos pasos, que pueden ser el encendido o apagado de un dispositivo, la espera de un tiempo determinado, la reproducción de un sonido, el envío de una notificación o cualquier otra función que se haya instalado en el sistema.

CAPÍTULO IV. OPENDOMO

4.2.4.

76

Zonas

Para facilitar la configuración de grandes instalaciones, se ha introducido el concepto de zonas. De esta forma, es posible agrupar elementos de nuestra red (sensores, actuadores, cámaras, etc) y acceder a ellos a través del plano. Podemos crear nuevas zonas y mantener las existentes a través del menú Administrar zonas, dentro del apartado de configuración. Habitualmente usaremos las zonas para delimitar cualquier espacio como habitaciones, pero también terrazas y jardines, en especial si queremos disponer de elementos controlables en su interior, como por ejemplo cámaras IP, controladores eléctricos o cualquier otro elemento compatible con OpenDomo.

4.2.5.

Etiquetas

Del mismo modo que las zonas, las etiquetas sirven para organizar los elementos de nuestra instalación, pero esta vez por su funcionalidad y no por posición física. Por ejemplo, podemos agrupar todos los puertos o sensores relacionados con iluminación dentro de la etiqueta "light", las cámaras dentro de "video", el control de clima dentro de "climate", etc.

4.2.6.

Estados

Los Estados del Sistema nos permiten definir distintos perfiles de comportamiento exclusivos de nuestra instalación. El concepto es algo técnico, pero muy sencillo. Imaginemos que nuestra instalación es una vivienda (o una oficina, el caso es el mismo). Pongamos que esta instalación pueda encontrarse en tres estados distintos, por ejemplo "activo" (mientras hay gente en el interior), "descanso" (cuando hay poca actividad) y "vigilancia" (no hay nadie en la instalación, y queremos protegerla). En el estado al que hemos llamado "activo" queremos que el sistema nos ofrezca todas las características instaladas (aquí llamadas "servicios"), como por ejemplo el hilo musical, pero queremos deshabilitar el acceso a las cámaras por cuestiones de privacidad; también podremos desactivar (si los hay) aquellos servicios de alta demanda y poca prioridad, ya que el sistema estará demasiado ocupado con otros quehaceres para dedicarse a ello. En el estado de "descanso" la actividad es mucho menor, y será prácticamente el mismo perfil aunque desactivaremos el hilo musical. En el estado de "vigilancia", cuando estemos fuera de casa, nos interesará minimizar el consumo energético, por lo que podremos desactivar funciones menos prioritarias y liberar de carga al sistema. Por otro lado, vamos a querer tener acceso pleno a las cámaras de vigilancia, para poder echar un vistazo a nuestra instalación en cualquier momento.

CAPÍTULO IV. OPENDOMO

4.2.7.

77

Escena

Uno de los conceptos más básicos del funcionamiento de un sistema OpenDomo son las Escenas, como también una de las herramientas de control más frecuentes. Una escena es una instantánea, una "fotografía" de la situación en la que se encuentran un conjunto de elementos de nuestra instalación. Por ejemplo, podemos crear una escena con las luces del comedor encendidas y los pasillos apagadas, para la hora de cenar; o podemos crear una escena con las luces principales del salón apagadas, las persianas bajadas para cuando queramos disfrutar al máximo de nuestra película favorita. O más fácil aún, podemos crear una escena que cierre todas las persianas a la vez. La finalidad de la escena es agrupar el funcionamiento de diversos elementos, que de otro modo deberíamos controlar de forma independiente y que en la vida diaria suele implicar descuidos. Una escena actúa sobre el conjunto de elementos que le hayamos indicado al crearla, y por tanto no afecta al comportamiento del resto, lo que nos permite aplicar diversas escenas que afecten a zonas distintas de la instalación al mismo tiempo. Una escenas no es ni un estado de sistema ni una secuencia. Todos estos conceptos son muy útiles, pero su funcionamiento es independiente, y su utilidad muy distinta.

Capítulo V

Implementación teórica de un sistema domótico 5.1. Elección de la vivienda y requisitos a implementar El plano de la vivienda sobre la cual se desarrollara la implementación dómotica se obtuvo en la página web http://planosde.com.ar, los planos que se pueden obtener en esta pagina poseen licencia creative commons. La vivienda seleccionada se muestra en la figura V.1

5.1.1.

Requerimientos a implementar

Los requerimientos a implementar en esta vivienda vamos a definirlos a continuación: 5.1.1.1.

Control de las luminarias principales

Se implementara el sistema domótico para que permita el control de la iluminación de manera manual, o bien con un computador o smartphone, esto ultimo tanto estando presente en la vivienda como desde cualquier otro lugar vía internet. Con esto se pretende lograr que estando en la vivienda pueda apagar o encender la luz de cualquier habitación sin necesidad de estar presente en el lugar y además que cuando no este en la vivienda pueda asegurarse que la luces están apagadas. 5.1.1.2.

Encendido automático de la iluminación mediante la detección de presencia en un horario establecido

Con esto se quiere lograr que las luces se puedan configurar para que dentro de un cierto rango horario se enciendan automáticamente cuando detecten la presencia de alguna persona, esto sera aplicable sobre todo en las luces de los pasillos y del baño, ya que son lugares por los que no se transita mucho y en los cuales es muy fácil dejar las luces encendidas, ya sea por olvido o comodidad, lo cual asegura un ahorro en el consumo de energía eléctrica. Esto también se podrá aplicar a cualquier otra luz de la vivienda que sea controlada mediante el sistema OpenDomo.

78

CAPÍTULO V. IMPLEMENTACIÓN TEÓRICA DE UN SISTEMA DOMÓTICO

79

Figura V.1: Plano vivienda a domotizar

5.1.1.3.

Encendido automático de las luces principales a determinado nivel de luminosidad

Se pretende que el sistema domótico encienda las luces que este configuradas para esto ante cierto nivel de luminosidad, con esto se puede asegurar que la iluminación este siempre a un nivel confortable y además permite ahorrar energía que seria gastada teniendo luces encendidas sin ser necesario.

CAPÍTULO V. IMPLEMENTACIÓN TEÓRICA DE UN SISTEMA DOMÓTICO

5.1.1.4.

80

Cierre automático de persianas o cortinas a determinada hora o a niveles definidos de iluminación

El objetivo de esto es que el cierre de persianas o cortinas sea realizado automáticamente por el sistema OpenDomo a una determinada hora que pueda ser configurada o bien ante unos niveles definidos de luminosidad. Con esto se asegura que la privacidad de la vivienda se mantenga llegado cierto horario. 5.1.1.5.

Riego automático del patio

Implementar un sistema que realice el riego automático del patio a determinadas horas, esto generalmente de noche, que es el horario en el cual se aprovecha mejor el agua ya que hay menos evaporación debido a la mas baja temperatura que en el día, con esto se logra un ahorro en la cantidad de agua a utilizar y al no necesitar la presencia de una persona puede ser realizado a cualquier hora y sin necesidad que que haya alguien en la vivienda. 5.1.1.6.

Control del garaje

Se implementara un sistema que permita abrir el garaje desde el smartphone. 5.1.1.7.

Instalación del sistema de seguridad

Se implementara camaras de seguridad y sensores de presencia. Las camaras de seguridad serán accesibles desde cualquier lugar mediante internet, con lo cual podrán ser consultadas en cualquier momento. En caso de detectarse presencia se notificara al usuario mediante un email. Con esto se logra aumentar la seguridad de la vivienda y mejorar la tranquilidad de los habitantes de la misma. 5.1.1.8.

Sensores de gas

Se instalaran sensores de gas en la cocina, con el objetivo de detectar cualquier fuga que pudiese poner en peligro a los habitantes de la misma, además el sistema enviara una notificación mediante email al usuario en caso de que no haya nadie en la vivienda. Con esto se mejora la seguridad de las personas que habitan la vivienda ya que las fugas de gas, ya sea natural o licuado es un accidente de mucho riesgo. 5.1.1.9.

Sensor de lluvia

Se instalara un sensor de lluvia de tal manera que si comienza a llover pueda realizar determinadas tareas como asegurarse de cerrar las ventanas y así impedir que el agua entre a la vivienda.

CAPÍTULO V. IMPLEMENTACIÓN TEÓRICA DE UN SISTEMA DOMÓTICO

5.1.1.10.

81

Simular presencia durante periodos donde no hayan personas en la vivienda

Se programara el sistema para que en caso de que no haya nadie en la vivienda por un largo periodo de tiempo simule que la vivienda esta habitada. Con ello se logra mejorar la seguridad de la vivienda.

5.2. Definición de la ubicación de los sensores y actuadores a instalar Con el propósito de lograr los objetivos propuestos en la sección 5.1.1 se dividirá la vivienda en diferentes sectores o zonas como se muestra en la figura V.2.

Figura V.2: División de la vivienda en sectores o zonas

CAPÍTULO V. IMPLEMENTACIÓN TEÓRICA DE UN SISTEMA DOMÓTICO

82

La descripción de los sensores y actuadores de cada sector se muestra a continuación, además en cada uno de estos sectores se instalara un agente consistente en un Arduino Ethernet con Domino instalado, la misión de este agente sera la de transmitir al sistema central OpenDomo la información de los sensores y accionar los actuadores de acuerdo a las ordenes recibidas de este, pero también este agente puede actuar por si solo en el caso de que las acciones a ejecutar sean sencillas.

5.2.1.

Sector 1, entrada a la vivienda

En este sector se desea controlar el encendido de la luz cuando se detecte la presencia de alguien, además se desea instalar una cámara para poder ver a las personas que visiten la vivienda, así como también para poder realizar la vigilancia cuando no se encuentre nadie en la casa. Con esto se cumplen los objetivos indicados en 5.1.1.2 y 5.1.1.7. Los sensores y actuadores que se necesita instalar en este sector son: Una cámara IP, para realizar la vigilancia. Un sensor de presencia, que notifique al sistema OpenDomo. Es posible prescindir de este sensor si se desea ya que el paquete od-vision de OpenDomo detecta movimiento con la cámara, sin embargo el sensor puede abarcar una zona donde la cámara no tiene vista o para detectar presencia cuando la cámara este desactivada. Un dispositivo actuador que se encargue de encender la iluminación al recibir la orden de OpenDomo.

5.2.2.

Sector 2, salón principal

En este sector se implementara el control de las luces, se instalara una cámara para vigilancia que cubra tanto este sector como el sector 3, un sensor de presencia para vigilancia y que además pueda ser usado para el encendido automático de las luces del sector de ser requerido, y por ultimo también en este sector se instalara un sensor de luminosidad para activar el encendido o apagado automatico de las luces frente a ciertos niveles de luz, con esto se cumplen los requisitos solicitados en las secciones 5.1.1.1, 5.1.1.7 y 5.1.1.3. Los sensores y actuadores necesarios para este sector con los siguientes: Una cámara IP. Un sensor de presencia. Un actuador para controlar las luces

CAPÍTULO V. IMPLEMENTACIÓN TEÓRICA DE UN SISTEMA DOMÓTICO

5.2.3.

83

Sector 3, cocina y comedor

En este sector se implementara el control de las luces, también en la zona de la cocina se instalara el sensor de gas para detectar posible fugas, y en la ventana se instalara un sistema que cierre la persiana o cortina ya que hay una ventana grande. Con esto se cubren los requisitos puestos en las secciones 5.1.1.1, 5.1.1.8 y 5.1.1.4. Los sensores y actuadores necesarios son los siguientes: Un sensor de gas. Un actuador para controlar las luces. Un actuador encargado de cerrar o abrir las persianas o cortinas.

5.2.4.

Sector 4, dormitorio principal

En el dormitorio principal se realizara en control de las luces, el control del cierre de las persianas o cortinas, también el cierre de las ventanas, para que estas sen cerradas en caso de quedar abiertas y comenzara a llover, y por ultimo se instalara un sensor de presencia para la seguridad. Con esto se cumplen los requisitos de las secciones 5.1.1.1, 5.1.1.4, 5.1.1.9 y 5.1.1.7. Los sensores y actuadores necesarios en este sector serán: Un sensor de presencia. Un actuador para el control de las luces. Un actuador para el cierre de las persianas o cortinas. Un actuador para cerrar la ventana.

5.2.5.

Sectores 5 y 8, baños del dormitorio principal y general

En los baños se realizara el control del encendido de las luces con la presencia de alguien, con esto se cumplen los requisitos indicados en la sección 5.1.1.2. Los sensores y actuadores necesarios en estos sectores son: Un sensor de presencia. Un actuador para el control de las luces.

CAPÍTULO V. IMPLEMENTACIÓN TEÓRICA DE UN SISTEMA DOMÓTICO

5.2.6.

84

Sectores 6 y 7, dormitorios secundarios

En estos dormitorios solamente se controlaran las luces. Con esto se cumple el requisito de la sección 5.1.1.1. Los sensores y actuadores necesarios son los siguientes: Un actuador para controlar las luces en cada sector.

5.2.7.

Sectores 9 y 12, lavandería y pasillo.

En los sectores 9 y 12 se controlara el encendido de las luces al detectar presencia. Con esto se cumplen los requisitos de la sección 5.1.1.2. Los sensores y actuadores necesarios en estos sectores son: Un sensor de presencia en cada sector. Un actuador para el control de la luces en cada sector.

5.2.8.

Sector 10, garaje

En el garaje se implementara el control de la puerta principal, para que pueda ser activada desde un dispositivo remoto como un smartphone. Con esto se cumple el requisito de la sección 5.1.1.6. Los sensores y actuadores necesarios en este sector son: Un actuador para abrir y cerrar la puerta del garaje.

5.2.9.

Sector 11, patio

En este sector se controlara el regadío automático del césped y también se instalara un sensor de lluvia para activar el cierre automático de ventanas donde sea necesario. Con esto se cumplen los requisitos de las secciones 5.1.1.5 y 5.1.1.9. Los sensores y actuadores necesarios para este sector son: Un sensor de lluvia. Un sistema de riego que permita ser activado eléctricamente. Un actuador que active el sistema de riego.

CAPÍTULO V. IMPLEMENTACIÓN TEÓRICA DE UN SISTEMA DOMÓTICO

85

5.3. Diseño de la red de control para el sistema domótico 5.3.1.

Condiciones que debe cumplir la red

Un sistema domótico con OpenDomo y Domino se comunica mediante el protocolo TCP/IP, para ello es necesario diseñar una red que sea capaz de funcionar de manera eficiente y segura. Para la implementación que se va a realizar en este caso, y en la cual hemos dividido la vivienda en 12 sectores o zonas vamos a necesitar un agente Arduino con domino instalado en cada uno, los cuales se comunicaran por medio de una red Ethernet a un servidor central donde estará instalado OpenDomo. El servidor central de OpenDomo debe poder ser accesible desde cualquier lugar del mundo mediante internet, por lo tanto debe contar con salida a internet y poder comunicarse con los agentes dentro de la LAN. Por seguridad los 12 agentes no podrán ser accesibles desde fuera de la LAN, es decir, no se podrá conectar a ellos desde cualquier lugar como al servidor OpenDomo, esto debido a que estos agentes no implementan un sistema de claves de acceso, y aunque así fuese, es mejor que solo el servidor central lo permita, ya que a través de él se pueden controlar a cualquiera de los agentes. También se van a limitar los dispositivos que puedan acceder a controlar el sistema, lo que quiere decir, que para que un computador, smartphone o tablet pueda acceder a un agente o al servidor central deberá ser dado de alta. Esta medida es debido a que generalmente las conexiones de estos dispositivos dentro del hogar se realiza mediante Wifi, una red Wifi tiene un alcance mayor que solo la casa y corremos el riesgo de que alguien pueda acceder a ella averiguando la clave o usando otros métodos, y como los agentes no tienen un sistema de usuarios quedarían expuestos a un control no permitido. Por lo tanto la red del sistema domótico debe cumplir las siguientes condiciones: 1. Garantizar la conexión entre todos los agentes y el servidor OpenDomo dentro de la LAN. 2. Permitir la conexión del usuario mediante cualquier dispositivo autorizado a cualquier agente y al servidor dentro de la LAN. 3. Permitir la conexión al servidor OpenDomo desde el exterior. 4. Bloquear el acceso a cualquiera de los agentes desde el exterior. 5. Bloquear el acceso a los agentes a los equipos no autorizados.

CAPÍTULO V. IMPLEMENTACIÓN TEÓRICA DE UN SISTEMA DOMÓTICO

5.3.2.

86

Diagrama general de la red

El diagrama general de la red a implementar y que permita cumplir las condiciones solicitadas en la sección 5.3.1 se muestra en la figura V.3.

Figura V.3: Diagrama de red del sistema domótico Las funciones de los principales elementos mostrados en el diagrama son: Firewall/Router: Es el equipo encargado de funcionar como router y firewall de la LAN. Este equipo sera el encargado de asignar las IPs a los distintos dispositivos de la LAN, tanto al servidor OpenDomo como los agentes y los dispositivos de acceso, además permitirá a los dispositivos de acceso una total conexión a internet. En el apartado se seguridad se encargara de permitir el acceso al servidor OpenDomo desde el exterior y bloqueara cualquier intento de acceder a alguno de los agentes, así como también sera este equipo el que maneje la lista de los dispositivos que podrá acceder a los agentes y al servidor OpenDomo. Switch: Este dispositivo es el encargado de conectar los equipos al Firewall/Router mediante cableado. Switch wifi: Es el encargado de conectar los dispositivos de acceso al Firewall/Router inalambricamente. OpenDomo: Es el servidor principal de la red dómotica donde esta instalada la distribución OpenDomo.

CAPÍTULO V. IMPLEMENTACIÓN TEÓRICA DE UN SISTEMA DOMÓTICO

87

Domino: Son las placas Arduino Ethernet que tienen instalado Domino y las cuales se comunican con el servidor OpenDomo. Dispositivos de acceso: Son los diferentes dispositivos con los cuales se puede acceder al servidor OpenDomo o a los agentes, dentro de estos dispositivos pueden haber algunos que tengan autorizado el acceso y otros que no. 5.3.2.1.

Medio de transmisión de la red

En la sección 1.5.3 se describieron los distintos medios por los cuales pueden comunicarse los dispositivos constituyentes de una red, en el caso de la red que vamos a armar vamos a utilizar una red cableada para la comunicación de todos los agentes Domino y el servidor OpenDomo, mientras que para los dispositivos de control se habilitara una comunicación inalámbrica Wifi, lo que no impedirá que también puedan conectarse a la red mediante cable.

5.3.3. 5.3.3.1.

Armado de la red dómotica Instalación del Firewall/Router

Antes de describir como se implementara este elemento vamos a definir brevemente cuales son las funciones de un router y un firewall. Router: Los routers son los dispositivos principales utilizados para interconectar redes. Cada puerto de un router se conecta a una red diferente y realiza el enrutamiento de los paquetes entre las redes. Toda LAN debe contar con un router que servirá de gateway para conectar la LAN a otras redes. Dentro de la LAN habrá uno o más hubs o switches para conectar los dispositivos finales a la LAN. Este dispositivo es el encargado de asignar a los demás elementos constituyentes de la red una dirección IP única y gestionar la comunicación entre ellos. Firewall: Es un elemento software encargado de revisar todos los paquetes de información que entran o sale de la red, el firewall se encarga de decidir de acuerdo a unas reglas preestablecidas si los paquetes de información pueden salir o no desde la LAN al exterior o si pueden o no entrar desde el exterior a la LAN. Este Firewall/Router sera el encargado de administrar y asegurar toda la comunicación interna de la LAN y de comunicar esta con internet. Se podría implementar la red solamente usando un router y prescindir del firewall o usar el firewall que muchos router tienen incluido, sin embargo, el control de una vivienda es algo que debe implementarse son todas las medidas de seguridad posibles ya que un sistema inseguro puede

CAPÍTULO V. IMPLEMENTACIÓN TEÓRICA DE UN SISTEMA DOMÓTICO

88

provocar problemas con la privacidad y la seguridad de los miembros de la familia. Por ello se optó por implementar un equipo dedicado a la función de firewall, ya que el firewall que traen los routers no es muy configurable, además este equipo se aprovechara también para implementar el router. Para ello se utilizara una distribución GNU/Linux dedica a esta labor llamada IPCOP. Los elementos que necesitamos para implementar este equipo son los siguientes: Necesitamos contar con acceso a internet si queremos poder controlar nuestra vivienda desde cualquier parte. Este acceso a internet debe contar con un dirección IP fija, para ello debemos solicitar a la compañía telefónica proveedora de internet (ISP) que nos entregue una conexión con esta característica. Un computador, no se necesita un equipo muy potente para esta función, pero si es importante que cuente con dos tarjetas de red. Tampoco serán necesarios los periféricos ni la pantalla una vez el equipo este configurado. Una vez cumplidos estos requisitos procedemos a instalar el sistema operativo IPCOP en el equipo, para ello lo descargamos de la página http://www.ipcop.org/download.php y seleccionamos el link que diga Latest Installation CD. No se explicara aquí detalladamente el proceso de instalación, para ello puede consultar la documentación del proyecto que esta en la dirección http://www.ipcop.org/2.0.0/en/install/ html/, sin embargo hay dos puntos importantes a tener en cuenta a la hora de realizar este proceso: 1. Nuestra interfaz de red roja, es decir, la que se comunica con el exterior, es la que va conectada al módem del proveedor de internet, y esta debe ser configurada con la IP fija que nos entregaron. 2. La interfaz verde es la que se comunicara con la red interna, esta debe ser configurada con un rango de IP privada, se puede dejar por defecto la que nos entrega que es la 192.168.1.0 o usar otra de nuestro agrado. Una vez terminada la instalación, conectamos el cable de red del módem del proveedor de internet a la interfaz de red que se selecciono como roja y a la interfaz de red que esta como verde conectamos al switch y ya tenemos una LAN con acceso a internet funcionando, obviamente con los valores por defecto, todo el proceso de configuración del firewall/router se explicara más adelante.

CAPÍTULO V. IMPLEMENTACIÓN TEÓRICA DE UN SISTEMA DOMÓTICO

5.3.3.2.

89

Switch y Switch Wifi

El switch es el elemento de la red que permite que los dispositivos que van a estar en la LAN se conecten al router, este elemento debe ir conectado a la interfaz de red verde del firewall/router. Al switch por los tanto van a ir conectados como mínimo 14 dispositivos, por lo tanto, el switch debe tener al memos esta cantidad de puertos , los dispositivos que se conectaran al switch son los siguientes: El switch Wifi. El servidor OpenDomo. Los agentes Arduino Ethernet con Domino, que van a ser 12 dispositivos. Debido a que es una cantidad elevada de conexiones se necesitara también implementar un patch panel, que es un elemento encargado de recibir todas las conexiones del cableado estructurado y pasarlas a las del switch, para de este modo tener una mayor organización y facilitar la conexión de nuevos dispositivos, además de asegurar que los puertos del switch no sufran daño por la constante conexión y desconexión de dispositivos. También es necesario utilizar un armario o rack pequeño donde instalar estos dispositivos. En las figuras V.4a y V.4b se muestran ejemplos de Switch y Patch Panel que se podrían utilizar para esta instalación y en la figura V.5 se muestra un rack y una posible instalación final.

(a) Ejemplo de Switch

(b) Ejemplo Patch Panel

Figura V.4 El switch Wifi ira conectado al Switch principal, y será el encargado de proporcionar la conexión al firewall/router de manera inalámbrica a los dispositivos de control o a cualquier equipo dentro de la LAN que quiera acceder a internet. 5.3.3.3.

Cableado estructurado UTP

La conexión del servidor OpenDomo y los agentes Domino vamos a realizarlos mediante cables, los motivos por los cuales se va a utilizar cable y no una señal inalámbrica son los siguientes:

CAPÍTULO V. IMPLEMENTACIÓN TEÓRICA DE UN SISTEMA DOMÓTICO

(a) Rack pequeño

90

(b) Instalación con todos los dispositivos

Figura V.5: Rack para instalación de switch

La transmisión por cable nos da mas seguridad, ya que una señal inalámbrica es más fácil de interceptar para un posible atacante. Los agentes Arduino a usar con domino poseen un conector RJ45, el software esta diseñado para funcionar correctamente sobre esta placa, y a pesar de que existen placas con Wifi están tienen un costo mucho mayor. Si se usaran las placas de Arduino con Wifi se aumentaría el consumo de los agentes, ya que el chip encargado de la conexión Wifi tiene un elevado consumo de energía. El cable a utilizar sera cable de par trenzado UTP(Unshielded twisted pair) categoría 5, el más utilizado para este tipo de conexiones, este cable nos brinda un ancho de banda de 100 Mhz y tiene una buena relación calidad/precio. También se necesitara instalar una roseta rj45 en cada uno de los sectores donde ira un agente Domino. En la figuras V.6a y V.6b puede verse un cable UTP con sus conectores y una roseta rj45 respectivamente. 5.3.3.4.

Conexión mediante PLC (Power Line Comunication)

Otra posibilidad para realizar la conexión de los agentes y el servidor al switch es utilizando PLC en vez de cablear la casa con cable UTP. La tecnología PLC permite la transmisión de datos a través del cableado eléctrico de la vivienda, en la figura V.7 puede verse un ejemplo de estos dispositivos del fabricante TP-Link, los cuales incluso tienen un enchufe incorporado para no perder el que utilizan.

CAPÍTULO V. IMPLEMENTACIÓN TEÓRICA DE UN SISTEMA DOMÓTICO

(a) Cable UTP con conector RJ45

91

(b) Roseta RJ45

Figura V.6: Elementos para el cableado estructurado

Figura V.7: Power Line Comunication (PLC)

Para armar una red usando PLC solo es necesario contar con al menos 2 elementos, uno que hace de transmisor y el cual deber ir a la fuente de la señal, en este caso al switch, y otro que hace de receptor, el cual tiene un conector RJ45 hembra al cual se conectar el equipo destino. En el caso de la red a implementar para el sistema domótico necesitariamos un transmisor que iría conectado al switch y un receptor para cada agente, ya que el servidor puede quedar cerca del switch y conectarse mediante cable UTP. Con este sistema nos ahorrariamos el trabajo de tender el cableado estructurado, podríamos prescindir del patch panel y usar un switch con menos entradas, con lo cual se compensaría en parte el mayor costo de comprar estos equipos.

CAPÍTULO V. IMPLEMENTACIÓN TEÓRICA DE UN SISTEMA DOMÓTICO

92

Una cosa a tener en consideración es que podría pensarse que al transmitir internet por los cables de la electricidad, esta señal podría salir de la casa, sin embargo esto no ocurre, ya que la señal llega solo hasta el diferencial y no pasa de ahí, y en caso de estar en un departamento se puede usar la señal con encriptación, la que todos los PLC deben traer.

5.4. Alimentación de los dispositivos Un aspecto muy importante a tener en consideración es la alimentación de los dispositivos que son parte del sistema domótico. Podemos estipular unos requisitos mínimos que debe cumplir este apartado, los cuales seria: Proveer la suficiente potencia para que los dispositivos funcionen correctamente. Impedir, o en el peor de los casos reducir el daño que los equipos puedan sufrir en caso de un corte de la alimentación o un aumento de la tensión. Tratar de no alterar o de ser lo menos intrusiva posible en el aspecto de la vivienda. Para definir las posibilidades en la implementación de la alimentación se separara la alimentación del servidor y equipos de red como el firewall/router, el switch y el servidor de los agentes.

5.4.1.

Alimentación del servidor y elementos principales de la red

Tanto el equipo que tiene instalado el firewall/router como el servidor en el que esta instalado OpenDomo son computadores convencionales, por lo tanto pueden sufrir serios daños con un corte de energía o un aumento repentino de las tensiones de uso normal, para ello es necesario la implementación de una unidad UPS(Uninterruptible Power Supply) que cumple la función de mantener el suministro energético ante un corte y también de filtrar y mantener los niveles de la alimentación constantes. Esta unidad debe ir instalada cerca o dentro del rack, en caso de ser este de un tamaño suficiente para albergarla, por lo cual también se puede usar para alimentar los switchs. En la figura se muestra un ejemplo de una unidad UPS, los tiempos que puede entregar energía por si sola, así como la potencia que sea capaz de dar depende mucho de la calidad y precio de la unidad.

5.4.2.

Alimentación de los agentes

En el apartado de alimentación de los agentes debemos considerar la alimentación del agente es si, es decir, la placa Arduino Ethernet y agregar la alimentación de los sensores y actuadores que irán conectada a ella.

CAPÍTULO V. IMPLEMENTACIÓN TEÓRICA DE UN SISTEMA DOMÓTICO

93

Figura V.8: Ejemplo de unidad UPS

El microcontrolador ATmega que posee la placa Arduino consume como mínimo 9.5mA a 5V y 16Mhz, a esto debemos sumarle consumo del chip Ethernet y el del regulador de tensión, mas el consumo de los sensores, para asegurar un funcionamiento correcto debemos contar con una corriente ideal de uno 100 mA. Esto puede lograrse usando el transformador que poseen las placas Arduino o mediante baterías que puedan proporcionar esta corriente, esta ultima opción solo es recomendable si es imposible contar con un enchufe cerca, o el sensor va a estar muy alejado del agente. En el caso de usar el adaptador de corriente de las placas Arduino sera necesario asegurarse de que exista un enchufe lo suficientemente cerca de donde se instalara el agente. En caso de habilitar la red usando PLC se recomienda usar aquellos que dejan disponible el enchufe.

5.4.3.

PoE (Power Over Ethernet)

Una buena opción para alimentar los agentes y los sensores en caso de habilitarse la red usando cableado UTP es usar la alimentación sobre Ethernet o PoE. La tecnología PoE, esta diseñada para entregar a los dispositivos de red la alimentación que necesitan a través del propio cable de red. Funciona bajo el estándar IEEE 802.3af aprobado el año 2003 por el que se establecen las características de los equipos y tecnología PoE, definiéndose la máxima potencia que puede ser entregada a los dispositivos utilizando formatos de transmisión 10BASE-T, 100BASE-T y 1000BASE-T. Las ventajas que ofrece el uso de PoE son: Alimentación y comunicaciones de datos sobre el mismo cable Mayor control sobre el dispositivo

CAPÍTULO V. IMPLEMENTACIÓN TEÓRICA DE UN SISTEMA DOMÓTICO

(a) Arduino Ethernet con PoE

95

(b) Esquema switch PoE con UPS

Figura V.10: Arduino Ethernet con PoE y esquema switch con UPS

5.5. Instalación de OpenDomo En la sección 4.1 se explicó como realizar la instalación de OpenDomo en una máquina virtual, esta es una instalación que se recomienda hacer para realizar pruebas y conocer el sistema, pero para una instalación final es mejor instalar el sistema en un equipo dedicado.

5.5.1.

Selección del computador

Para correr el sistema no es necesario contar con un equipo potente, ya que OpenDomo es una distribución que no necesita casi recursos para funcionar, incluso puede verse al virtualizarlo que con 100 MB de memoria RAM es más que suficiente, sin embargo hay que tener cuidado al escoger el hardware a utilizar, ya que hay que fijarse que sea compatible con los drivers que OpenDomo trae, esto es importante sobre todo con la tarjeta de red y los puertos USB. Un equipo sobre el cual podría instalarse es por ejemplo un vesa-PC como el mostrado en la figura V.11 o alguno similar, este es un equipo compacto que cabe en la palma de la mano y cumple los requerimientos para correr sin problema OpenDomo, algunas de sus características son: Procesador: Vortex86 200 MHz. Memoria RAM: 128 MByte SDRAM integrado en placa. Tarjeta gráfica: 2D/3D Graphics con MPEG2, integrada en placa, 1600 x 1200. Tarjeta de sonido: integrada en placa, SiS7019, compatible AC97 v2.1. Red: 1 x 10/100 Mbps, Realtek 8100B. USB 1.1: 3.

CAPÍTULO V. IMPLEMENTACIÓN TEÓRICA DE UN SISTEMA DOMÓTICO

96

PS/2: 1. Adaptador IDE para memoria flash (DiskOnModule/DOM): 1. Adaptador CompactFlash: 1. Fuente alimentación: 20 W externo (incluido). Dimensiones: 115 x 115 x 35 mm.

Figura V.11: Vesa PC

5.5.2.

Instalando OpenDomo en una memoria CF(Compact Flash)

La instalación de OpenDomo es este equipo a alguno similar se realiza en una memoria CompactFlash para la cual tiene un adaptador, y el proceso se describe a continuación, todo el proceso se realizara sobre una equipo con Linux como sistema operativo. 1. Lo primero es obtener la ultima ISO de OpenDomo, esto ya se explico en 4.1.2. 2. Conectar la memoria flash al nuestro equipo. 3. Pasar a la cuenta de root o usar sudo para realizar los siguientes pasos. 4. Averiguar la unidad en donde esta la memoria flash,puede ser por ejemplo sda1. 5. Crear 2 directorios uno puede ser /mnt/flash para montar la memoria y otro /mnt/iso-od para montar la imagen ISO de OpenDomo. 6. Montar la unidad flash y la imagen ISO en /mnt/flash y /mnt/iso-od respectivamente. 7. Copiar todo el contenido de /mnt/iso-od a /mnt/flash. 8. Desmontar las dos unidades. 9. Ejecutar syslinux sobre la unidad flash desmontada.

CAPÍTULO V. IMPLEMENTACIÓN TEÓRICA DE UN SISTEMA DOMÓTICO

97

Todos estos pasos se muestran a continuación: $ mkdir /mnt/flash /mnt/iso-od $ mount /dev/sda1 /mnt/flash $ mount [archivo descargado].iso /mnt/iso-od -o loop $ cp /mnt/iso-od/* /mnt/flash $ umount /mnt/flash $ umount /mnt/iso-od $ syslinux /dev/sda1 Una vez instalado OpenDomo en la memoria flash, solo debemos instalarla en el Vesa PC, hay que asegurarse que el equipo este configurado para arrancar desde la unidad CF. Una vez que el equipo haya arrancado con el sistema nos logueamos con el usuario admin y clave opendomo, cuando tengamos la consola activa ejecutamos el comando: $ install_on_disk Con esto hacemos que la configuración del equipo sea permanente y no se pierda cada vez que se inicie el sistema. El proceso de configuración inicial ya se explico en la sección 4.1.2.3.

5.6. Instalando y probando Domino en las placas Arduino Ethernet Los agentes usados en el sistema domótico serán placas Arduino con el sistema Domino, la descripción de las placas Arduino se realizo en el capitulo III y la descripción de Domino se realizo en la sección 2.2.3. El sistema Domino sera instalado sobre una placa Arduino Ethernet que es para la cual esta diseñada la versión 1.0.0 que es la que se usara, además la versión 0.9.8 de OpenDomo ya no soporta la conexión de agentes mediante USB, sino solamente a través de la red.

5.6.1.

Instalación

Para realizar la instalación de Domino lo primero a realizar es obtener la última versión desde la página de OpenDomo en la dirección http://es.opendomo.org/downloads. Para realizar la carga del software a la placa debemos utilizar el IDE de Arduino, todo el proceso de instalación y uso de este IDE se explico en la sección III. Las placas Arduino Ethernet no vienen con un cable USB para realizar la conexión al computador ya que la carga del software se realiza median ICSP, estos pines se muestran en la figura V.12a o bien comprando un adaptador USB que se muestra en la figura V.12b, la cual es la opción más sencilla.

CAPÍTULO V. IMPLEMENTACIÓN TEÓRICA DE UN SISTEMA DOMÓTICO

(a) Conectores ICSP en la placa

98

(b) Adaptador USB Arduino Ethernet

Figura V.12: Arduino Ethernet

Una vez se tiene descargada la última versión de Domino y definida el medio para cargar el software se deben seguir los siguientes pasos, vamos a suponer que se esta usando el adaptador USB. 1. Abrir el IDE de Arduino. 2. Ir al menú Archivo->Abrir y buscar el archivo descargado llamado domino100.ino. 3. Compilar el archivo, para ello hacer click en el icono que tiene el visto bueno. 4. Por ultimo cargar el archivo a la placa, para ello hacer click en el icono que tiene una flecha hacia adelante. Todo este proceso esta más explicado en la sección 3.3.1.2.

5.6.2.

Detalle referentes al código

Hay que tener dos cosas en cuenta en lo referente al código de Domino: 5.6.2.1.

Definición de la IP, MAC y UID

Entre las lineas 44 a 48 mostrados en el código V.1 se define la dirección IP y la dirección MAC de la placa, por defecto viene con una IP de autoconfiguración, que en el código mostrado esta comentado, en la red dómotica a implementar vamos a usar IPs fijas para los agentes, por lo tanto esta IP debe ser cambiada para cada agente al que carguemos el código, lo mismo con la dirección MAC, ya que en una red no pueden haber direcciones MAC repetidas. Algo similar pasa con el UID de cada agente, el cual el recomendable cambiarlo para no tener IDs repetidas, esto debe hacerse en la linea 42, que es la primera linea mostrada en el código V.1.

CAPÍTULO V. IMPLEMENTACIÓN TEÓRICA DE UN SISTEMA DOMÓTICO

99

En el código mostrado se muestra que a la placa se le asigno la IP 192.168.0.3 y se mantuvo la dirección MAC, sin embargo para los siguientes agentes se debe cambiar tanto la IP como la MAC y el UID. Algorithm V.1 Lineas donde se define la IP, MAC y UID #define UID "123456789012" // Write here your own MAC byte mac[] = { 0xBE, 0xAB, 0xEA, 0xEF, 0xFE, 0xED }; //! Default IP address //byte defip[] = {169, 254, 0, 10 }; byte defip[] = {192, 168, 0, 3 };

5.6.2.2.

Modificación para el envió de entradas analógicas

El código de Domino no tiene definido el proceso de envió de los valores obtenidos en las entradas analógicas hacia el servidor OpenDomo, esto es debido a que el valor a enviar puede variar dependiendo del sensor utilizado, por lo tanto esta parte del código debe ser escrita de acuerdo a los sensores a implementar y debemos agregarlo a la función senODControlUpdate() y más especificamente en la sección que comienza en la lineas 1285, lo podemos ver en el código V.2 y debe ir en el else. Todo este proceso se mostrara detalladamente más adelante cuando se realice la implementación practica y se usen sensores reales. Algorithm V.2 Modificación de la función de envió datos conversor if(ISDIGITAL(i)){ if(ports[i].value == LOW ){ msg[28]=’O’; msg[29]=’F’; msg[30]=’F’; msg[31]=0; }else{ msg[28]=’O’; msg[29]=’N’; msg[30]=’ ’; msg[31]=0; } }else{ }

CAPÍTULO V. IMPLEMENTACIÓN TEÓRICA DE UN SISTEMA DOMÓTICO

5.6.3.

100

Probando el funcionamiento de Domino

Para probar el funcionamiento de Domino podemos hacerlo entrando vía web al servidor que trae integrado, para ello solo debemos abrir un navegador cualquiera ya sea desde un computador o algún smartphone o tablet a la dirección que tiene asignado, en este caso debemos entrar a la dirección http://192.168.0.3 y deberá mostrarse lo que aparece en la figura V.13a. También podemos probarlo mediante telnet o netcat, en ambos casos debemos conectarnos a la IP 192.168.0.3 y el puerto 1729, el caso de telnet se muestra en la figura V.13b.

(a) Conexión vía web

(b) Conexión por telnet

Figura V.13: Conexión por web y telnet

5.7. Configuración de IPCOP y asignación de IP de los dispositivos 5.7.1.

Configuración de IPCOP

El firewall/router que vamos a utilizar y que hemos implementado usando la distribución Linux IPCOP, cuya instalación hemos descrito en la sección 5.3.3.1 debe cumplir una política de asignación de IPs que va a tener las siguientes condiciones. Un rango de IPs fijas que irán desde 192.168.0.2 hasta 192.168.0.99, estas IPs serán las que asignaremos al servidor OpenDomo, quien tendrá la IP 192.168.0.2 y desde la .3 hasta la .99 estarán disponibles para los agentes, como en este caso son 12 agentes estas serán desde la 192.168.0.3 hasta la 192.168.0.14. Un rango de IPs que serán adjudicadas mediante un servidor DHCP y que serán desde la 192.168.0.100 hasta la 192.168.0.200 las cuales serán asignadas a los dispositivos que se conectes a la red mediante Wifi, entre ellos estarán los dispositivos de control de la instalación dómotica y cualquier equipo que necesite conectarse a internet. Se debe realizar un DNAT para dirigir todas las conexiones provenientes desde internet y que vayan al puerto 80 hacia la IP 192.168.0.2 que es la IP del servidor OpenDomo.

CAPÍTULO V. IMPLEMENTACIÓN TEÓRICA DE UN SISTEMA DOMÓTICO

101

Para la seguridad de la red también deben aplicarse ciertas políticas al firewall, estas deben ser las siguientes: Impedir el acceso tanto al servidor como a los agentes mediante un filtrado MAC, es decir, que cualquier equipo dentro de la LAN tendrá acceso a Internet o a cualquier otro equipo que tenga una IP mayor a la 192.168.0.99 pero solo los equipos cuya dirección MAC sea autorizada podrán conectarse a una IP que este entre la .2 y la .99, que son las IPs reservadas para el servidor y los agentes Domino. Bloquear cualquier conexión desde el exterior hacia las IPs asignadas a los agentes. Esta configuración se muestra en la figura V.14, todo el proceso de configuración de IPCOP no se explicara aquí ya que es un tema que se escapa a lo especifico de la tesis.

Figura V.14: Designación de IP a los elementos de la red

5.7.2.

Configuración de la IP del servidor y los agentes

5.7.2.1.

Asignación de IP, MAC y UID a los agentes Domino

A cada agente le asignaremos una IP que debe de estar entre la 192.168.0.3 a la 192.168.0.99, en este caso usaremos IPs consecutivas para cada uno siguiendo el orden de la zona o sector que ocuparan, estas IPs se las asignaremos directamente en el código de Domino, tal como se explico en la sección 5.6.2.1, también debemos asignarles a cada uno una dirección MAC diferente y una UID diferente, este proceso puede realizarse vía comandos conectandonos mediante telnet

CAPÍTULO V. IMPLEMENTACIÓN TEÓRICA DE UN SISTEMA DOMÓTICO

102

o netcat al agente, pero es mejor hacerla directamente mediante el código, así si alguna vez necesitamos resetear el agente a los valores iniciales, ya tendrán asignados una IP y dirección MAC validos dentro de la red. De este modo las IP, MAC y UID de los agentes quedaría asignados como se muestra en la tabla V.1. Sector

UID

Dirección IP

MAC

1 - Entrada

123456789000

192.168.0.3

BE:AB:EA:EF:FE:ED

2 - Sala principal

123456789001

192.168.0.4

BE:AB:EA:EF:FE:EE

3 - Cocina y Comedor

123456789002

192.168.0.5

BE:AB:EA:EF:FE:EF

4 - Dormitorio principal

123456789003

192.168.0.6

BE:AB:EA:EF:FE:F0

5 - Baño dormitorio principal

123456789004

192.168.0.7

BE:AB:EA:EF:FE:F1

6 - Dormitorio

123456789005

192.168.0.8

BE:AB:EA:EF:FE:F2

7 - Dormitorio

123456789006

192.168.0.9

BE:AB:EA:EF:FE:F3

8 - Segundo Baño

123456789007

192.168.0.10

BE:AB:EA:EF:FE:F4

9 - Lavandería

123456789008

192.168.0.11

BE:AB:EA:EF:FE:F5

10 - Garaje

123456789009

192.168.0.12

BE:AB:EA:EF:FE:F6

11 - Patio

123456789010

192.168.0.13

BE:AB:EA:EF:FE:F7

12 - Pasillo

123456789011

192.168.0.14

BE:AB:EA:EF:FE:F8

Cuadro V.1: IP, MAC y UID de cada agente Domino

5.7.2.2.

Configuración de IP OpenDomo

Al realizar la instalación de OpenDomo este tiene como configuración por defecto conectarse mediante DHCP, por lo tanto al conectarlo a la red va a tomar alguna IP entre 192.168.0.100-200, para conocer la IP que tiene asignada tenemos muchas opciones, si tenemos acceso a domino mediante una pantalla y teclado podemos averiguarla ejecutando el comando ifconfig, si no es así podemos conectarnos a IPCOP y averiguar cuales son las IPs que tiene asignada mediante DHCP o también podemos usar algún programa como nmap para escanear la red y averiguar los equipos conectados. Una vez sabemos la IP que tiene OpenDomo podemos realizar la configuración mediante la pagina del servidor que es la opción mas sencilla, para ello vamos a un navegador e ingresamos la IP de OpenDomo, se nos pedirá usuario y contraseña. Una vez ingresemos veremos la pantalla de la figura V.15a, vamos a la opción Configurar de la parte superior, veremos lo que se muestra en la figura V.15b, aquí seleccionamos la opción Red, pasaremos a la pantalla que muestra la figura V.15c, aquí seleccionamos la opción Configuración de la interfaz de red, en la siguiente pantalla seleccionamos la opción static del combo de la derecha y completamos la información ingresando:

CAPÍTULO V. IMPLEMENTACIÓN TEÓRICA DE UN SISTEMA DOMÓTICO

103

IP: 192.168.0.2 Puerta de enlace: 192.168.0.1 Servidor de tiempo: Aqui ingresamos la dirección de algún servidor ntp, para chile podemos usar ntp.shoa.cl Servidor DNS: Aqui ingresamos el servidor DNS de nuestro proveedor de internet, en el ejemplo se ha colocado la IP del firewall/router pero no esto no es valido al menos que se instale un servidor DNS en este equipo. El ingreso de la información se muestra en la figura V.15d. Una vez se ingrese toda la información vamos al menú Configurar, guardamos los cambios, reiniciamos el equipo y esta vez al arrancar lo hará con la IP 192.168.0.2.

(a) Inicio OpenDomo

(b) Menú configuración

(c) Menú red

(d) Configuración IP

Figura V.15: Pasos para configurar IP en OpenDomo

CAPÍTULO V. IMPLEMENTACIÓN TEÓRICA DE UN SISTEMA DOMÓTICO

104

5.8. Conexión de los sensores y actuadores a los agentes Para poder realizar los objetivos propuestos en la sección 5.1.1 se necesitan instalar sensores que serán permanentemente leídos por el agente a cargo y actuadores que serán activados por el mismo cuando sea necesarios. En esta sección mostraremos como se realiza la comunicación de estos dispositivos con los agentes Domino.

5.8.1.

Comandos usados en la configuración de Domino

Domino posee una serie de comandos que se utilizan para definir las funciones que realizaran cada uno de los pines de la placa Arduino Ethernet. Estos comandos pueden ser enviados usando telnet o netcat, para ello y suponiendo que la IP del agente Domino que quiere configurar es 192.168.0.3 desde una consola de Linux ejecute: :~$ telnet 192.168.0.3 1729 o :~$ nc 192.168.0.3 1729

Con esto nos conectaremos al agente y podremos ejecutar un comando, el tipo de conexión es no persiste, por lo tanto cada vez que ejecutemos un comando la conexión se cerrara y debemos hacerla de nuevo para ejecutar el siguiente comando. En la tabla V.2 se muestran todos los comandos existentes y su función. A los comandos que realizan una configuración se le deben pasar algunos parametros, estos son los siguientes: lbl puerto alias: A este comando se le deben pasar dos parametros, el primero es el puerto al que se le aplicara el alias y el segundo el alias a aplicar, el alias debe tener 5 caracteres. cfg puerto función: Se le deben pasar el puerto a configurar y el tipo de función que cumplirá, estas pueden ser: • do=salida digital • doA=salida digital y puerto de alarma • di=entrada digital • ao=salida analógica (en realidad, onda PWM pseudo-analógica, experimental) • ai=entrada analógica • x=deshabilitado set puerto valor: Se le deben pasar el puerto y el valor a aplicarle, estos valores puede ser:

CAPÍTULO V. IMPLEMENTACIÓN TEÓRICA DE UN SISTEMA DOMÓTICO

Comando

Descripción

lst

Lista la configuración de los puertos

echo

Activa o desactiva el echo local

debug

Activa o desactiva el modo debug

default

Carga la configuración por defecto

load

Carga la configuración almacenada

save

Guarda la configuración en la EEPROM

cfg

Configura un puerto especifico

lbl

Asigna un alias a un puerto especifico

reset

Limpia la EEPROM

map

Muestra el contenido de la EEPROM

put

Cambia un Byte en el contenido de la EEPROM

ver

Muestra la versión instalada de Domino

snm

Asigna un nuevo nombre a la placa

grp

Agrupa dos puerto en un puerto virtual

sop

Asigna una operación a un grupo de puertos

set

Asigna un valor a un puerto de salida

lnk

Crea un enlace(link) entre dos puertos

unl

Deshace el enlace entre dos puertos

lln

Lista los enlaces de puertos actuales

lcf

Configura un enlace especifico

upt

Muestra el tiempo que el sistema lleva encendido

mem

Muestra la memoria disponible

eth

Funciones Ethernet

105

Cuadro V.2: Listado de comandos disponibles en Domino

• “on” o “off” en el caso de un puerto de salida digital. • 0-255 en el caso de un puerto de salida analógico. lnk puerto1 puerto 2; unl puerto1 puerto2: Hay que pasarle los dos puertos que se enlazaran o que están enlazados en el caso de unl. lcf valor: Se le pasa el parametro valor el cual es el tipo de link que se va a crear, estos pueden ser:

CAPÍTULO V. IMPLEMENTACIÓN TEÓRICA DE UN SISTEMA DOMÓTICO

106

• d=directo, si el puerto de entrada se pone a "on", el puerto de salida se pondrá también a "on". También funciona con analógicos. • i=inverso, a la inversa que el anterior. • p=pulse, si el puerto de entrada pasa de "off" a "on", el puerto de salida se pondrá a "on"; no habrá ningún cambio cuando el puerto de entrada vuelva a "off". • f=fall, a la inversa que el anterior, el cambio se producirá cuando el puerto de entrada pase de "on" a "off". • w=low warning, se activa cuando el puerto1 (que será analógico) obtiene un valor por debajo del aviso mínimo, y se desactiva cuando el valor vuelve a estar fuera del rango de aviso. • W=high warning, exactamente igual que el tipo anterior, pero con el valor de aviso máximo. snm bname: Se le pasa el nombre de la placa, este debe tener 5 caracteres. put posicionM valor: Se pasa la posición de la memoria en la cual se desea escribir y como segundo parametro el valor a escribir que debe ser un valor decimal entre 00000 y 00255. grp puerto1 puerto2: Se pasan como parametros los dos puertos que se agruparan. sop puertoV operación: El primer parametro es el puerto virtual y el segundo la operación a realizar, esta puede ser SUM, AND y OR.

5.8.2.

Puertos disponibles en los agentes

Los agentes Domino están instalados en una placa Arduino Ethernet, esta placa provee a cada sistema domino de un numero de puertos digitales y analógicos que se pueden ver en la figura V.16. Sin embargo los puertos analógicos A0 y A1 no se pueden utilizar ya que se utilizan para restaurar la placa a su configuración de fabrica y los puertos digitales del 10 al 13 son usados por el controlador Ethernet y el puerto 4 para leer la tarjeta SD en caso de existir una. Por lo tanto tenemos plenamente funcional en el agente 4 puerto análogos ai002-ai005 y 9 puertos digitales. 5.8.2.1.

Puertos digitales

Los puertos digitales son puertos que pueden funcionar solamente con los estados 1 o 0 que electrónicamente se expresan en volts, asignando 0 volts al valor 0 y 5 volts al valor 1. Cada agente Domino posee 14 puertos digitales, por defecto nombrados como do000 a do0013, que pueden ser usados como entradas o salidas, aunque no todos están disponibles. Un puerto

CAPÍTULO V. IMPLEMENTACIÓN TEÓRICA DE UN SISTEMA DOMÓTICO

107

Figura V.16: Puertos del agente Domino

digital configurado como salida podrá tener 0 o 5 volts y sera usado para controlar los elementos actuadores del sistema domótico. Un puerto digital configurado como entrada podrá leer una tensión de 0 o 5 volts a su entrada y sera usado para saber el estado de elementos que se comuniquen usando estos valores de tensiones. También los puertos do003, do005, do006, y do009 puede ser configurados como salida PWM. 5.8.2.2.

Puertos analógicos

Los puertos analógicos son puertos que actuando como entradas leen valores continuos, estos puertos funcionan con un conversor análogo/digital (A/D) de 10 bits que transforma el valor de su entrada en un valor numérico que esta entre 0 y 1023 y el cual es proporcional a este, es decir, para una entrada de valor 0 sera 0, para una entrada igual al máximo valor configurado como entrada sera 1023, para la una tensión de entrada igual al 10 % del valor máximo sera 102, etc. Como valor máximo de referencia se puede usar un valor interno que es de 5 volts o usar cualquier otro valor que se ingresa en el pin AREF de la placa, por defecto Domino viene programado para usar el valor que se pase en la referencia externa, si se desea utilizar la referencia interna se debe modificar en el código. Cada agente Domino cuenta con 6 pines analógicos por defecto nombrados como ai000 a ai005 , de los cuales los pines ai000 y ai001 no pueden ser usados ya que cumplen funciones especificas dentro del sistema como poder resetear el equipo a su estado inicial.

CAPÍTULO V. IMPLEMENTACIÓN TEÓRICA DE UN SISTEMA DOMÓTICO

108

Los pines analógicos como entradas son usados para leer el estado de los diferentes sensores que se instalan en un sistema domótico. 5.8.2.3.

Puertos virtuales

Los puertos virtuales son puertos que no existen realmente en la placa, pero que pueden ser usados para realizar operaciones temporales, para ello es necesario agrupar dos o mas puertos en uno virtual y asignarles una operación, las operaciones soportados son AND, OR y SUM, que realizan una operación AND entre los puertos agrupados, es decir valdrá 1 solo cuando todos sean 1, una operación OR en la cual valdrá 1 cuando alguno de los puertos agrupados valga 1 y la operación SUM realiza la suma de los valores de los puertos agrupados.

5.8.3.

Conexión de un sensor al agente

Los sensores pueden funcionar entregando valores analógicos o digitales. Entre los sensores que entregan valores digitales podemos nombrar un sensor de movimiento, el cual tiene 0 volts en su salida cuando no ha detectado movimiento y cambia a 5 volts cuando lo detecta. Un sensor que entrega valores continuos a analógicos puede ser el sensor de luminosidad, el cual entrega un valor entre 0 y 5 volts dependiendo de la cantidad de luz que hay en la habitación. Dependiendo de si el sensor entrega valores digitales o analógicos dependerá el puerto al cual debemos conectarlo, si entrega valores digitales debe ir conectado a un puerto digital configurado como entrada y si entrega valores analógicos a un puerto analógico también configurado como entrada. Los pasos a seguir para conectar un sensor a un agente son: 1. Definir si el sensor entrega valores analógicos o digitales. 2. En caso de entregar valores analógicos definir el valor máximo entregado por si en necesario modificar esta configuración en el código de Domino. 3. Modificar el código de domino en caso de que la entrada sea analógica para transmitir el valor a OpenDomo, tal como se explico en la sección 5.6.2.2. 4. De haber sido necesarios los pasos 2 y 3 volver a instalar Domino al agente como se explica en 5.6.1. 5. Conectarse a Domino mediante telnet o netcat y configurar el puerto a utilizar. 6. Conectarse a la interfaz web de domino y probar que se esta leyendo el sensor. Todo este proceso se explicara detalladamente en el capitulo donde se realiza la implementación real.

CAPÍTULO V. IMPLEMENTACIÓN TEÓRICA DE UN SISTEMA DOMÓTICO

5.8.4.

109

Conexión de los actuadores al agente

Para conectar un actuador debemos averiguar si este actuador se activa con niveles digitales o con una señal PWM, en el caso de activarse con niveles digitales debe conectarse a un puerto digital configurado como salida y usar niveles lógicos TTL y de funcionar con una señal PWM se debe configurar el puerto como salida analógica. Los pasos a seguir son más simples que para conectar un sensor y serian: 1. Averiguar como se activa el actuador. 2. Conectarse a Domino mediante telnet o netcat y configurar el puerto a utilizar. 3. Conectarse a la interfaz web de domino y probar que se puede activar o desactivar el actuador. Al igual que la sección anterior todo esto se vera detalladamente en el capitulo donde se realiza una implementación real.

5.9. Configuración y uso de OpenDomo En la sección 5.7.2.2 se mostró como configurar la IP de OpenDomo y en la sección 4.2 se describieron algunos conceptos importantes usados dentro de un sistema domótico funcionando con OpenDomo, en esta sección veremos como usar esos conceptos para configurar el sistema de acuerdo a los objetivos propuestos para nuestra vivienda y conoceremos el manejo de OpenDomo.

5.9.1.

Los menús de OpenDomo

Al ingresar al sistema OpenDomo se muestra una completa interfaz para manejar el sistema OpenDomo, esta interfaz esta compuesta por cuatro opciones principales, ya se mostró en la figura V.15a y se describen a continuación. 1. Control: Se muestran las opciones para controlar las características mas importantes de OpenDomo, como manejar el estado del sistema, las escenas, el acceso a las camaras, etc. Puede variar dependiendo de los paquetes que tenga instalado el sistema. 2. Zonas: Muestra las zonas en las que ha sido dividida la vivienda y permite el acceso a cada una de ellas de manera rápida. 3. Herramientas: Permite el acceso a operaciones como ver los archivos del sistema, los logs y las estadísticas.

CAPÍTULO V. IMPLEMENTACIÓN TEÓRICA DE UN SISTEMA DOMÓTICO

110

4. Configurar: Desde esta opción tenemos acceso a la configuración del sistema, desde aquí se pueden manejar todas las características que permite OpenDomo, como el manejo de los puertos de los agentes, configurar escenas, condiciones, reiniciar el sistema, red, etc.

5.9.2.

Configurar las zonas

En la sección 5.2 se realizo una definición de los sensores y actuadores a utilizar en el sistema domótico, para ello se realizo una separación en sectores, esos sectores en OpenDomo pasan a denominarse zonas, estas zonas permiten un rápido acceso a los dispositivos que son ubicados en ella, por ejemplo, al acceder a la zona denominada entrada, que nosotros llamamos sector 1, tendremos acceso a la cámara y al control de la iluminación que esta en esa zona. Para definir una zona debemos ingresar al OpenDomo vía web, e ir a la sección Zonas del menú superior, aquí se mostraran 3 botones, el primero Administrar Zonas es el que nos permite acceder a la pantalla donde ingresamos, borramos o editamos estas, el botón Configurar Plano nos permite configurar un plano para acceder de manera gráfica a las distintas zonas, esta es una opción que esta en periodo de pruebas, por lo tanto no la usaremos, y el ultimo botón es para la ayuda. Damos click en Administrar Zonas, lo cual nos enviara a otra página donde debemos dar click en el botón Añadir Zona, en la pagina a la que nos envía ingresamos la descripción, que podría ser Entrada para el sector 1, las coordenadas del mapa las dejamos en blanco y damos click en Añadir, nos enviara a la ventana anterior pero esta vez veremos nuestra zona listada, hay que repetir el proceso para los otros sectores de la vivienda. Finalizado el proceso deberiamos ver algo similar a lo mostrado en la figura V.17

Figura V.17: Definición zonas en OpenDomo

CAPÍTULO V. IMPLEMENTACIÓN TEÓRICA DE UN SISTEMA DOMÓTICO

5.9.3.

111

Configurar las etiquetas

En la sección 4.2.5 se definió lo que son las etiquetas, para agregar una etiqueta debemos seguir los siguientes pasos: 1. Ir a menú Configurar. 2. Seleccionar la opción Administrar etiquetas. 3. Click en el botón Añadir etiqueta. 4. Ingresar el nombre de la etiqueta, por ejemplo luces, la cual se asignara a todos los elementos que controlen las luces de la vivienda. 5. Click en el botón aplicar.

5.9.4.

Configurar la comunicación con los agentes

El servidor OpenDomo puede leer y accionar los puertos que tiene configurado cada agente, esto permite un mayor control y capacidad de configuración que si se usaran solamente los agentes, ya que desde OpenDomo podemos mejorar las condiciones de accionamiento de algún puerto, se pueden manejar secuencias y el envió de notificaciones al usuario, etc. Para configurar el uso que daremos a los puertos de los agentes debemos seguir los siguientes pasos: 1. Ir al menú Configurar. 2. Seleccionar Administrar sistemas de control. 3. Seleccionar Configurar puertos. 4. Se mostrara una pantalla con los agentes Domino que hay en la red y sus puertos, como se muestra en la figura V.18a, aquí vemos un agente con 3 puertos. 5. Seleccionar el puerto que queremos configurar, para el ejemplo luz01. 6. En el formulario que se muestra, y que puede verse en la figura V.18b para una salida y en la figura V.18c para una entrada , los campos que aparecen se definen como: a) Puerto: Indica el agente y el puerto al que nos estamos conectando, este valor no puede ser modificado. b) Nombre: El nombre que usaremos en OpenDomo para este puerto, para el ejemplo hemos puesto “luz sala principal”.

CAPÍTULO V. IMPLEMENTACIÓN TEÓRICA DE UN SISTEMA DOMÓTICO

112

c) Estado: El estado del puerto, Habilitado significa que lo estamos usando y Deshabilitado que no esta en uso por OpenDomo. d) Valores posibles: Se muestra cuando se configura una salida, y son los valores que puede tomar el puerto, como en este caso es un puerto que en el agente esta configurado como salida digital solo puede tomar los valores on y off (0 y 5 volts respectivamente). e) Zona: La zona a la cual pertenece el agente, en este caso salaprincipal. f ) Etiquetas: La etiqueta que le asignamos al puerto, como esta entrada controlara una luz de la vivienda, se asigna la etiqueta luces. g) Unidades: Este aparece para la configuración de una entrada, aquí indicamos la unidad que mide el sensor, por ejemplo para un sensor de temperatura puede ser grados Celcius. En el ejemplo es un sensor de luminosidad así que hemos puesto cd(candelas). h) Tipo: Aparece solamente cuando es una entrada, aquí seleccionamos el tipo de entrada que puede ser switch, pulser o analog, para el ejemplo se esta midiendo la luminosidad por lo tanto se selecciona analog. 7. Damos click en el botón Aplicar. 8. Guardamos la configuración. Si ahora vamos a ver una zona se vera lo de la figura V.18d, donde aparecen en la zona el control de la luz y el valor medido por el sensor.

5.9.5.

Instalar una cámara IP

Para agregar una cámara IP al sistema OpenDomo debemos seguir los siguientes pasos: 1. Ir a la opción Configurar del menú superior. 2. Seleccionar la opción Videovigilancia. 3. Seleccionar Administrar cámaras. 4. Click en el botón Añadir. 5. Completar los datos del formulario que se muestra en la figura de la siguiente manera: a) Nombre: El nombre que tendrá la cámara, por ejemplo para la cámara de la entrada puede ser Cam Entrada. b) Zona: Aqui seleccionamos la zona a la cual pertenece la cámara, en este caso seleccionamos la zona entrada.

CAPÍTULO V. IMPLEMENTACIÓN TEÓRICA DE UN SISTEMA DOMÓTICO

(a) Listado puertos a configurar

(b) Configurar puerto de salida

(c) Configurar puerto de entrada

(d) Vista de zona con puertos configurados

113

Figura V.18: Configuración puertos del agente en OpenDomo

c) URL del streaming: Aqui debemos ingresar la URL en la cual la cámara esta transmitiendo, esta es diferente para cada modelo de cámara IP usada. d) Autentificación HTTP (usuario): Ponemos el usuario que tiene acceso a la transmisión de la cámara. e) Autentificación HTTP (password): Ponemos la clave de acceso del usuario ingresado antes. 6. Si la configuración esta correcta damos click en Aplicar y nos enviara al listado de camaras. Para poder visualizar la transmisión de las camaras es necesario habilitar el acceso a las camaras, para ello desde el menú Control seleccionamos la opción Cambiar estado, el cual nos enviara a una pantalla donde podemos controlar los servicios del sistema, vamos a la opción Acceso a las cámaras y cambiamos su estado a “ON”. El acceso a las camaras puede hacerse desde el menú Control seleccionando la opción Mostrar cámaras en donde veremos todas las camaras que tenemos habilitadas o accediendo a la zona en donde esta instalada.

CAPÍTULO V. IMPLEMENTACIÓN TEÓRICA DE UN SISTEMA DOMÓTICO

114

Figura V.19: Añadir cámara IP a OpenDomo

5.9.6.

Configurar la cuenta de correo

Si se quiere configurar OpenDomo para que notifique por correo electrónico en el caso de algún evento, es necesario configurar la cuenta de correo que usara para enviar dichas notificaciones, esta configuración es igual a la que se realiza para un cliente de correo cualquiera, OpenDomo es totalamente compatible con por ejemplo cualquier cuenta de gmail. Para configurar seguimos los siguientes pasos: 1. Ir al menú Configurar. 2. Seleccionar la opción Configura cuenta de correo. 3. Completar los campos requeridos a) Servidor SMTP: La dirección del servidor SMTP, en el caso de gmail es smtp.gmail.com. b) Puerto SMTP: El puerto que utiliza el servidor SMTP, en el caso de gmail es el 587. c) Usuario: El usuario de correo, por ejemplo [email protected]. d) Password: La clave de acceso al correo. e) Autentificación: El tipo de autenticación del servidor, si la autenticación es cifrada se selecciona LOGIN, si no es cifrada se selecciona PLAIN, en el caso de gmail usar LOGIN. 4. Damos click en Aplicar y el sistema nos avisa de que la cuenta ha sido configurada y que si esta correcta recibiremos un email de notificación.

CAPÍTULO V. IMPLEMENTACIÓN TEÓRICA DE UN SISTEMA DOMÓTICO

5.9.7.

115

Realizar una simulación de presencia mediante secuencias

Para simular presencia podemos ejecutar una secuencia, las secuencias se definieron en la sección 4.2.3, para el ejemplo vamos a simular que se enciende la luz de la sala principal, 1 minuto despues se enciende la luz del dormitorio principal, un minuto despues se apaga la luz de la sala principal, para ello debemos seguir los siguientes pasos: 1. Ir al menú Configurar. 2. Seleccionar Administrar secuencias. 3. Click en el botón Añadir. 4. Ingresar un nombre para la secuencia, para el ejemplo se ingresa “Simular presencia”. 5. Click en Añadir. 6. Nos enviara a una pantalla donde ingresamos los pasos, los campos de la sección inferior donde se agrega un paso se describen como: a) En el primer combo se selecciona la acción a ejecutar. 1) Establecer: Se usa para asignar un valor en alguno de los puertos. 2) Establecer todos: Se usa para asignar un valor a los todos los puertos bajo una etiqueta. 3) Esperar: Permite ingresar un periodo de espera, que puede ser en tiempo o ante algún valor de entrada de un puerto. 4) Reproducir un sonido: Emite un sonido. b) El segundo combo nos permite seleccionar el elemento sobre el cual se realiza la acción seleccionada y su contenido depende del valor del primer combo: 1) Para una acción de Establecer muestra los puertos disponibles. 2) Para una acción de Establecer todos muestra las etiquetas disponibles. 3) Para una acción de Esperar muestra los tiempos y las entradas disponibles. 4) Para Reproducir un sonido muestra los sonidos disponibles. c) El tercer combo solo aparece para las acciones Establecer y Establecer todos y permite seleccionar el estado al cual se va establecer el o los puertos seleccionados. 7. Ingresar el primer paso como Establecer -> Luz sala principal -> on. 8. Ingresar el segundo paso como Esperar -> 60 segundos. 9. Ingresar el tercer paso como Establecer -> Luz dorm principal -> on

CAPÍTULO V. IMPLEMENTACIÓN TEÓRICA DE UN SISTEMA DOMÓTICO

116

10. Ingresar cuarto paso como Esperar -> 60 segundos. 11. Ingresar quinto paso como Establecer -> Luz sala principal -> off 12. Guardar la configuración.. Despues de esto se debería ver la secuencia de la manera mostrada en la figura V.20

Figura V.20: Configurar secuencia para simular presencia

5.9.8.

Configurar ejecución de la simulación de presencia mediante condiciones

Las condiciones se definieron en la sección 4.2.2, y vamos a hacer uso de ellas para ejecutar la secuencia que simula presencia en una hora determinada que sera las 21 horas, para ello seguimos los siguientes pasos: 1. Ir a menú Configurar. 2. Seleccionar Administrar condiciones. 3. En la siguiente pantalla damos click en Añadir. 4. Ingresamos un nombre para la condición, para el ejemplo ingresamos “Ejecutar simulación presencia”. 5. Click en Añadir y nos envía a una pantalla donde configuramos la condición. 6. En Ejecutar acción o secuencia seleccionamos lo que queremos ejecutar cuando se cumpla la condición, en este caso la secuencia “simular presencia”.

CAPÍTULO V. IMPLEMENTACIÓN TEÓRICA DE UN SISTEMA DOMÓTICO

117

7. Damos click en el botón Añadir requisito. 8. En la siguiente pantalla tenemos 3 combos: a) En el primero seleccionamos el elemento sobre el cual se aplica el criterio, tenemos día de la semana, hora, día del mes y agente. b) En el segundo combo seleccionamos el criterio a aplicar, puede ser igual a, diferente de, mayor que y menor que. c) En el ultimo combo seleccionamos el valor con el cual vamos a comparar el elemento seleccionado en el primer combo usando el criterio del segundo combo, si la comparación es verdadera entonces la condición se cumple. 9. En esta venta ingresamos hora -> igual a -> 21:00, con esto haremos que la condición para ejecutarse sea todos los días a las 21 horas. 10. Click en Añadir y volvemos a la ventana anterior, esta vez se muestra en la parte izquierda de la ventana la condición ingresada, esto se muestra en la figura . 11. Click en el botón Guardar. 12. Guardar la configuración.

Figura V.21: Configurar condición

5.9.9.

Configurar una escena

Las escenas se describieron en la sección 4.2.7, aquí se configurara una escena que se llamara “Cenando”, la cual se configurara para que sea ejecutada mientras la familia este cenando, durante esta escena la cortina del comedor debe estar cerrada, las luces de los dormitorios deben estar

CAPÍTULO V. IMPLEMENTACIÓN TEÓRICA DE UN SISTEMA DOMÓTICO

118

apagadas, y la luz del comedor encendida. Para crear esta escena debemos seguir los siguientes pasos. 1. Ir al menú Configurar. 2. Seleccionar Administrar escenas. 3. Click en Añadir. Se mostrara una pantalla donde debemos seleccionar los elementos que serán partes de la escena, como se muestra en la figura V.22a, para el ejemplo seleccionamos Cortina comedor, Luz pieza 1, Luz pieza 2, Luz dormitorio principal. 4. Click en Añadir escena. Ingresamos un nombre para la escena en este caso “Cenando”. 5. Click en Siguiente, se mostrara un mensaje avisando que la escena ha sido guardada. 6. Damos click en Personalizar escena, aquí configuramos el estado en que queremos los elementos, esto se muestra en la figura V.22b, queremos que la cortina este cerrada, por lo tanto dejamos el estado en “off”, lo mismo con las luces del dormitorio principal, pieza 1 y pieza 2, la luz del comedor debe estar encendida, es decir, en “on”. 7. Click en Guardar cambios. 8. Guardar la configuración.

Para activar una escena debemos ir al menú Control y seleccionar la opción Seleccionar escena, en la pantalla a la que nos envía se muestran las escenas disponibles, hacemos click sobre una de ellas para activarla. Para detener una escena seguimos los mismos pasos pero esta vez debemos hacer click sobre el botón Salir de la escena actual.

5.9.10.

Configurar el riego automatico

Para configurar el riego automatico del patio, por ejemplo si se quiere que este se inicie todos los días a la 00:00 horas lo haga por 15 minutos, es decir, hasta las 00:15 horas. Se debe realizar lo siguiente. 1. Configurar el puerto del agente que accionara la electroválvula, siguiendo los pasos indicados en la sección V.18. 2. Crear una secuencia que inicie el riego, para ello se deben seguir los pasos indicados en la sección 5.9.7, y que debe contener como único paso el establecimiento del puerto que acciona la electroválvula a “on”.

CAPÍTULO V. IMPLEMENTACIÓN TEÓRICA DE UN SISTEMA DOMÓTICO

119

(a) Selección elementos que participaran de la escena

(b) Configuración del estado de los elementos de la escena

Figura V.22: Configuración de escena

3. Crear un secuencia que cierre la electroválvula, para ello la secuencia debe establecer el puerto al estado “off”. 4. Crear una condición que ejecute la secuencia que enciende la electroválvula a las 00:00 horas, esto se explico en la sección 5.9.8. 5. Crear una condición que ejecute la secuencia que cierra la electroválvula a las 00:15 horas. Con esta configuración logramos hacer que el OpenDomo llegado las 00:00 horas active el actuador que encienda el mecanismo que realiza el riego, en este caso una electroválvula, que es la encargada de permitir el paso del agua hacia los aspersores, y que a las 00:15 desactive el actuador apagando la electroválvula y deteniendo el riego.

5.9.11.

Configurar el envió de email en caso de detección de presencia

Para configurar el envió de un correo ante ciertos eventos, como en este caso la detección de presencia, lo primero que se debe realizar es tener configurado el servidor SMTP que utilizara, esto se explico en la sección 5.9.6. Una vez esta cuenta esta configurada y funcionando se deben seguir los siguientes pasos:

CAPÍTULO V. IMPLEMENTACIÓN TEÓRICA DE UN SISTEMA DOMÓTICO

120

1. Ir al menú Configurar. 2. Seleccionar la opción Gestor de eventos. 3. Se mostrara la pantalla de la figura . 4. Aqui seleccionamos la opción “Movimiento detectado” del combo Evento y “Envía correo electrónico” del combo Acción, tal como se muestra en la figura . 5. Damos click en aplicar y se agregara a la lista superior. 6. Salir y guardar la configuración. Con esto se logra que cada vez que el sistema detecte movimiento mediante las camaras web, no haciendo uso del sensor de movimiento, envié un correo a la cuenta que se configuro como del usuario en el wizard inicial.

Figura V.23: Pantalla configuración de eventos

Capítulo VI

Implementación práctica de elementos del sistema domótico A diferencia del capitulo V en cual se mostró la implementación de un sistema domótico solo de manera teórica, debido al alto costo que significaría realizar toda la implementación domótica a una vivienda real, en este capitulo se mostrara como llevar a cabo la conexión y configuración de algunos sensores y actuadores de una manera práctica, se mostraran los circuitos a implementar así como todos los pasos para configurar los agentes y el servidor Domino haciendo uso de lo descrito en el capitulo V, para de esa manera demostrar que efectivamente lo descrito allí es completamente posible de implementar si se cuenta con los recursos suficientes. Los dispositivos que se diseñaran e implementaran serán los siguientes: Un dispositivo actuador para la activación de equipos que funcionen enchufados al circuito eléctrico convencional de la vivienda, como pueden ser ampolletas, calefactores, electroválvulas, etc. Distintos sensores, estos serán sensor de temperatura, sensor de luminosidad y sensor de movimiento. También se realizara el control de una ampolleta conectada a los 220 VAC, la cual podrá encenderse y apagarse mediante la interfaz web del agente Domino, desde OpenDomo, o de manera manual mediante un interruptor digital conectado al agente.

6.1. Dispositivo actuador para control de aparatos eléctricos Los agentes con Arduino Ethernet tienen un limite en la capacidad de corriente que pueden manejar las salidas, la cual es bastante pequeña, además la tensión de salida de sus puertos es de 5 volts, por lo tanto, es imposible usar las salidas directamente para controlar un dispositivo que funciona a 220 VAC y consume una gran cantidad de corriente, como pueden ser ampolletas, calefactores, ventiladores, etc. Para poder controlar el accionamiento de estos elementos se necesita un actuador, este circuito debe ser capaz de activar el aparato en cuestión cuando el agente le envía una señal y debe aislar al agente de las altas tensiones y corrientes con las que funciona el aparato. Para lograr esto se pueden utilizar dos tipos de elementos que son:

121

CAPÍTULO VI. IMPLEMENTACIÓN PRÁCTICA

122

Relé: Es un dispositivo electromecánico que funciona mediante una bobina y un electroimán y que realiza las funciones de interruptor, es capaz de manejar una mayor potencia de salida que la de entrada . Existen relés mecánicos y relés de estado solido, estos últimos son los mas recomendados para realizar el dispositivo actuador ya que tienen una mayor durabilidad. Triac: Es un dispositivo semiconductor ideal para el control de corrientes alternas, en conjunto con un optoacoplador puede realizar las mismas funciones que un relé de estado solido. En el diseño y confección del elemento actuador se decidió utilizar la combinación optoacopladortriac, el diagrama del circuito es el mostrado en la figura VI.1, mientras que un circuito funcional montado se muestra en la figura VI.2.

Figura VI.1: Diagrama dispositivo actuador

Figura VI.2: Circuito actuador montado Los elementos necesarios para la confección de este circuitos son los indicados en la tabla VI.1, este circuito es capaz de soportar sin problemas 220 VAC y hasta 6 Amperes de corriente. Las

CAPÍTULO VI. IMPLEMENTACIÓN PRÁCTICA

123

salida del agente se conecta al pin 2 del conector P1 en el diagrama y la tierra al pin 1, el aparato a accionar se conecta el conector P2. Material

Cantidad

Optoacoplador MOC3041

1

Triac BTo6600C

1

Resistencia 380 Ohm

1

Resistencia 330 Ohm

1

Resistencia 100 Ohm

1

Resistencia 220 Ohm

1

Condensador 10 nF

1

Conectores

2

Disipador para el Triac

1

Cuadro VI.1: Elementos constituyentes dispositivo actuador

6.2. Control de ampolleta mediante sistema domótico Para logra controlar una ampolleta necesitamos hacer uso del dispositivo actuador de la sección anterior, este dispositivo sera el encargado de encenderla o apagarla dependiendo de la señal que envié el agente Domino.

6.2.1.

Configurar el agente Domino

En la sección 5.8.4 se describió a grandes rasgos como realizar la conexión de un actuador al agente, aquí se explicara el proceso detalladamente. 6.2.1.1.

Descripción del proceso

Se necesita activar una ampolleta, para ello se hará uso de un actuador, el cual recibirá como señal la salida de un puerto del agente, y sera este actuador el que se encargue de manejar las corrientes y tensiones elevadas, manteniendo al agente protegido, por lo tanto, el puerto del agente que se conectara al actuador debe ser configurado como una salida digital, cuando este a 5 volts o en estado “on” el actuador encenderá la ampolleta y cuando este en 0 volts o estado “off” la apagara.

CAPÍTULO VI. IMPLEMENTACIÓN PRÁCTICA

6.2.1.2.

124

Configurando el agente

Para configurar el agente debemos conectarnos a este mediante telnet o netcat, en este caso se hará usando telnet, y luego configurar el puerto a utilizar usando los comandos mostrados en la tabla V.2. Para conectarnos ejecutamos el siguiente comando desde una consola de Linux. Vamos a suponer que la IP del agente es la 192.168.0.3. :~$ telnet 192.168.0.3 1729 Una vez establecida la conexión, lo primero que debemos realizar el darle un nombre mas descriptivo al puerto que vamos a utilizar, este alias debe ser de 5 caracteres, utilizaremos el puerto do007 y lo llamaremos “amp01”. Para realizar esto usamos el comando lbl de la siguiente manera: lbl do007 amp01 Como la conexión es no persistente, una vez ejecutemos este comando la perderemos y tendremos que volver a conectarnos para ejecutar el siguiente paso. Ahora debemos decirle a Domino que este puerto sera usado como una salida digital, para ello usamos el comando cfg. cfg amp01 do Luego debemos guardar los cambios en la EEPROM, para ello se ejecuta el comando save. save Con esto ya tenemos configurado el puerto marcado con el numero 7 en la placa del agente para ser usado como salida digital. 6.2.1.3.

Conexión del actuador y la ampolleta

Una vez que el puerto ya esta configurado, hay que conectar el actuador y la ampolleta. La conexiones a realizar son la siguientes: 1. Conectar el puerto 7 del agente a la entrada del optoacoplador del actuador, esta es el pin 1 del conector P1 que se muestra en la figura VI.1. 2. Conectar el GND del agente al pin 2 del conector P1 del actuador. 3. Cortar uno de los cables que alimentan la ampolleta y conectar uno de sus extremos al pin1 del conector P2 y el otro al pin2. El diagrama de esta conexión se muestra en la figura VI.3, en la que además esta incluido el pulsador.

CAPÍTULO VI. IMPLEMENTACIÓN PRÁCTICA

126

Figura VI.4: Diagrama interruptor digital Para lograr que este interruptor cambie el estado de la ampolleta debemos crear un link entre este puerto que lee el interruptor y el que controla la ampolleta, un link significa que ambos puertos están enlazados y el cambio en el primer puerto indicado afectara el estado del otro, esto se realiza con lnk inte1 amp01 Lo siguiente es definir el modo de funcionamiento del link, en este caso funcionara como enlace directo, lo que quiere decir que al cambiar el estado del puerto inte1 el puerto de control de ampolleta adoptara el mismo estado, esto se hace con el siguiente comando lcf d el comando lcf permite configurar el funcionamiento del link mencionado en el comando anterior.

6.3. Instalación sensor de movimiento 6.3.1.

Descripción del sensor

Se usara un sensor PIR mostrado en la figura VI.5. Un sensor PIR (Passive Infra-Red) es un dispositivo sensor piroeléctrico que detecta movimiento por los cambios en los niveles de medición en los rayos infrarrojos (calor) emitidos por los objetos circundantes. Este movimiento puede ser detectado por la comprobación de una repentino cambio en los patrones de los IR de los alrededores. Cuando se detecta movimiento, el sensor PIR entrega en su pin de salida un nivel alto. Esta señal lógica puede ser leído por un microcontrolador u otro dispositivo que los permita.

CAPÍTULO VI. IMPLEMENTACIÓN PRÁCTICA

127

Sus principales características se indican en la tabla VI.2. Característica

Valor

Tensión de alimentación

3.3 - 5 Volts

Corriente minina

>3 mA

Salida

Estado de un Pin a niveles TTL

Temperatura de operación

0 a 50°C

Distancia de sensado

Hasta 6 metros de radio

Tiempo de calibración

10-60 segundos

Cuadro VI.2: Principales características sensor PIR

(a) Apariencia sensor

(b) Pines de conexión

Figura VI.5: Sensor de movimiento PIR

6.3.2.

Conexión del sensor al agente

La conexión de este sensor al agente puede hacerse de manera directa, no se necesita la elaboración de ningún circuito auxiliar, simplemente se deben conectar los pines mostrados en la figura VI.5b de la siguiente manera: GND a la tierra de la placa Arduino Ethernet. +V al pin 5V de la placa Arduino Ethernet. Signal al puerto que vamos a usar para leer el estado del sensor.

CAPÍTULO VI. IMPLEMENTACIÓN PRÁCTICA

6.3.3.

128

Configuración del agente para leer el sensor

Este sensor entrega a su salida un nivel digital TTL, por lo tanto para leer sus estado usaremos un puerto configurado como entrada digital, para ello debemos conectarnos al agente y ejecutar los siguientes comandos, suponiendo que vamos a usar el puerto digital 2: lbl do002 smovi cfg smovi di save con lbl le asignamos al puerto do002 el alias smovi, luego lo configuramos como entrada digital con el comando cfg, y finalmente guardamos la configuración con save. Con esta configuración el agente ya es capaz de leer el estado del sensor, por lo tanto cuando detecte movimiento el puerto smovi del agente pasara a estado “on”.

6.3.4.

Configuración del agente para encender una ampolleta cuando detecte presencia

Para hacer que el agente encienda una luz es necesario crear un enlace directo entre el puerto que lee el estado del sensor y el puerto que activa la ampolleta, esto quiere decir que cuando el sensor detecte presencia se encenderá la ampolleta y cuando no haya detección la ampolleta estará apagada o se apagara en caso de estar encendida. Suponiendo que ya tenemos un puerto que activa la ampolleta como se mostró en la sección 6.2.1.2, los comando a ejecutar son: lnk smovi amp01 lcf d Así como se puede hacer que encienda una ampolleta, también se puede ejecutar cualquier otra acción al activarse el sensor, como por ejemplo abrir una puerta, todo depende de lo que se tenga conectado al actuador.

6.4. Instalación sensor de luminosidad 6.4.1.

Descripción del sensor

Como sensor de luminosidad usaremos un ZX-LDR mostrado en la figura VI.6. Este sensor esta compuesto por una fotoresistencia y un circuito divisor de tensión. Su salida es análoga y varia de 0 a 5 volts y puede usarse una directa que aumenta proporcionalmente a la cantidad de luz o una inversa que disminuye según aumenta la cantidad de luz.

CAPÍTULO VI. IMPLEMENTACIÓN PRÁCTICA

129

Como puede verse en la figura VI.6b, cualquiera que sea la salida que se use, el conector posee tres pines, los dos de los extremos son para la alimentación y el central es la salida que debe ir conectada al conversor A/D.

(a) Empaquetado sensor

(b) Diagrama ZX-LDR

Figura VI.6: Sensor de luminosidad ZX-LDR

6.4.2.

Conexión del sensor al agente

Este sensor se puede conectar directamente a la placa Arduino, sin necesidad de un circuito auxiliar, se debe conectar de la siguiente manera. Pin del conector marcado con el símbolo + a la salida de 5 volts de la placa Arduino. Pin marcado con el símbolo - a la tierra de la placa Arduino. Pin central marcado con una S al puerto que se usara para leerlo.

6.4.3.

Configuración del agente para leer el sensor

Como este sensor posee una salida analógica cuyo valor depende de la cantidad de luz existente en el recinto en el cual esta instalado, el puerto del agente que se encargara de leerlo debe ser configurado como una entrada análoga. La tensión que llega a este puerto sera transformada a un valor digital de 10 bits, es decir, entre 0 y 1023, siendo este numero directamente proporcional al valor de la tensión leída. Para realizar la configuración debemos ejecutar los siguiente comandos en el agente, usaremos la entrada digital ai003 y la llamaremos sluz1. lbl ai003 sluz1 cfg sluz1 ai save

CAPÍTULO VI. IMPLEMENTACIÓN PRÁCTICA

130

El parametro ai pasado al comando cfg le indica que es una entrada analógica (analogic input). Con esta configuración ya se puede ver el valor medido conectandonos al agente mediante un navegador web.

6.4.4.

Cambios necesarios en el código de Domino

Debido a que el valor medido por el sensor, solo puede ser consultado desde el agente Domino pero no se puede programar ninguna acción dependiendo de la cantidad de luminosidad medida, es necesario transmitir este valor al servidor OpenDomo en el cual si se pueden configurar tareas a ejecutar usando esta medición, sin embargo, en la sección V.2 se explico que la versión actual de Domino no trae programada una función que la transmisión del valor obtenido a OpenDomo ya que esto se deja para que el programador lo defina dependiendo del sensor que utilizara. También Domino viene configurado para usar como voltaje máximo en la escala de conversión una entrada externa en el pin AREF de la placa, esto en caso de que sea necesario usar una tensión distinta a 5 Volts, para este sensor se usara como valor máximo de entrada 5 Volts por lo que se puede usar el voltaje de referencia interno que es de 5 Volts. Para cambiar el voltaje de referencia solo debemos comentar o eliminar la linea 1721 que esta dentro del void setup, esta es la función analogReference(External), al comentar o eliminar esta linea Domino usara por defecto la referencia interna. La sección del código a modificar se muestra en el código VI.1. Algorithm VI.1 Modificación código Domino para usar referencia interna void setup() { char *disabled="-"; //analogReference(EXTERNAL); pinMode(0,OUTPUT); pinMode(1,INPUT); digitalWrite(0, HIGH); Para enviar la información a OpenDomo debemos agregar código a la función sendODControlUpdate(int i), mas especificamente desde la linea 2188, los que hay que agregar se muestra en el código VI.2. Para que sea mas fácil para el usuario entender el nivel de iluminación que hay se va a expresar el resultado de la medición en una escala de 0 a 100, donde 0 cera la ausencia total de luz y 100 el máximo valor de iluminación que el sensor es capaz de medir, para ello debemos realizar también modificaciones directamente en el código de Domino, esta modificación debe hacerse en la función refreshPortStatus(), mas especificamente en la linea 1086, los cambios necesarios se

CAPÍTULO VI. IMPLEMENTACIÓN PRÁCTICA

131

Algorithm VI.2 Modificación a Domino para transmitir los datos de los puertos analógicos a OpenDomo } else if (ISANALOG(i)) { /*Codigo agregado para transmitir valores puerto analagico a OpenDomo*/ int len=sizeof(value); /* la variable value debe definirse al comienzo de la función como char value[6] */ itoan(ports[i].value, value, len); for(int i=0;i
View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF