¡Recomienda este blog!

miércoles, 23 de marzo de 2011

Programación de Socket en C: Servidor multiprotocolo ECHO.

El problema que se propone es la realización mediante socket de una aplicación con arquitectura cliente-servidor lo más sencilla posible para la mayor comprensión de este tipo de programación.

Para ello implementaremos un servidor ECHO multiprotocolo y con concurrencia aparente en el que podremos realizar conexiones con varios clientes que usen protocolo UDP o TCP, de forma simultanea.

Para aquellos que estén un poco perdidos, comentar que el servidor ECHO, es un servicio ya implementado en linux, el cual se limita a devolver el "string" que es enviado por un cliente, pero se realizará una implementación diferente.


#include
#include
#include
#include
#include

#include
#include
#include
#include

#include "error.h"
#include "socket_utils.h"

#define MAX_BUFF_SIZE 128

int main(int argc, char *argv[]) {

struct sockaddr_in cli_addr;
unsigned int cli_size;

int ms, cs, auxsock, nfds, usock;/* sock. maestro, cliente y aux, y número total de descriptores en el sistema */
fd_set rfds; /* conjunto de sockets para lectura */
fd_set afds; /* conjunto de sockets activos */

char buff[MAX_BUFF_SIZE];
int n;

/* obtenemos número máximo de descriptores en el sistema */
nfds = getdtablesize();

FD_ZERO(&afds);

ms = passiveTCP("echo", 5);
usock = passiveUDP("echo");

FD_SET(ms, &afds);

while (1) {

FD_SET(usock,&afds);

memcpy(&rfds, &afds, sizeof(rfds));
if (select(FD_SETSIZE, &rfds, (fd_set*)0, (fd_set*)0, (struct timeval *) 0) == -1)
errexit("select: %s\n", strerror(errno));

/* Cliente TCP */
if (FD_ISSET(ms, &rfds)) {
/* hay actividad sobre el socket maestro*/
cli_size = sizeof (cli_addr);
cs = accept (ms, (struct sockaddr *)&cli_addr, &cli_size);
if (cs != -1)
FD_SET(cs, &afds);
}

/* Cliente UDP */
if (FD_ISSET(usock, &rfds)) {
cli_size = sizeof(cli_addr);
if (recvfrom(usock, buff, sizeof(buff), 0,(struct sockaddr *)&cli_addr, &cli_size) < auxsock="0;" if="" auxsock="" n="recv"> 0))
send (auxsock, buff, n, 0);
if (n == 0) {
close(auxsock);
FD_CLR(auxsock, &afds);
}
}
}
(void) close(ms);
}

jueves, 3 de marzo de 2011

Estudio sobre Domótica: Vivienda familiar completamente autónoma.

Para la realización de este estudio, se centrará la atención en una vivienda unifamiliar, que posee un sistema de control integrado, para asegurar a los usuarios un aumento del confort, de la seguridad, del ahorro energético y de las facilidades de comunicación dentro de la vivienda y hacia el exterior con otros entes inteligentes, como por ejemplo la compañía de suministro eléctrico, el departamento de bomberos, un hospital o el supermercado.

Así concebida, una construcción inteligente debe buscar funcionalidad, flexibilidad y economía, generando un aumento de la productividad de los que la habitan. Si entendemos como productividad el mejor aprovechamiento del tiempo y una disminución de costes y riesgos.

Descripción detallada de la Vivienda Domotizada.

En general, en los sistemas de automatización de casas, el software que controla el funcionamiento de la casa debe ser ajustado para que responda al estilo de vida de los habitantes de la casa, y debe ser reprogramado, de forma sencilla, si la familia cambia sus referencias. También se dispondrá de un mando central, con el que pueden manejarse todos los elementos de la casa, de forma rápida.

En el diseño de la vivienda, se atiende especialmente, y con las particulares del caso, a los aspectos o necesidades primarias, que son el confort, seguridad y gestión de la misma. Desde el punto de vista del confort, la vivienda dispondrá de varios elementos inteligentes, enumerados a continuación:

- Se tendrá la opción de encender el equipo de audio y la televisión mediante un detector de voz.

- El aire acondicionado se enciende cuando entramos en nuestro hogar.

- El televisor bajará el volumen automáticamente si suena el teléfono.

- La lavadora enviará un mensaje a nuestro teléfono móvil, indicando que el ciclo de lavado terminó.

- Las persianas de la vivienda pueden subirse y bajarse de forma automática mediante palmadas o usando el mando central.

Automáticamente se tendrá lista el agua en la bañera a una hora determinada, los días que el usuario indique.

- El frigorífico de forma automática, dará un aviso sobre aquellos productos que están a punto de caducar. También al retirar un producto de éste, comprobará la cantidad disponible, y tendrá la capacidad de realizar la compra de forma automática si está por debajo de la cantidad programada.

- La posibilidad de mostrar en el televisor, la persona que está llamando a la puerta en ese momento, y permitirle pasar a la vivienda de forma automática.

- Sistema automático de regado y cortado del césped.

Para poder desarrollar este proyecto es necesario que por toda la casa se disponga de sensores que proveen información como la temperatura y luz ambiente, sonidos, movimientos, etc, y de actuadores que alteran las variables de ese ambiente en función de cómo se haya programado su sistema de control central.

Si nos centramos en cuestiones de seguridad, en la vivienda dispondremos de:

-Un Sistema de prevención de alarmas ante siniestros, mediante un detector de inundación con aviso y corte de agua, un detector de escape de gas con aviso y corte de gas, detectores de humo y detectores de intrusión.

- Un Sistema inteligente o simulación de presencia, que es capaz de darle vida a la vivienda cuando los usuarios no van a estar en ella por una larga temporada, para ello se podrá poner el sistema en modo vacaciones y la vivienda encenderá varias luces, subirá y bajará las persianas etc.

- Un sistema de vídeo vigilancia.

- Un dispositivo de alerta médica, tanto dentro como fuera de la vivienda, que se ponga encontacto de forma automática con los servicios de emergencia.

Para tratar la gestión de la vivienda de una forma óptima se tratará de racionalizar los distintos consumos energéticos en función de la ocupación de la vivienda, tarifas energéticas y nivel de potencia contratada, entre otros criterios. Además de la incorporación a la vivienda de elementos de auto-abastecimiento de energía como placas solares.

Cuando la demanda de energía eléctrica de nuestro hogar es superior a la contratada, el sistema puede desconectar los circuitos eléctricos a los que están conectados equipos de un uso no prioritario y con un consumo significativo, para evitar un corte del suministro eléctrico. Esto nos permite reducir la potencia contratada, reduciendo al mismo tiempo el coste mensual de la factura eléctrica. Al mismo tiempo existen equipos domésticos que pueden entrar en funcionamiento en horas distintas a las normales (lavadoras, lavavajillas, secadoras, calefacción eléctrica por acumuladores, etc.).

Todos ellos podrían funcionar aprovechando las condiciones más económicas de las posibles tarifas (tarifa nocturna.).A su vez, podemos controlar independientemente el consumo de los electrodomésticos para contratar la potencia exacta en nuestro hogar. Dentro de este campo, también es interesante que el sistema controle la iluminación de la vivienda, haciendo que el sistema controle cada una de las estancias según el nivel de luminosidad ambiente y presencia de usuarios, evitando con esto que haya estancias que tengan un consumo innecesario de energía.

Para finalizar, me gustaría hacer hincapié en que el uso de la domótica puede ser muy interesante para personas con cualquier tipo de dificultad, y que podría ser capaz de ayudar a personas con alguna discapacidad (física, sensorial y/o intelectual), así como a ancianos para que puedan vivir en sus casas de una forma independiente y autónoma. Por ejemplo usando dispositivos capaces de modificar la altura de la encimera de la cocina, para permitir un uso adecuado a personas con dificultades etc.

miércoles, 23 de febrero de 2011

Me paso al Libro electrónico: E-Book Bq Avant XL

Las nuevas tecnologías siguen avanzando a un ritmo casi incontrolable. Con toda esta evolución surgen los E-Book, libros electrónicos o como a mi me gusta llamarlo, ecolibro.

Aunque este término es ambiguo, ya que se hace referencia tanto a libros en formato digital como a los lectores de estos, en esta ocasión nos centraremos en los lectores.

Para todos aquellos que estén un poco perdidos, deciros que hoy en día casi cualquier aparato como PDA, PC, móvil. etc. puede usarse como lector de libros, aunque al tener por lo general pantallas LCD y TFT con Retroiluminacíon es una autentica tortura para la vista.

Para solucionar este problema en abril de 1997, el MIT ( Instituto de tecnología de Massachusets) crea la compañía E ink para desarrollar una tecnología de tinta electrónica.

Actualmente se implementan 2 tipos de tinta electrónica (tipo E-ink):

- Pequeñas esferas blancas por un lado, negras por otro. Las esferas rotan electrónicamente.

- Tubillos con líquido coloreado y esferas de contraste.

Ambas dan la sensación de estar leyendo un libro real, produciendo el mismo cansancio que en estas lecturas.

Pues bien esta tecnología es la que utilizan los lectores de libros electrónicos, y una de sus mayores ventajas es el gran ahorro de papel que supone (pensemos por ejemplo en la cantidad de papel diario que se utiliza para la creación de periódicos cuyo periodo de vida es de 24 horas).

Tras investigar un poco sobre el mundo de los e-book y su funcionamiento, para la asignatura Human Computer Interaction (HCI), decido mirar el mercado para comparar precios, rendimientos etc.

Pasados unos cuantos días me decido a comprar el lector Bq Avant XL, ya que me supondría un gran ahorro de fotocopias para los apuntes, de libros para la carrera y podría leer todos los libros que tengo en mente (que no son pocos), por un precio más económico e incluso de forma gratuita.

Este dispositivo dispone de una pantalla de 9 pulgadas, con tinta electrónica SIPIX mas AUO y una resolución de 1024 * 768, 150 ppp y 16 niveles de grises. Lo mejor es que es táctil, con lo que se pueden tomar notas directamente en los libros.

La autonomía de la batería es de hasta 10000 páginas (tras 2 meses, solo he tenido que realizar 2 cargas). Lee perfectamente los libros en PDF, epub, rtf, html, fb2 y txt, doc entre otros.

El lector Avant XL, con WiFi, grosor de 10 mm, peso de más de 400 gramos, memoria interna de 2 Gb y ranura para tarjetas de memoria microSD (con 2 Gb es suficiente), está disponible en color blanco.

Después de 2 meses de uso intensivo con mi Avant, puedo decir que es una de las mejores compras que he hecho, ya que con su gran pantalla me permite leer todo (incluso comics y el periódico) de forma muy sencilla, intuitiva y natural.


viernes, 18 de febrero de 2011

Cultura Activa UCLM: III Concurso de Blog.

Tras ver el programa que este año ofrece la UCLM en el periodo de concursos culturales para el desarrollo del plan Cultura Activa, descubro el concurso de Blog y como no podría ser de otra forma decido inscribirme.

Para todo el que esté interesado, deciros que tenéis hasta el 18 de este mes para inscribiros y presentar vuestro Blog. Animaros que no perdéis nada y es algo muy interesante para intercambiar opiniones entre nosotros, además de los premios que se otorgaran a los 3 primeros ( 500, 300 y 150 €).

Os dejo el Link con todas las actividades que se van a realizar.

jueves, 17 de febrero de 2011

PRESENTACIÓN: E-LEARNING DESDE MI MÓVIL.

Arquitectura de computadores: IBM Cell Processor