Grupos de Investigación de Robótica


Robos, incendios, escapes de gas,... un buen sistema de alarma no sólo debe hacer sonar una sirena; también debe ser capaz de mantener constantemente informado al propietario
de la vivienda de todo lo que sucede en esta, mientras está
ausente.


En www.todomicrostamp.com ya hay publicado un excelente sistema de alarma que, además de gobernar varios sensores, avisa
mediante el envío de un e-mail alertando de lo que está
sucediendo en nuestra casa o en nuestro local gracias a un software específico
(http://www.todomicrostamp.com/iker.php).
En este otro proyecto vamos a plantear una versión diferente,
en la que además de posibilitar el envío de alertas
personalizadas por email, introducimos también un aspecto
novedoso que nos permitirá consultar en tiempo real, gráficamente
y desde cualquier lugar donde exista una conexión a Internet,
los estados de unos sensores que vigilan en nuestra vivienda sin
necesidad de tener encendido nuestro ordenador; todo esto gracias
a la utilización de un servidor web: el Parallax Internet
Netburner Kit. También, hemos previsto dos
modos de alarma ("modo vigilancia" y "modo
alarma
") para atender a diferentes funcionalidades que
podemos dar a nuestro sistema.


ESQUEMA GENERAL
El sistema de alarma conectado a Internet que aquí comentamos
seguirá el siguiente esquema:




LOS SENSORES

Si optais por montar vosotros mismos los sensores, podeis buscar entre
los artículos de la revista NUTS&VOLTS. Aquí teneis
un buscador para localizar lo que necesiteis entre resúmenes traducidos
al castellano: http://www.todomicrostamp.com/microsparallax/indice_nv.php

No obstante, con el objetivo de posibilitar la mayor comprensión de este proyecto y ofrecer facilidades para los que se inician, hemos optado
por usar unos sensores ya montados y comprobados de la empresa Microsystems y Parallax,
cuyos módulos económicos son fáciles de instalar
y conectar a nuestro circuito BASIC Stamp2:


- Apertura de puerta: Sensor I.R. de obstáculos (MSE-S135)
Se trata de un detector IR de obstáculos que detecta la presencia
de un objeto sin contacto físico con el mismo. Consiste en un emisor/detector
de luz infrarroja modulada, lo que lo hace inmune a interferencias provocadas
por otras fuentes de luz como la luz normal de una bombilla o la luz del
Sol. En reposo proporciona un nivel lógico "1", pero
cuando la luz que emite el LED (emisor) rebota contra un objeto es recibida
por el detector (receptor) y tratada para pasar a nivel lógico
"0" (si la señal captada es suficientemente fuerte).
Asi pues, este sensor lo ubicaremos encima de la puerta principal de nuestra
casa, para que detecte cuando la hoja de la puerta se abre.

http://www.msebilbao.com/tienda/product_info.php?products_id=66

- Sensor de ruido (MSE-S100)
Este tipo de detector es recomendable en viviendas con grandes cristaleras.
El micrófono que incluye recoge la señal de ruido como puede
ser el de la rotura de cristales. Esta señal es amplificada y si
alcanza un determinado nivel, proporciona un nivel lógico "1".
Dispone de un pequeño potenciómetro con el que podremos
ajustar el nivel de disparo y de esta manera aislar otras fuentes de ruido
no significativas. El lugar idóneo será en el techo de la
estancia donde se encuentran los grandes ventanales.


http://www.msebilbao.com/tienda/product_info.php?products_id=72

-
Sensor de proximidad (PIR: Passive Infra-Red)



Se trata de un sensor PIR que tiene un pin de salida que pasa a nivel alto (5 Volts) por un par de segundos cada vez que registra movimiento
o cambios en el patrón IR de la habitación. Es el
típico sensor empleado en multitud de sistemas de larma,
normalmente conectado a un LED rojo que se enciende cada vez que
alguien se mueve o en interruptores de iluminación que
encienden las luces cuando alguien se aproxima.

http://www.parallax.com/.../PIR/List/1/ProductID/83/



- Sensor de Luz (MSE-S130)
Este sensor capta la variación de luz, que después
la condiciona y amplifica para proporcionar una tensión
de salida de la que obtendremos un nivel lógico "1"
para nuestro circuito BS2. Nos será util para ubicarlo
en aquellos sitios donde guardemos algo de valor y que para acceder
a este sea necesario abrir o destapar algún compartimiento
(cajón, armario, compartimiento secreto, detrás
de un cuadro,...) Cuando el sensor reciba la luz del entorno o
de alguna linterna, este simplemente "se activará".


http://www.msebilbao.com/tienda/product_info.php?products_id=68

EL CIRCUITO BASIC STAMP 2
Como podeis ver en las imágenes, inicialmente hemos conectado los
sensores con cable corto para realizar las primeras pruebas y ajustes
del programa.




Los módulos sensores disponen de 3 puntos de conexión cómunes en todos: Vcc (+5V), Vss (masa o GND) y Señal
(SIG). El PIR de Parallax ofrece posibilidad de conectar un
"latiguillo" de triple cable, de los usados para
conectar servos, teniendo en cuenta que la conexión
del cable negro debe ir al pin macho "-"; el rojo
(central) al "+" y el blanco al de señal
"OUT".


EL MODULO SERVIDOR WEB PINK

Este módulo denominado PINK (Parallax Internet Netburner
Kit) constituye un servidor web embebido (incrustado en el circuito
del módulo) capaz de alojar nuestras propias páginas web,
desde las cuales poder mostrar datos que pueda gestionar nuestro circuito
BS2, como es el caso en este proyecto, donde interactuaremos con 4 de
las 100 variables que soporta. Además, nos posibilitará
el envío de mensajes email de acuerdo con la gestión de
nuestro BS2 y los sensores.





Conexiones de la BOE con el módulo PINK

Notad que vamos a utilizar el pin P8 para comunicar nuestro circuito BS2 con el módulo PINK (en modo
envío), para que de esta manera pueda pasar serialmente valores
de variables y el PINK las haga servir en una página web.

EL PROGRAMA PARA EL BS
Una vez realizado el conexionado de todos los elementos, vamos a
confeccionar el programa que en el BS controlará los sensores
y enviará datos al módulo PINK.


Al comienzo del programa, después de declarar las variables que
usaremos, observad que hemos dispuesto la gestión de 2 pulsadores
para seleccionar, bajo nuestro criterio, uno de los dos modos de vigilancia
que hemos hecho disponible:

- Modo "alarma", apropiado para cuando nos ausentamos
de la vivienda, en el que el "disparo" de cualquiera de los
sensores provoca el envío de un email notificándonos la
alerta.


- Modo "vigilancia nocturna", apropiado para cuando
en la vivienda estan algunos miembros de la familia o estamos todos
durmiendo; entonces no será necesario el envío de alertas
por email, aunque sí hemos dispuesto que se oiga un beep.

La desactivación de los modos o del sistema se podrá llevar
a cabo mediante el propio botón RESET de la tarjeta BOE, con
lo que devolvemos el control del programa al inicio, donde se ejecuta
un bucle eterno hasta que seleccionemos uno de los modos.




' {$STAMP BS2}
' {$PBASIC 2.5}

modo VAR Byte
NBVAR VAR Byte
n VAR Byte
email VAR Byte

cont0 VAR Word
cont1 VAR Word
cont2 VAR Word
cont3 VAR Word

SEROUT 8,396,["!NB0W00:0",CLS] 'inicializa

SEROUT 8,396,["!NB0W01:0",CLS] 'inicializa
SEROUT 8,396,["!NB0W02:0",CLS] 'inicializa
SEROUT 8,396,["!NB0W03:0",CLS] 'inicializa



DO WHILE modo = 0
IF IN14 = 0 THEN 'modo [alerta durante
ausencia]

modo = 1
FOR N = 1 TO 10 'damos tiempo para
abandonar la casa

FREQOUT 4, 250, 3000 ' beep

PAUSE 750
NEXT
ENDIF
IF IN10 = 0 THEN 'modo [vigilancia
nocturna]

modo = 2
FREQOUT 4, 250, 3000 ' beep

PAUSE 100
FREQOUT 4, 250, 3000 ' beep
PAUSE 100
FREQOUT 4, 250, 3000 ' beep
ENDIF

LOOP



En realidad, lo que hacemos es cargar la variable "modo" con el modo seleccionado ("1" modo alarma; "2"
modo vigilancia nocturna) , para cuando sea necesario comprobar
más adelante en el programa en qué modo estamos
trabajando. Además, si seleccionamos el modo "alarma",
deberemos disponer de tiempo suficiente para abandonar la casa;
por esta razón, se incluye una instrucción FOR-NEXT
(ajustado para contar 10seg. aproximadamente) antes de que el
programa comience a comprobar el estado de los sensores. Además,
observareis que hemos incluido unas líneas para que el
sistema responda auditivamente a través de un altavoz piezoeléctrico
o zumbador y sepamos qué estamos haciendo (modo "alarma":
secuencia de 10 bips; modo "vigilancia": tres beeps
consecutivos).


A continuación tenemos la parte del programa que corresponde a la comprobación de los sensores:


DO
GOSUB APERTURAPUERTA
GOSUB ALERTARUIDO
GOSUB ALERTALUZ
GOSUB PIR
LOOP


Fijaos que simplemente lo que hacemos es disponer de una serie de llamadas a las subrutinas para la contínua comprobación
del estado de cada sensor. Debemos procurar que se "pierda"
el mínimo tiempo posible de proceso en cada una de las subrutinas
que son ejecutadas, a fin de que la comprobación del resto de los
sensores continúe con toda la rapidez que se requiere y de esta
manera evitar perder alguna activación.


A continuación escribimos las subrutinas que corresponden a cada uno de los sensores:


APERTURAPUERTA:
IF IN0 = 1 THEN
cont0 = 1 'OJO puerta abierta
GOSUB EMAIL_BEEP 'envía email
o beep


ENDIF
IF cont0 > 0 THEN
SELECT cont0
CASE > 24000
cont0 = 0 'contador ha llegado a
60minutos -> vuelve a estado alerta


email = 0
SEROUT 8,396,["!NB0W00:0",CLS]
'inicializa después de 30 minutos

RETURN
CASE > 4000

SEROUT 8,396,["!NB0W00:3",CLS] 'sensor
ha sido activado hace más de 5 minutos-> mostrar
huella

CASE > 400
SEROUT 8,396,["!NB0W00:2",CLS] 'sensor
ha sido activado hace más de 1 minuto-> mostrar
huella


CASE > 0
SEROUT 8,396,["!NB0W00:1",CLS] 'sensor
ha sido activado

ENDSELECT
cont0 = cont0 +1 'contador en marcha
(aunque se haya cerrado la puerta)


PAUSE 10
ENDIF
RETURN


ALERTARUIDO:
IF IN1 = 1 THEN

cont1 = 1 'OJO alerta ruido
GOSUB EMAIL_BEEP 'envía email
o beep

ENDIF
IF cont1 > 0 THEN

SELECT cont1
CASE > 24000
cont1 = 0 'contador ha llegado a
60minutos -> vuelve a estado alerta

SEROUT 8,396,["!NB0W01:0",CLS]
'inicializa después de 30 minutos


RETURN
CASE > 4000
SEROUT 8,396,["!NB0W01:3",CLS]
'sensor ha sido activado hace más de 5 minutos->
mostrar huella


CASE > 400
SEROUT 8,396,["!NB0W01:2",CLS] 'sensor
ha sido activado hace más de 1 minuto-> mostrar
huella

CASE > 0

SEROUT 8,396,["!NB0W01:1",CLS] 'sensor
ha sido activado

ENDSELECT
cont1 = cont1 +1 'contador en marcha
(aunque no haya ruido)

PAUSE 10
ENDIF

RETURN


ALERTALUZ:
IF IN2 = 1 THEN
cont2 = 1 'OJO alerta luz
GOSUB EMAIL_BEEP 'envía email
o beep


ENDIF
IF cont2 > 0 THEN
SELECT cont2
CASE > 24000
cont2 = 0 'contador ha llegado a
60minutos -> vuelve a estado alerta


SEROUT 8,396,["!NB0W02:0",CLS] 'inicializa
después de 30 minutos

RETURN
CASE > 4000
SEROUT 8,396,["!NB0W02:3",CLS] 'sensor
ha sido activado hace más de 5 minutos-> mostrar
huella


CASE > 400
SEROUT 8,396,["!NB0W02:2",CLS]
'sensor ha sido activado hace más de 1 minuto->
mostrar huella

CASE > 0

SEROUT 8,396,["!NB0W02:1",CLS] 'sensor
ha sido activado

ENDSELECT
cont2 = cont2 +1 'contador en marcha
(aunque no haya luz)

PAUSE 10
ENDIF

RETURN


PIR:
IF IN3 = 1 THEN
cont3 = 1 'OJO alerta aproximación

GOSUB EMAIL_BEEP 'envía email
o beep

ENDIF
IF cont3 > 0 THEN
SELECT cont3
CASE > 24000

cont3 = 0 'contador ha llegado a
60minutos -> vuelve a estado alerta

SEROUT 8,396,["!NB0W03:0",CLS] 'inicializa
después de 30 minutos

RETURN
CASE > 4000

SEROUT 8,396,["!NB0W03:3",CLS] 'sensor
ha sido activado hace más de 5 minutos-> mostrar
huella

CASE > 400
SEROUT 8,396,["!NB0W03:2",CLS] 'sensor
ha sido activado hace más de 1 minuto-> mostrar
huella


CASE > 0
SEROUT 8,396,["!NB0W03:1",CLS] 'sensor
ha sido activado

ENDSELECT
cont3 = cont3 +1 'contador en marcha
(aunque no exista aproximación)


PAUSE 10
ENDIF
RETURN

Con la variable contador "contx" controlamos el paso del tiempo para ir cambiando las diferentes imágenes de los
sensores activados.


Ahora concentrémonos en las líneas de código en las que asignamos diferentes valores a las variables que
pasarán al módulo PINK: Nuestro programa en el
BS2 envia serialmente el comando: !NB0Wxx
donde "xx" es el número de la variable
que estamos usando para un sensor determinado ("00"
apertura puerta, "01" sensor de ruído, "02"
sensor de luz y "03" sensor PIR).


Pero ¿por qué asignar varios valores para un único estado activo del sensor?

Fijaos: en muchos casos el registro al instante del estado lógico de un sensor puede ser una solución válida, pero en el funcionamiento
de este sistema que monitorizamos a distancia desde una página
web no nos vale. Suponeos el caso en el que uno de los sensores se activa
un solo instante, por ejemplo, el de ruido: aún cuando estemos
observando en ese momento la página donde es posible monitorear
el comportamiento del sistema, puede que no nos percatemos de que el
sensor ha estado activo durante un instante. De manera que hemos tenido
que buscar la manera de aplicar un modo "latcheado", esto
es, que la huella de la actuación de un sensor cualquiera permanezca

activa hasta que pueda ser vista por nosotros.


Para lograr ese modo, hemos pensado en incluir 3 lecturas del gráfico del sensor activado: una que nos indica que en ese momento el sensor
está actuando (durante el tiempo de su activación, que
en algunos casos podrá ser un solo instante); otra en la que
el sensor ha actuado recientemente (durante unos minutos después
de su activación); y otra, después de una hora desde su
activación. Finalmente, al cabo de esa hora, el gráfico
representativo, la huella, "se desvanecerá".

Por ejemplo, para el sensor que controla la apertura de la puerta, cuando este se active, obtendremos los siguientes gráficos a partir
de los 3 diferentes valores que pasaremos a las variables del módulo
PINK:










Cuando la puerta se está abriendo/cerrando en ese momento.
Transcurridos 5 minutos desde que se activó el sensor (huella)
Transcurrida 1 hora desde que se activó el sensor (huella)

Visitas: 4

Respuestas a esta discusión


Vereis que los tiempos que la "huella" permanece los podemos configurar cambiando los valores '24000', '4000' y '400' que vamos compronado con los SELECT. Con este uso, lo que conseguimos es un sistema de alertas más eficaz, gráfico e informativo.


Pero,
no sólo vamos a pasar al PINK los valores que corresponden
al estado de los sensores: veamos ahora cómo podemos "construir"
el email que se enviará en modo "alerta", cuando
se dispare el sensor de apertura de puerta. Deben ser especificadas
las variables de los registros: Nb_varET (dirección
email destinatario), Nb_varEF (dirección email remitente),
Nb_varES (asunto del mensaje) y Nb_varEV (servidor
SMTP que no requiera autentificación):



EMAIL_BEEP:IF modo = 1 THEN FREQOUT 4, 250, 3000 ' beep IF cont0 > 1 THEN 'envía
email sólo en caso de apertura puerta

IF email = 0 THEN
SEROUT 8,396,["!NB0WET: tu_direccion_email_destino",CLS]

SEROUT 8,396,["!NB0WEF:tu_direccion_email_remitente",CLS]
SEROUT 8,396,["!NB0WES:Alerta, puerta principal de
la casa abierta",CLS]
SEROUT 8,396,["!NB0WEV:tu_servidor_SMTP",CLS]

SEROUT 8,396,["!NB0SM"]
email = 1 'email ya enviado
ENDIF
ENDIF
RETURN


Observa que hemos utilizado la variable 'email' para el caso en que la puerta se quede abierta durante cierto tiempo, evitaremos que el sistema envíe continuamente emails de alerta.

Para descargar el programa completo, pulsar aquí. Llegado a este punto, ahora sólo se trata de construir la página web.


CONSTRUCCIÓN DE LA PAGINA WEB Ahora viene cuando vamos a poder demostrar nuestras dotes de creatividad y buen gusto: debemos crear una página web para poder mostrar los diferentes estados de los sensores que gestiona el sistema.
Puede que digan algunos: "Hay que hacer una página
web y no sé nada de HTML". Tranquilos, porque de lo
que se trata es de escribir unas cuantas etiquetas HTML en un
fichero de texto y manejar unos cuantos gráficos de una
manera muy ingeniosa.

Primero prepararemos con cualquier programa de dibujo una imagen que
represente el plano de nuestra vivienda, con trazos simples y un solo
color a fin de que destaque cualquier otra señalización
que hagamos sobre el plano. Por ejemplo:






En el plano hemos incluido una referencia en color azul que corresponde a la ubicación física de los 4 sensores; además nos servirá de ayuda para "afinar la puntería" e ir colocando las otras imágenes sobre el plano que nos mostrarán
los sensores en su estado activo. La imagen la guardamos con nombre y
formato "plano.gif".


El código HTML para mostrar esa imagen en nuestra página, que guadaremos con nombre y formato "micasa.htm", será:

<html>
<head> <title>Mi caaaaasa</title> <meta http-equiv="refresh" content="20"; URL="micasa.htm">

</head>
<body bgcolor="#FFFFFF" text="#000000">

<img
src="plano.gif">
</body>
</html>

Fíjate en la línea <meta http-equiv="refresh" content="20"; URL="micasa.htm">, esta etiqueta HTML permitirá que la página se recargue automáticamente
cada 5 seg. Con el fin de que muestre información actualziada constantemente.
Respecto a la etiqueta HTML que carga la imagen, los que manejais perfectamente
código HTML, mirad de especificar el tamaño de esta para
acelerar su carga en la página.


Después, vamos a diseñar las imágenes de los sensores, que representan su estado activo y su "huella". Por ejemplo, para el sensor de ruído:



Activado (ruido1.gif)
Recién activado (ruido2.gif)
Activado hace un rato (ruido3.gif)

Los mismos gráficos para el sensor de luz, pero diferentes nombres de archivo:



Activado (luz1.gif)

Recién activado (luz2.gif)
Activado hace un rato (luz3.gif)

Y este, por ejemplo, para el sensor PIR:



Activado (aproximacion1.gif) Recién activado (aproximacion2.gif) Activado hace un rato (aproximacion3.gif)

Y por último, para el sensor de apertura de puerta:


Activado (apertura1.gif)
Recién activado (apertura2.gif)

Activado hace un rato (apertura3.gif)

Estas imágenes animadas las podeis realizar con cualquier programa de gifs animados (o serviros utilizar estas mismas).

Bueno pues, para que nuestra página web "lea" los valores de las variables que el circuito BS2 envia al módulo PINK es tan sencillo como, por ejemplo, emplear este tipo de codigo:

El valor de la variable 01 es <Nb_var01>

Si el valor de esa variable (que en el programa la hemos hecho corresponder con el sensor de ruido) tuviera el valor "1" (porque está activado), se nos mostraría una página como la imagen.

Pero concordareis conmigo en que lo interesante va a ser representar esos valores gráficamente. ¿Qué pasaría si en vez de la línea de código anterior intentamos cargar una imagen con esta otra línea:

El valor de la variable 01 es <img src="ruido<Nb_var01>.gif">


Pasamos a contestar la pregunta: si el valor de la variable Nb_var01 es "0", la página que contenga esa línea mostrará la imagen "ruido0.gif"; en cambio, si el valor es "1", la página mostrará la imagen "ruido1.gif". Pues
ya está! Podemos "jugar" a nuestro antojo con los valores
de las variables que entregue nuestro circuito BS al módulo PINK
para que en determinados casos se muestre, en nuestra página
web, la imagen que queramos.


Asi pues los nombres de los archivos de las imágenes de cada uno de los sensores deberán acabar en "1"las que corresponden a su estado activo; acabarán en "2" las que correspondan a su huella más reciente; y acabarán en "3"
las que correspondan a la última huella (por ejemplo: apertura1.gif,
apertura2.gif y apertura3.gif, ...)


También prepararemos una imagen gif transparente (un "spacer" o imagen que no muestre nada), no importa el tamaño, y que guardaremos con los mismos nombres que las imágenes anteriores, pero acabado en "0": apertura0.gif, ruido0.gif, ... Estas nos servirán
para cuando el valor de las variables sean "0"; es decir,
cuando nuestros sensores esten en reposo.

Ahora ha llegado el momento en colocar las imágenes en nuestra página web. Pero antes, desde la página "VV_show.htm" (una de las páginas que viene por defecto en el módulo PINK) cambiaremos manualmente el valor de las variables "Nb_var00"
a "Nb_var03" al valor "1" y de esta manera "forzaremos"
a nuestro sistema a que vaya mostrando las imágenes de todos
los sensores en estado activo, a medida que las vayamos incluyendo en
la página.


Asi pues, comenzaremos insertando unas pocas líneas HTML para el primero de los sensores, por ejemplo, el de la apertura puerta:

<html>
<head> <title>Mi caaaaasa</title> <meta http-equiv="refresh" content="10"; URL="micasa.htm">

</head>
<body bgcolor="#FFFFFF" text="#000000">
<img src="plano.gif" width="500" height="342">


<div
id="aperturapuerta" style="BACKGROUND-COLOR:#FFFFFF;
xg-p:absolute; left:208px; top:131px; z-index:9">
<img src="apertura<Nb_var00>.gif">
</div>


</body>
</html>

donde:
- "id" es el nombre descriptivo que le ponemos a esta capa o "layer" - "left" es la distancia en pixels desde la izquierda
de la página donde queremos situar la imagen.
- "top" es la distancia en pixels desde arriba de la
página.
Todos los demás parámetros (cuya descripción no
nos interesa en este momento), los mantenemos invariables.


La carga de la imagen se realiza mediante la etiqueta "<img src>" que ya hemos visto anteriormente con la imagen del plano. Si podeis especificar el tamaño de la imagen, mejor.

Aunque resultará algo tedioso, para fijar las coordenadas "left" y "top", tendremos que ubicar "a ojo" cada una de las imágenes. Probablemente debamos realizar varias tentativas, siguiendo el siguiente proceso:

- fijar coordenadas estimadas en el código.
- guardar archivo de la página.
- hacer doble clic en el archivo "micasa.htm"
- comprobar la desviación de la imagen.
- editar de nuevo el código.


Una vez conseguido, repetimos las mismas líneas de código, pero con nombres descriptivos, coordenadas y nombres de archivos de imagen diferentes, para el resto de los sensores. La página completa nos quedará así:


<html> <head><title>Mi caaaaasa</title> <meta http-equiv="refresh" content="10"; URL="micasa.htm"></head><body bgcolor="#FFFFFF" text="#000000">
<img src="plano.gif" width="500" height="342">
<div
id="aperturapuerta" style="BACKGROUND-COLOR:#FFFFFF;
xg-p:absolute; left:208px; top:131px; z-index:9">
<img src="apertura<Nb_var00>.gif">
</div>

<div id="ruido" style="BACKGROUND-COLOR:#FFFFFF; xg-p:absolute;
left:92px; top:315px; z-index:9">
<img src="ruido<Nb_var01>.gif" width="20"
height="20"> </div>

<div id="luz" style="BACKGROUND-COLOR:#FFFFFF; xg-p:absolute; left:308px; top:320px; z-index:9"> <img src="luz<Nb_var02>.gif" width="20" height="20"> </div>

<div id="aproximacion" style="BACKGROUND-COLOR:#FFFFFF; xg-p:absolute; left:380px; top:140px; z-index:9"> <img src="aproximacion<Nb_var03>.gif" width="18" height="33">
</div>

</body>
</html>


Ahora recurrimos de nuevo a la página "VV_show.htm" para cambiar las variables 0-3 con valor "2", y veamos las imágenes de la huella reciente de todos los sensores. Después repitamos el proceso, pero con valor "3" y la página deberá mostrar las imágenes de la última huella
de todos los sensores.

Interesante ¿verdad? Pues ahora tenemos que dejar que sea el funcionamiento de nuestro circuito BS el que maneje las variables. Para esto, transferimos la página y las imágenes al módulo PINK (podeis saber más sobre esto en el artículo "¡Conecta
tu BASIC Stamp al mundo!
")

y probamos tecleando "http://xx.xx.xx.xx/micasa.htm". Con
el plano a la vista y el circuito funcionando, podemos ya hacer una
primera valoración de nuestro ingenio.

Recordad que si estais trabajando en una red local, el router no podrá resolver la dirección IP desde "afuera", por lo que las pruebas tendreis que realizarlas con direcciones IP internas (como si estuvierais accediendo al router, pero tecleando la IP asignada mediante
la utilidad "IPSetup.exe", incluída con el kit del módulo PINK.


CONSIDERACIONES FINALES Este proyecto sigue siendo de ese tipo de proyectos sencillos de montar y cuyo listado del programa, aunque con muchas líneas al principio, acabas entendiendo cada una de estas. Pero debe considerarse como una concepción básica de un sistema de alarma
conectado a Internet, aunque potente por cuanto podemos fácilmente
realizar algunas mejoras, de acuerdo con las necesidades y la disponibilidad
de cada uno. Lo más significativo de este proyecto ha sido
el uso de un sevidor web y que viene a demostrar las enormes posibilidades
que tiene el poder conectar muchos de nuestros circuitos BS a Internet.

A continuación aportamos una serie de propuestas para mejorar el sistema, o cuanto menos, os ayude a considerar otras posibilidades, pues al fin al cabo, lo que importa es que construyais vuestro propio sistema de alarma:

- Tal vez sea necesario fijar una password en la página para su acceso, igual que para el FTP. Si lo haceis, entonces considerad la posibilidad de incluir un botón de formulario en la página para activar/desactivar/cambiar el modo de alarma (ver "Variables")


- Otros sensores que no hemos incluido en el proyecto, pero que vale la pena considerar su instalación para mejorar el proyecto, podrían ser: detector de Monóxido de carbono, densor de gas natural, butano y propano, detector de humo (alerta sobre posibilidad de fuego), detector de inundación (cuando la sonda
del detector detecta una fuga mínima de agua, excita un relé).
Estos detectores/sensores tienen de común que, en su estado activo,
excitan un relé que en nuestro circuito BS funcionaría como
el equivalente al cierre o apertura de un interruptor.

- Vereis que en este montaje hemos utilizado una tarjeta Board Of Education (BOE), con alimentación mixta. Seguro que a nadie se le escapa el hecho de que un buen sistema de alarma debe estar preparado para cortes de la alimentación, por lo que debe contemplar un modo de funcionamiento
autónomo, esto es, que funcione con algún tipo de baterias.
Lo mismo puede decirse del resto de los componentes (módulo PINK
y sensores). Pero lamentablemente siempre hay un eslabón en la
cadena cuya debilidad nos "rompe el invento": de nada nos servira
dotar de autonomía a todo el sistema si con nuestra conexión
a Internet (ADSL, cable,...) utilizamos un MODEM o router alimentado por
la red eléctrica, con lo que dejará de funcionar cuando falle el suministro eléctrico. Nos queda aún el recurso de incluir en el sistema una sirena, alimentada también por bateria,
para que, aún cuando la instalación eléctrica falle
o sea boicoteada, la sirena pondrá en sobreaviso a los vecinos
y ahuyente cualquier posible intruso.


- Si definitivamente optais por incluir la sirena, debereis contemplar un modo de cancelación del sistema, para cuando entreis en casa y no se dispare la sirena. Además, tal vez os resulte interesante incluir en el proyecto un "botón de pánico". Este consistirá en un pulsador, con enclavamiento en el programa BS2, y que ubicaremos en algún lugar estratégico de la casa,
de manera que cuando se pulse, se pongan en valor alto todos los sensores,
así como también se dispare la sirena. Esto es muy útil
para cuando existen situaciones de amenaza personal.

RSS

 

© 2025   Creado por Admin Grupos Robótica.   Tecnología de

Emblemas  |  Reportar un problema  |  Términos de servicio