martes, 21 de junio de 2016

EasyArduino

EasyArduino
EasyArduino es una aplicación hecha para pequeños y mayores. En ella podrás aprender a programar jugando y crear todo lo que te imagines. Podrás programar robots, juegos electrónicos e incluso diseñar tus propios inventos.
EasyArduino se basa en la utilización de bloques gráficos para la generación de código, estos bloques encajan unos con otros de forma similar a como lo hacen las piezas en un puzzle. No necesitas ningún conocimiento previo de código Arduino para empezar a programar.
Introducción 
EasyArduino es una aplicación web que permite la elaboración de programas para Arduino sin necesidad de escribir el código con la sintaxis de sus órdenes. Esta herramienta está basada en la tecnología de programación mediante bloques funcionales tan extendida en la actualidad. 
Esta posibilidad gráfica de elaborar programas es muy útil cuando estamos utilizando la Plataforma Arduino en niveles educativos. La facilidad de realizar la aplicación gráficamente permite que el alumno se dedique a pensar en el algoritmo más que en la corrección del código escrito. 
Encendiendo un LED
1-Conectamos el LED en el PIN digital 1 de nuestra placa (puede ser cualquier otro). 
2-Seleccionamos el bloque LED, le asignamos el pin digital 1 y escogemos la acción que deseamos que haga, en este caso: Encender. 
Codigo:  
int threads[] = {1};

int numThreads = 1;

int i;

void remove(int id){
  for(i=0; i<numThreads; i++){
    if(i+1 == id){
      threads[i] = 0;
    }
  }
}

void programa1(){
  digitalWrite(1,HIGH);
}

void setup()
{
  pinMode(1, OUTPUT);
}


void loop()
{
  for(i=0; i<numThreads; i++){
    if(threads[i] != 0){
      switch (i+1) {
        case 1:
          programa1();
          break;
      }
    }
  }
}

Parpadeo de un LED
Este programa hace parpadear un LED, estará encendido durante 1 segundo, luego se apagará otro segundo y se volverá a encender, así sucesivamente.  
1-Conectamos el LED en el PIN digital 1 de nuestra placa (puede ser cualquier otro). 
2-Seleccionamos dos bloques LED, les asignamos el pin digital 1 y escogemos la acción que deseamos que hagan. 
3-Colocamos el bloque Esperar tal y como muestra la figura y le asignamos un tiempo 
de espera, este será el tiempo que el LED esté encendido o apagado.

Codigo: 
int threads[] = {1};

int numThreads = 1;

int i;

void remove(int id){
  for(i=0; i<numThreads; i++){
    if(i+1 == id){
      threads[i] = 0;
    }
  }
}

void programa1(){
  digitalWrite(1,HIGH);
  delay(1000);
  digitalWrite(1,HIGH);
  delay(1000);
}

void setup()
{
  pinMode(1, OUTPUT);
}


void loop()
{
  for(i=0; i<numThreads; i++){
    if(threads[i] != 0){
      switch (i+1) {
        case 1:
          programa1();
          break;
      }
    }
  }
}

Programando un botón 

El botón es un dispositivo digital de entrada que se activa cuando se pulsa con el dedo, 
permitiendo que circule por él la corriente, y se desactiva cuando se deja de pulsar. 
Puede devolver dos estados: 1 y 0. Es decir: pulsado y no pulsado. 

Ejemplo: Encender un LED al pulsar el botón y apagarlo al soltarlo. 

Al ejecutar este programa el LED comienza apagado. Cuando se pulsa el pulsador el 
LED se enciende y al soltarlo se vuelve a apagar. 
Nota: Para añadirle más opciones al bloque “Si - hacer” debemos pulsar sobre la cruz del 
recuadro azul e incorporar la nueva opción al bloque.

Codigo:

int threads[] = {1};

int numThreads = 1;

int i;

void remove(int id){
  for(i=0; i<numThreads; i++){
    if(i+1 == id){
      threads[i] = 0;
    }
  }
}

void programa1(){
  if (digitalRead(1)) {
    digitalWrite(1,HIGH);

  } else {
    digitalWrite(1,LOW);

  }
}

void setup()
{
  pinMode(1, INPUT);
  pinMode(1, OUTPUT);
}


void loop()
{
  for(i=0; i<numThreads; i++){
    if(threads[i] != 0){
      switch (i+1)
          { case 1:
          programa1();
          break;
      }
    }
  }
}

Programando el sensor de Luz

El sensor de luz es un sensor que tal y como su nombre indica, detecta luz. Responde a los cambios en la intensidad de la luz y modifica su resistencia cuando ésta varía. El sensor devuelve valores comprendidos entre 0 y 500, aproximadamente; este valor dependerá del tipo de sensor. Se trata de un componente analógico, ya que devuelve un rango de valores, por lo tanto, deberá conectarse a uno de los pines analógicos (A0, A1,…). Valores cercanos a 0 indican oscuridad y cercanos a 500 indican luz.

Ejemplo: Encender un LED cuando el sensor de luz detecte poca luz

Primero tenemos que comprobar que hay poca luz. En ese caso debemos encender el LED que está conectado en el PIN digital 1. En caso de que la luz sea mayor de 150 el LED se apagará.


Codigo:

int threads[] = {1};

int numThreads = 1;

int i;

void remove(int id){
  for(i=0; i<numThreads; i++){
    if(i+1 == id){
      threads[i] = 0;
    }
  }
}

void programa1(){
  if (analogRead(A0) < 150) {
    digitalWrite(1,HIGH);

  } else {
    digitalWrite(1,LOW);

  }
}

void setup()
{
  pinMode(1, OUTPUT);
}


void loop()
{
  for(i=0; i<numThreads; i++){
    if(threads[i] != 0){
      switch (i+1) {
        case 1:
          programa1();
          break;
      }
    }
  }
}

Programando la bocina

La bocina o zumbador es un componente de salida que emite zumbidos.

Ejemplo: Hacer sonar el zumbador al presionar el botón

Al ejecutar este programa la bocina no suena, está apagada. Cuando se pulsa el pulsador la bocina se enciende y empieza a sonar; al soltarlo se vuelve a apagar

Codigo:

int threads[] = {1};

int numThreads = 1;

int i;

void remove(int id){
  for(i=0; i<numThreads; i++){
    if(i+1 == id){
      threads[i] = 0;
    }
  }
}

void programa1(){
  if (digitalRead(1)) {
    tone(3, 0, 0);

  } else {
    tone(3, 0, 0);

  }
}

void setup()
{
  pinMode(1, INPUT);
}


void loop()
{
  for(i=0; i<numThreads; i++){
    if(threads[i] != 0){
      switch (i+1) {
        case 1:
          programa1();
          break;
      }
    }
  }
}


Programando el servo de rotación continua

Un servomotor de rotación continua es un servo cuyo funcionamiento se parece al de un motor convencional. Este servo no se detiene en una posición sino que puede girar en un sentido continuamente.

Ejemplo: Programar un servo de rotación continua para que gire en sentido horario durante 3 segundos y luego gire en sentido antihorario otros 3 segundos.

En este ejemplo usaremos el bucle de control “Repetir – mientras”, el bucle se estará ejecutando mientras pulsemos el botón.

Codigo:

#include <Servo.h>

Servo servo_5;

int threads[] = {1};

int numThreads = 1;

int i;

void remove(int id){
  for(i=0; i<numThreads; i++){
    if(i+1 == id){
      threads[i] = 0;
    }
  }
}

void programa1(){
  while (digitalRead(1)) {
    servo_5.write(0);
    delay(30);
    delay(3000);
    servo_5.write(180);
    delay(30);
    delay(3000);
  }
}

void setup()
{
  pinMode(1, INPUT);
  servo_5.attach(5);

}


void loop()
{
  for(i=0; i<numThreads; i++){
    if(threads[i] != 0){
      switch (i+1) {
        case 1:
          programa1();
          break;
      }
    }
  }
}


Programando el servo 

Un servo es un motor que es capaz de girar entre 0 y 180 grados.

Ejemplo: Programar un servo para moverlo a un ángulo de 60 grados y después a un ángulo de 120 grados.

El servo se colocará en la posición de 60 grados, esperará un segundo y pasará a la posición de 120 grados durante otro segundo. Repetirá esta secuencia una y otra vez.

Codigo:

#include <Servo.h>

Servo servo_3;

int threads[] = {1};

int numThreads = 1;

int i;

void remove(int id){
  for(i=0; i<numThreads; i++){
    if(i+1 == id){
      threads[i] = 0;
    }
  }
}

void programa1(){
  servo_3.write(60);
  delay(100);
  delay(1000);
  servo_3.write(120);
  delay(100);
  delay(1000);
}

void setup()
{
  servo_3.attach(3);

}


void loop()
{
  for(i=0; i<numThreads; i++){
    if(threads[i] != 0){
      switch (i+1) {
        case 1:
          programa1();
          break;
      }
    }
  }
}


Programando el sensor de ultrasonidos 

Los sensores de ultrasonidos son dispositivos que utilizan ondas sonoras de ultrasonidos para saber a qué distancia está un objeto. Su funcionamiento es así: se emite una onda de ultrasonido, esa onda se propaga, y al encontrarse con un obstáculo rebota. Cuanto más tiempo tarde en rebotar más lejos estará el objeto.

Ejemplo: Programar un robot con dos servos para que cuando esté a punto de chocar con un objeto paré, dé marcha atrás, gire a la izquierda y continúe su camino.

Si la distancia medida por el sensor de ultrasonidos es menos o igual que 2 cm, el robot dará marcha atrás y luego girará a la izquierda. Si la distancia es mayor de 2 cm el robot se moverá hacia adelante. Como nuestro programa se ejecuta una y otra vez, el robot seguirá siempre hacia adelante a menos que la distancia al objeto sea menor o igual que 2 cm.

Codigo:

#include <Servo.h>

long Medir(int trigger, int echo){
   digitalWrite(trigger, LOW);
   delayMicroseconds(2);
   digitalWrite(trigger, HIGH);
   delayMicroseconds(10);
   digitalWrite(trigger, LOW);
   long microsegundos = pulseIn(echo ,HIGH);
   return microsegundos;
}

long Distancia(int trigger, int echo){
   long microseconds = Medir(trigger, echo);
   long distance;
   distance = microseconds/29/2;
   if (distance == 0){
      distance = 999;
   }
   return distance;
}

Servo servo_2;

Servo servo_3;

Servo servo_1;

int threads[] = {1};

int numThreads = 1;

int i;

void remove(int id){
  for(i=0; i<numThreads; i++){
    if(i+1 == id){
      threads[i] = 0;
    }
  }
}

void programa1(){
  if (Distancia(1, 8) <= 2) {
    servo_2.write(180);
    delay(30);
    servo_3.write(0);
    delay(30);
    delay(1000);
    servo_1.write(180);
    delay(30);
    servo_3.write(90);
    delay(30);
    delay(1000);
    servo_2.write(0);
    delay(30);
    servo_3.write(180);
    delay(30);
    delay(1000);

  }
}

void setup()
{
  pinMode(8, INPUT);
  pinMode(1, OUTPUT);
  servo_2.attach(2);

  servo_3.attach(3);

  servo_1.attach(1);

}


void loop()
{
  for(i=0; i<numThreads; i++){
    if(threads[i] != 0){
      switch (i+1) {
        case 1:
          programa1();
          break;
      }
    }
  }
}


Programando el sensor de temperatura

El sensor de temperatura es un sensor que mide la temperatura en grados centígrados. Se trata de un componente analógico, ya que devuelve un rango de valores, por lo tanto, deberá conectarse a uno de los pines analógicos (A0, A1,…).

Ejemplo: Encender un LED cuando el sensor de temperatura indique que hay menos de 20 grados y apagarlo cuando hay 20 o más.


Codigo:

int threads[] = {1};

int numThreads = 1;

int i;

void remove(int id){
  for(i=0; i<numThreads; i++){
    if(i+1 == id){
      threads[i] = 0;
    }
  }
}

void programa1(){
  if (20 <= round((1/(log((float)(1023-analogRead(A2))*10000/analogRead(A2))/10000)/3975+1/298.15)-273.15)) {
    digitalWrite(1,LOW);

  } else {
    digitalWrite(1,HIGH);

  }
}

void setup()
{
  pinMode(1, OUTPUT);
}


void loop()
{
  for(i=0; i<numThreads; i++){
    if(threads[i] != 0){
      switch (i+1) {
        case 1:
          programa1();
          break;
      }
    }
  }
}

Programando el sigue líneas (Sensor de infrarrojo) 

El sensor infrarrojo (IR) es un dispositivo que detecta la luz reflejada, por lo que es capaz de diferenciar entre blanco y negro. Es un componente digital que solo devuelve dos valores. Cuando detecta blanco devuelve 1 y cuando detecta negro devuelve 0.

Ejemplo: Encender un LED cuando el sensor detecta negro.

Si el sensor devuelve 0 no será línea negra, por lo tanto se encenderá el LED; en caso contrario se apagará.

Codigo:

int threads[] = {1};

int numThreads = 1;

int i;

void remove(int id){
  for(i=0; i<numThreads; i++){
    if(i+1 == id){
      threads[i] = 0;
    }
  }
}

void programa1(){
  if (digitalRead(5)) {
    digitalWrite(2,LOW);

  } else {
    digitalWrite(2,HIGH);

  }
}

void setup()
{
  pinMode(5, INPUT);
  pinMode(2, OUTPUT);
}


void loop()
{
  for(i=0; i<numThreads; i++){
    if(threads[i] != 0){
      switch (i+1) {
        case 1:
          programa1();
          break;
      }
    }
  }
}


Programando el sensor de movimiento

El sensor de movimiento es un dispositivo que detecta si algo se mueve. Es componente digital que solo devuelve dos valores. Cuando detecta movimiento devuelve 1 y cuando no, devuelve 0.

Ejemplo: Encender la bocina cuando el sensor detecta movimiento.

Si el sensor detecta que algo se mueve devolverá 1, y por lo tanto sonará la bocina, en caso contrario se apagará

Codigo:

int threads[] = {1};

int numThreads = 1;

int i;

void remove(int id){
  for(i=0; i<numThreads; i++){
    if(i+1 == id){
      threads[i] = 0;
    }
  }
}

void programa1(){
  if (digitalRead(1)) {
    tone(4, 0, 0);

  } else {
    tone(4, 0, 0);

  }
}

void setup()
{
  pinMode(1, INPUT);
}


void loop()
{
  for(i=0; i<numThreads; i++){
    if(threads[i] != 0){
      switch (i+1) {
        case 1:
          programa1();
          break;
      }
    }
  }
}

jueves, 9 de junio de 2016

Arduino

¿Que es Arduino?

Arduino es una plataforma de hardware libre basada en una sencilla placa de entradas y salidas simple y un entorno de desarrollo que implementa el lenguaje de programación Processing/Wiring. Arduino se puede utilizar para desarrollar objetos interactivos autónomos o puede ser conectado a software del ordenado.Las placas se pueden montar a mano o adquirirse. 


Resultado de imagen de arduinoResultado de imagen de arduino


¿Como funciona Arduino?


Como pasa con la mayoría de las placas microcontroladores las funciones de Arduino pueden resumirse en tres. En primera instancia, tenemos una interfaz de entrada, que puede estar directamente unida a los periféricos , o conectarse a ellos por puertos. El objetivo de esa interfaz de entrada es llevar la información al microcontrolador, la pieza encargada de procesar esos datos. El mentado microcontrolador varía dependiendo de las necesidades del proyecto en el que se desea usar la placa, y hay una buena variedad de fabricantes y versiones disponibles. 

Por último, tenemos una interfaz de salida, que lleva la información procesada a los periféricos encargadas de hacer el uso final de esos datos, que en algunos casos puede bien tratarse de otra placa en la que se centralizará y procesara nuevamente la información, o sencillamente, por ejemplo, una pantalla o un altavoz encargada de mostrar la versión final de los datos. 

Partes del Arduino

En este apartado veremos las distintas partes que conformar nuestro Arduino como son entradas, salidas, alimentación, comunicación y shields. 
Entradas: son los pines de nuestra placa que podemos utilizar para hacer lecturas. En la placa Uno son los pines digitales (del 0 al 13) y los analógicos (del A0 al A5). 
Salidas: los pines de salidas se utilizan para el envío de señales. En este caso los pines de salida son sólo los digitales (0 a 13). 
Otros pines: también tenemos otros pines como los GND (tierra), 5V que proporciona 5 Voltios, 3.3V que proporciona 3.3 Voltios, los pines REF de referencia de voltaje, TX (transmisión) y RX (lectura) también usados para comunicación serial, RESET para resetear, Vin para alimentar la placa y los pines ICSP para comunicación SPI. 
Alimentación: Como hemos visto el pin Vin sirve para alimentar la placa pero lo más normal es alimentarlo por el jack de alimentación usando una tensión de 7 a 12 Voltios. También podemos alimentarlo por el puerto USB pero en la mayoría de aplicaciones no lo tendremos conectado a un ordenador. 
Comunicación: En nuestros tutoriales nos comunicaremos con Arduino mediante USB para cargar los programas o enviar/recibir datos. Sin embargo no es la única forma que tiene Arduino de comunicarse. Cuando insertamos una shield ésta se comunica con nuestra placa utilizando los pines ICSP (comunicación ISP), los pines 10 a 13 (también usados para comunicación ISP), los pines TX/RX o cualquiera de los digitales ya que son capaces de configurarse como pines de entrada o salida y recibir o enviar pulsos digitales. 
Shields: traducido del inglés significa escudo. Se llama así a las placas que se insertan sobre Arduino a modo de escudo ampliando sus posibilidades de uso. En el mercado existen infinidad de shields para cada tipo de Arduino. Algunas de las más comunes son las de Ethernet, Wi-Fi, Ultrasonidos, Pantallas LCD, relés, matrices LED's, GPS.


Resultado de imagen de arduino



domingo, 5 de junio de 2016

Software libre de domótica

Software comercial de control domótico, existe también para Windows, como es el caso de HomeSeer. Pero yo os quiero hablar hoy de software de control domótico Open source, que lo hay y muy bueno. Hace poco mencionaba de refilón en otro post el caso de OpenDomo OS y hoy nos vamos a centrar en Domoticz.
Domoticz, como os decía, es un software libre de control domótico disponible para las plataformas Windows y Linux, pero también, y ahí radica a mi juicio gran parte de su interés, para la Raspberry Pi. Eso nos abre muchas posibilidades ya que nos permite montarnos un centro de control domótico low cost,lo que no significa en absoluto que sea una solución menor ya que ese software ofrece cosas muy interesantes con una interfaz que, así a primera vista, no tiene nada que envidiar a los controladores Vera por ejemplo.
Interfaz de Domoticz
Domoticz se caracteriza por consumir pocos recursos del sistema y ofrecer soporte para diversos protocolos domóticos, como Z-Wave, RF, X10, EnOcean. Los dispositivos domóticos que puede controlar Domoticz son pues muy numerosos y variados, además de cámaras IP. Por si todo eso fuera poco, permite crear dispositivos virtuales y admite scripts en Lua. En cuanto a las escenas domóticas, la interfaz es muy sencilla y adopta la misma filosofía que la de servidores domóticos muy conocidos como la Zipabox o el propio Home Center de Fibaro.
Y para redondear esta solución ya de por sí muy completa, existen aplicaciones móviles tanto para iOS (iDomotic) como para Android (Andromoticz y Dromotica), además de ser compatible con las notificaciones por mail y los sistemas de notificaciones Pushover, Powl y NMA en dispositivos móviles.
Interfaz de Domoticz
Antes de optar por esa solución, como os decía antes, hay que tener presente que necesitamos, aparte de un ordenador con Windows o Linux o una Raspberry Pi, un dispositivo que hará las veces de interfaz con los módulos y el protocolo domóticos elegidos. La lista de dispositivos compatibles está en el manual de instrucciones de Domoticz, disponible en este enlace.
Entre los dispositivos compatibles, podemos mencionar esta pequeña tarjeta RaZberry, que se conecta al puerto GPIO de la Raspebrry Pi, convirtiendo ésta fácilmente en un centro de control domótico.

Tarjeta RazBerry
La instalación de Domoticz en Raspberri Pi es sumamente sencilla ya que el propio equipo de desarrollo de la aplicación se ha preocupado de poner a disposición de los potenciales usuarios una imagen ya preparada que sólo tenemos que descargarnos y trasladar a una tarjeta SD.

Sensores y actuadores de la casa domótica

Introducción 
Una casa domótica no difiere mucho de una vivienda tradicional, en cuanto que en ella se encuentran también los habituales equipos domésticos e instalaciones, como pueden ser los electrodomésticos o las de agua, gas, electricidad y calefacción. La diferencia, únicamente, estriba en la incorporación de una serie de sistemas que permiten controlar y automatizar, de forma eficiente, estos equipos e instalaciones (por ejemplo, programación y zonificación de la calefacción, detección de escapes de agua con el corte automático del suministro y el aviso al usuario, etc.), que incrementan el valor de la vivienda por el sustancial aumento de la calidad de vida y seguridad que le reportan a su usuario.
Los distintos tipos de dispositivos que nos podemos encontrar en una vivienda domótica son: la pasarela; el sistema de control centralizado; los sensores, actuadores, e interruptores; y los aparatos electrónicos y electrodomésticos dotados de tecnología digital y capacidad de intercomunicación.
Las redes internas de la vivienda domótica son las encargadas de enlazar los dispositivos permitiendo la comunicación entre ellos. Las redes se caracterizan por un determinado medio de transmisión (el soporte físico de la comunicación) y protocolo (el lenguaje utilizado para la comunicación). Existen distintos tipos de redes dependiendo de los dispositivos a interconectar:
  • Red de control o red domótica. Conecta la pasarela con los sensores, actuadores y electrodomésticos. La utiliza la pasarela para gobernar los sistemas domóticos. Este tipo de red normalmente tiene un bajo ancho de banda. Entre las tecnologías utilizadas, cabe destacar: X-10, KNX, EIB, LonWorks, BACnet, etc.
  • Red de datos. Conecta los distintos ordenadores entre sí y con sus periféricos. Se utiliza para compartir recursos informáticos: acceso a Internet, ficheros, programas, impresoras, escáneres, etc. Normalmente requiere un ancho de banda medio-alto. Entre otras tecnologías, nos encontramos con: USB, FireWire, HomePlug, Bluetooth, Wi-Fi, etc.
  • Red multimedia o red de entretenimiento. Conecta los aparatos electrónicos de consumo entre sí. Se utiliza para la distribución de contenidos de audio de alta fidelidad y vídeo de alta calidad por todo el hogar. Requiere un ancho de banda muy elevado. Las principales tecnologías son: HAVi, UPnP y Jini.
Este tipo de redes pueden utilizar o no los mismos medios físicos y/o protocolos, aunque actualmente no es lo habitual. La posibilidad de utilizar como medio físico la red eléctrica la vivienda o tecnologías inalámbricas, facilita enormemente la instalación en la vivienda ya construida. En la vivienda nueva es preferible hacer un tendido nuevo de cable, pues los medios cableados suelen presentar bastantes ventajas (menor coste de los dispositivos, mayor seguridad y robustez de las comunicaciones, mayores distancias, etc.). Por otro lado, cada protocolo está adaptado a las aplicaciones concretas que van a ser soportadas, por lo que no es habitual utilizar el mismo en las tres redes. Cada uno de los protocolos tiene una serie de características a tener muy en cuenta a la hora de hacer una instalación: medios físicos soportados, número máximo de dispositivos a soportar, distancias máximas soportadas, anchos de banda soportados o velocidad máxima de transferencia entre dispositivos, capacidades de seguridad, etc. En definitiva, existe una gran variedad de tecnologías, que habrá que seleccionar dependiendo de los requisitos concretos de la instalación.
Junto a estas redes internas, deberá existir una línea de acceso de banda ancha a Internet (ADSL, cable, LMDS, satélite, PLC, GPRS, etc.), que comunicará la vivienda con el exterior. La línea de banda ancha es el elemento fundamental en la vivienda domótica. Por una parte, permite tener una conexión permanente con el exterior, lo que es imprescindible para disfrutar de servicios como la teleasistencia, la televigilancia o la gestión remota de los dispositivos. Por otra parte, permite disponer de la capacidad de transmisión necesaria para disfrutar de servicios como el vídeo bajo demanda o la videovigilancia del hogar. No obstante, también es posible tener un sistema domótico interconectado con el exterior únicamente por la red telefónica (RTB, RDSI o GSM), aunque con una funcionalidad mucho menor.
La pasarela residencial
La pasarela residencial es el dispositivo frontera entre las distintas redes de acceso externas y las redes internas del edificio inteligente. Las pasarelas residenciales vienen a cubrir las necesidades actuales de convergencia que se están produciendo con la aparición de nuevas tecnologías de comunicaciones en los hogares: la proliferación de conexiones a Internet de banda ancha; y el incremento del número de PC en los hogares y la aparición de nuevos dispositivos y electrodomésticos que necesitan estar en red para implementar nuevas y útiles prestaciones. Puesto que ahora hay varios equipos en la vivienda que pueden conectarse a Internet u otras redes, es lógico pensar en la instalación de una red de área doméstica interna en la vivienda y que un único dispositivo, como la pasarela residencial, se encargue de gestionar un punto único de acceso a todas estas redes.
La pasarela residencial será, por lo tanto, el dispositivo encargado de realizar las siguientes actividades:
  • La adaptación de los protocolos utilizados por los distintos dispositivos a todos los niveles.
  • La monitorización y supervisión del funcionamiento de todas las redes de comunicaciones.
  • La gestión de todos los dispositivos internos de forma local o remota.
  • La gestión de servicios internos.
  • La gestión de la seguridad y privacidad de las comunicaciones.
Para asegurar la compatibilidad de la pasarela residencial y los servicios ejecutados en ella, nació la OSGi Alliance en marzo de 1999. El cumplimiento de las especificaciones del OSGi por la pasarela, permitirá a los usuarios descargar servicios bajo demanda de cualquier proveedor de servicios o contenidos, siendo la pasarela la que gestione la instalación y configuración de estos servicios sin interferir con el resto.
Resultado de imagen de Pasarela residencial
El sistema de control centralizado
El sistema de control centralizado es un cerebro electrónico encargado de recoger toda la información proporcionada por los sensores distribuidos en los distintos puntos de control de la vivienda, procesarla, y generar las órdenes que ejecutarán los actuadores.
Hace unos años, se utilizaban distintos sistemas de control para gestionar la iluminación, la seguridad, la calefacción, el aire acondicionado, el consumo energético, electrodomésticos, etc. Hoy en día, lo habitual es integrar todas las funciones en un único dispositivo, con el fin de reducir el equipamiento necesario en el edificio.
Por lo general, los fabricantes de sistemas domóticos comercializan soluciones que constan de un sistema de control centralizado y una extensa gama de sensores y actuadores, que pueden ir siendo adquiridos poco a poco por los usuarios según se vayan necesitando. Esto asegura la compatibilidad total entre este el sistema de control central y los sensores y actuadores distribuidos por toda la vivienda. Es importante asegurarse también de que el sistema de control centralizado y la pasarela son compatibles.
El sistema de control centralizado deberá ubicarse cerca de un enchufe, pues requieren por lo general alimentación de la red eléctrica. Para evitar la caída de la centralita ante un fallo de potencia, éste suele incluir también pilas de litio de larga duración.
La información recibida de los sensores en la unidad de control centralizada se trata según un algoritmo introducido en la memoria del sistema; además, la unidad de control es capaz de proporcionar información del estado del sistema al operador. Por otro lado, el operador tiene la posibilidad de intervenir en el proceso, o bien tomar el mando completo del mismo. Las acciones a tomar serán enviadas a los distintos actuadores, con el fin de que se produzca la respuesta deseada.
Desde el sistema de control centralizado, el usuario puede programar y controlar todos los sensores y actuadores de su hogar. Hasta hace pocos años, existían pocas alternativas para interactuar con los sistemas domóticos. Los sistemas se podían operar principalmente de forma local, a través de un teclado y pantalla embebidos en la misma centralita; no obstante, las alternativas actuales son mucho mayores: nuevas interfaces locales como los pulsadores y mandos, interfaces vocales accesibles mediante las redes telefónicas, interfaces Web accesibles a través de Internet o la Intranet, mensajes móviles que permiten informar al usuario de determinados eventos o incidencias, etc. Cuando en la vivienda haya una pasarela, en vez de conectar el sistema de control centralizado a las redes telefónicas y de datos externas, será dicha pasarela la que haga de intermediaria.
Resultado de imagen de Sistema de control centralizado, sensores y actuadores.
Los sensores
Los sensores son los elementos encargados de recoger la información de los diferentes parámetros que controlan (la temperatura ambiente, la existencia de un escape de agua, la presencia de luz solar suficiente en una habitación, etc.) y enviarla al sistema de control centralizado para que actúe en consecuencia.
Los sensores no se conectan por lo general a la red eléctrica sino que llevan una pila incorporada, con una duración de dos a cinco años. Esto supone una mayor flexibilidad respecto a otros dispositivos como los actuadores a la hora de ser introducidos en la vivienda domótica, ya que así se pueden instalar en cualquier lugar, aunque esté lejos de una toma de corriente.
Existe una gran variedad de sensores o detectores utilizados para la automatización en edificios, siendo los más comúnmente utilizados: el termostato de ambiente, el detector de gas, los detectores de humo y calor, la sonda humedad y los sensores de presencia.
Los actuadores
Los actuadores son los dispositivos utilizados por el sistema de control centralizado, para modificar el estado de ciertos equipos o instalaciones (el aumento o la disminución de la calefacción o el aire acondicionado, el corte del suministro de gas o agua, el envío de una alarma a una centralita de seguridad, etc.). Estos dispositivos suelen estar distribuidos por toda la vivienda y, según el modelo, pueden admitir baterías. En algunos casos, el sensor y el actuador son integrados en el mismo dispositivo.
Entre los más comúnmente utilizados están: los contactores (o relés de actuación) de carril DIN, los contactores para base de enchufe, las electroválvulas de corte de suministro (gas y agua), las válvulas para la zonificación de la calefacción por agua caliente, y sirenas o elementos zumbadores para el aviso de alarmas en curso.
Electrodomésticos inteligentes
Los electrodomésticos tradicionales nos facilitan las tareas cotidianas, mejorando así nuestro tiempo disponible para el ocio. La nueva generación de electrodomésticos (frigoríficos, lavadoras, lavavajillas, hornos, microondas, secadoras, etc.), que no tardarán en formar parte del mobiliario de los hogares (en especial de las cocinas), no tienen nada que ver con los que habitualmente están disponibles en los comercios. Estos electrodomésticos, conocidos por electrodomésticos inteligentes o electrodomésticos domóticos, estarán interconectados a través de la red de control y la pasarela residencial, pudiendo intercambiarse información y comunicarse los unos con los otros, o ser programados y controlados por teléfono o por Internet. Estos electrodomésticos, por sus necesidades de potencia, deberán ser conectados a la red eléctrica.
Por otro lado, los nuevos electrodomésticos se suelen caracterizar por una alta eficiencia, un bajo nivel de ruido, un bajo consumo y la incorporación de sistemas ahorro energético. Las funciones especiales para mejorar y controlar el consumo energético, son especialmente importantes en estos dispositivos, ya que suelen ser los dispositivos con mayor consumo de energía eléctrica en una vivienda. Se tienen así por ejemplo los gasodomésticos o electrodomésticos que funcionan con gas natural (una energía límpia y no contaminante), que consumen mucho menos que los eléctricos y tienen además un tiempo de vida mucho mayor. También son de destacar los lavavajillas y lavadoras bitérmicos, que permiten que el agua caliente que usan entre directamente desde la red de agua caliente del calentador de la caldera de gas, consiguiendo así un menor coste y un menor tiempo de lavado.
Su programación y control es además mucho más sencillo que el de los electrodomésticos tradicionales, ofreciendo intuitivas interfaces gráficas embebidas en sus pantallas táctiles.
Aparatos electrónicos inteligentes  
Mientras los electrodomésticos suelen estar destinados a la realización de tareas cotidianas lo más cómodamente posible, los aparatos electrónicos de consumo, cada vez más habituales en nuestros hogares, suelen estar dedicados más a actividades de entretenimiento.
Los aparatos electrónicos inteligentes son dispositivos que integran cada vez más funciones, teniendo un ámbito de aplicación mayor a aquel para el que fueron concebidos. Los contenidos digitales creados también a partir de estos aparatos pueden ser además fácilmente retocados, modificados y transferidos de unos a otros. Así, estos dispositivos, tradicionalmente aislados unos de otros, están incorporando funciones de comunicación entre ellos, posibilitando la transferencia de información (vídeos, fotos, música, etc.) de una forma rápida y sencilla. Para conseguir este objetivo de interoperabilidad, se creó precisamente el Digital Home Working Group en junio del año 2003. El manejo de estos nuevos dispositivos digitales va siendo además cada vez más sencillo, gracias a la mejora de las interfaces con el usuario y los continuos avances en los protocolos de configuración automática.
El ejemplo más claro es el teléfono móvil, que de mero teléfono, ha ido integrando funciones propias de una agenda, grabadora, cámara de fotos, consola de videojuegos, etc. El teléfono móvil, junto a las PDA (Personal Digital Agenda), se convertirán también en el dispositivo que permitirá controlar, en cualquier momento y desde cualquier lugar, la vivieda domótica. También merecen especial mención: las cámaras de fotos digitales, las cámaras Web, las Web Pad, las videoconsolas, los jukebox o reproductores MP3 con disco duro, los sistema de cine en casa o Home Cinema, los decodificadores de televisión digital terrestre, los DVR (Digital Video Recorder) o grabadoras de vídeo digital con disco duro, o las radio Internet o i-radios.