Sensor Mouse es un proyecto que nos permite monitorear el estado de las puertas y ventanas mediante algun dispositivo conectado a un computador (generalmente mouse).
Ya escribi sobre este proyecto hace un par de meses, pero la informacion de como hacerlo ya no esta accesible, asi que publicare el articulo completo.
Materiales:
En este caso utilizaremos un Mouse optico (cualquier marca) USB, pero tambien puede ser un mouse no-optico y de cualquier interfaz (usb, ps/2, etc) y algunas rejillas para sostener el mouse sobre la puerta dejandolo a una distancia razonable para que active el sensor, acomodaremos la sensibilidad con materiales extras como carton o plastico que nos ayuden con el roce de la puerta con el Mouse.
- Mouse:

- Cable de red o usb para extension: Con este cable de red o cable largo usb podremos crear una extension por si nuestro PC esta lejos de la puera o ventana.
- Cinta adhesiva: Para poder fijar nuestro mouse a la plataforma que crearemos donde se generara el roce.
Preparacion (el hack):
Abrimos nuestro Mouse y lo desconectamos del cable, lo dejamos libre

Creamos alguna plataforma de apoyo en la pared donde este la ventana o la puerta que queremos monitorear y montamos el mouse con la imaginacion de cada uno:

Cuando ya tengamos todo montado, debemos alargar el cable usb del mouse para que llegue hasta nuestro computador. Se puede hacer cortando a la mitad el cable del mouse y añandiendo una extension de cable de red, no muy larga, 3 o 4 metros.

Cuando tengamos la conexion hecha revisamos que todo quedo en orden, conectamos el un extremo del cable al computador y el otro exremo al mouse, verificamos que funcione perfecto, que se encienda la luz, verificamos los logs de systema dmesg|tail o tail /var/log/syslog y todos esos sintomas que nos dicen. Dejamos ejecutando en una consola el comando: cat /dev/input/mice si es usb o cat /dev/psaux si es un mouse ps/2, una vez hecho esto vamos a donde esta el mouse y calculamos una distancia apropiada para que al cerrar o abrir la puerta (o ventana) el mouse detecte el movimiento, cuando en la consola donde dejamos corriendo el comando aparezcan caracteres raros es porque ya esta listo. Si les queda muy alto el mouse de la puerta, puede agregar un carton o un plastico (como un ala) que haga el roce con la puerta.
Cuando esten todos estos pasos cumplidos, tendremos nuestro sensor ya instalado, lo probamos abriendo y cerrando la puerta y vamos viendo la salida del comando cat en nuestra consola. que el mouse fue detectado.
Podemos asegurar nuestro Mouse para que quede bien firme.

Cerramos nuestra consola donde teniamos ejecutando a cat, sellamos bien el mouse, dejamos todo bien instalado.
Aplicacion/Programa:
- Descarga:
He desarrollado un prqueño software (libre porsupuesto) que nos permitira interactuar con nuestro querido sensor. Lo pueden descargar desde
aqui.
- Instalacion:
Nos situamos en el directorio donde lo hemos descargado y escribimos:
tar xjvf door-version.tar.bz2 Ingresamos al directorio creado: cd door-version (Pueden leer el fichero README y el INSTALL para mas informacion) Compilamos el programa: make Nos ponemos como root y lo instalamos:
make install Nos quedamos como root y ejecutamos el programa de la siguiente manera:
door /dev/input/mice 5 (lease README para mas informacion) Y comenzamos a disfrutar de nuestro mouse sensor.
Demostracion:
httpv://www.youtube.com/watch?v=AuSOYCTA4Es
evidentemente la puerta (s) no estará cerca del pc. cual es la distancia máxima de extensión del cable usb? como lo puedo extender sin que caiga la señal?
gracias...
Creo que depende el cable que uses, en mi caso, hice una extencion usb usando un cable de red.
pd: leyendo por ahi, me encontre con esto:
<cite>
El estándar USB soporta longitudes de cable de entre 0.5 y 5 metros. Existen pequeñas extensiones con clavijas macho-hembra, (los cables USB tienen dos clavijas macho), para alargar esos cables, sin que se puedan sobrepasar los 5 m que te comento.
Para longitudes más altas deberías usar un "cable de extensión activo", que básicamente es un cable USB con un hub integrado, y con una longitud máxima de 5 m. De estos se pueden encadenar hasta cinco cables, (y cuatro hubs), con un total de 25 m. </cite>
saludos
saludos!
Y la otra pregunta,c omo hiciste la conexion de los cables?
saludos
gracias
El programa que publique no sirve para Windows.
saludos
cc -c -o src/leds.o src/leds.c
src/leds.c:22:20: error: asm/io.h: No existe el fichero ó directorio
make: *** [src/leds.o] Error 1
Me da el mismo error con las 3 versiones existentes. Cual sería la solución?
Muchas gracias.
Puedes descargarla desde:
http://blog.zerial.org/files/sensor-mouse/0.4/
saludos!
http://blog.zerial.org/files/sensor-mouse/
saludos!
Gracias
La logica y fucnionamiento del codigo esta basada en que cada movimiento que tenga el mouse es un bit que puedes leer usando leyendo directamente el dispositivo correspondiente, y por cada X bits leidos, segun el estado actual del sensor, detecta si la puerta o ventana se abrio o se cerro. Entiendes?
Por ejemplo si al abrir la ventana el mouse lee 10 bits, entones le decimos al programa que cada 10 bits tome en cuenta que la ventana se cerro y marque el estado de la ventana como "abierto" y luego, al volver a leer 10 bits, significa que la ventana se cerro y como esta marcado como "abierto", que lo marque como cerrado.
¿Se entiende?
Sí me gustaria un post (si no es mucha molestia) desde cero, aunque sea sólo el código, para entender función por función. Además, nos serviría al resto del grupo para no comprar una interfase aparte...Mil gracias
sh: beep: not found
bueno no se si esto me indica que no se encuentra que onda simpre que lo muevo y pues en la descripcion no dice que hace tu programa si me puedes indicar que es lo que ase o que te indica me guztaria que me agregaras
y el otro probelma que ahora deves de me marke eso cuando lo muevo al darle clip izquierdo no se que ize y no puedo configurarlo ayudame
!!!!!!!!!!!!!!!!!!!!HELP¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
espero me contestes
****Oks muchas gracias, pero en que archivos modificaria (door.c, events.c, leds.c, OpendDivice.c) y con que lo compilo que version de c utilizaste o programa para compilar. saludos y disculpa las molestias
espero me contestes
saludos espero tu respuesta gracias y disculpa por las molestias
No entiendo a que te refieres con que archivos modificar.. que quiers hacer?
Preguntame y yo te respondo :)
deja me decirte que yo amo linux pero no lo domino al 100% como y pues windows ya lo conosco y se manejar algunos lenguajes no se si kieres que suba el programa o si te molesta
si alguno tiene alguna duda o kiere el programa
pues agregenme
zonek@hotmail.es
y espero tu comentaria zerial
y muchas gracias por la ayuda sinti no ubiera podido aser mi software ya que me baase en tu diseño del raton sale graxias
SALUDOS
solo te pido un espacio que diga ayuda de zonek no jajaja no es cierto puro coto si claro pasame tu correo y ps te lo envio y deveras algo que les dejo a este blog jajaj ps gracias al mi invetos que ise de prueba al creaar al principio este programa el primer intento que hiz bole mi bosina del beep de mi compu jajaja pero ya la aregle y aregle el codigo y suena perfecto ya puedes tener tu sensor lo uniko que me falta y no se si alguien me puede ayudar es a configurar dos punteros distintos eslo que no e podido encontar sale espero y si me ayuden
sale zerial agregame o pasame tu correo
SALUDOS
¿como lo hago para ke el sensor esta activo todo el rato???
se agradeceria tu respuesta
Saludos. Gracias
Pero asi por comando o por codigo (programa) no me imagino como hacerlo.
saludos
la filosofia GPL es una pasada, espero algún día poder ayudar de manera parecida.
Suelto una cuestión: comentas que tu programa lo que hace es leer el movimiento en bit, pero... ¿no sería mas interesante leer el carracter ASCII que te entra? de esta forma podrias diferenciar 4 caracteres distintos y podrias saber si habres o cierras la puerta.
En la explicación que has dado mas arriba, comentas que cuentas 10 bit (pones un flag como puerta abierta) y luego cuando vuelves a contar 10bit (pones, puerta cerrada) pero.... ¿y si lo que haces es mover la puerta en pequeños movimientos pero no la cierras? te estaria contando bit hasta diez pero en realidad la puerta estaria abierta. ¿no?, eso no pasaría si de algún modo se pudiese controlar cual de los 4 caractares estas leyendo.
bueno no se si me he explicado. De todas formas un DIEZ gracias por la aportación. Espero haya algien que sepa como obtener esto carateres.
De nuevo gracias por adelantado.
Respecto a lo que dices sobre mover despacio varias veces la puerta para que envie bits y asi vulnerar el sistema para que crea que esta abierta cuando en realidad esta cerrada, tienes razon, pero piensa que esto del sensor-mouse es solo una idea llevada a la realidad, se puede mejorar mucho y si piensas en usarla de verdad, para alarmas o cosas asi, obviamente hay muchas cosas que mejorar. Esto es solo el principio ....
Gracias por tu comentario!
mucho "parapeto"
yo hice uno con el el maus sin necesidad de tenerlo
conectado al fuck pc
Dios mio, !!imaginacion!! por favor
que "no la tenemos"
saludos desde veracruz mexico
El cable largo va al puerto PS/2 o USB, segun corresponda el mouse
https://sites.google.com/site/zoonek1/proyect/sensor-de-movimiento
Saludos
gcc /02 /c src/door.c -o src/door.o
make: gcc : command not found
make: *** [all] Error 127
/usr/bin/ld: i386 architecture of input file "src/event.o" is incompatible with i386 : x86-64 output
este problema se repite para todos los ficheros *.o
quiciera saber si tiene alguna solucion y que tengo que hacer para solucionarlo, muchas gracias de antemano.
Prueba eliminando los archivos ".o" que estan dentro de src y ejecuta "make" nuevamente
yo hice asi
sudo su; para entrar como root
luego el make install
despues le di door /dev/input/mice 5 para ejecutarlo, esto esta mal no?
como tendria que hacerlo?
me aparece lo siguiente:
gcc -02 -c src/door.c -o src/door.o
gcc -02 src/*.o -o bin/door
src/events.o: could not read symbols: File in wrong format
collect2: ld devolvio el estado de salida 1
make: ***[all] error 1
razon por la cual en la carpeta bin no se crea nada
estoy utilizando la version 0.4
espero y me puedas ayudar de ante mano gracias
casd: Trata de eliminar todos los ".o" y generalos de nuevo con "make". Que sistema operativo estas usando y de cuantos bits?
tendra algo que ver que use S.O a 64 bits???
de antemano gracias
mi num es 3878676325 grax desde ya
Instala cualquier distribucion, incluso puede ser una "booteable" desde CD
saludos...
Tengo problemas para descargar el software para la configuración del sensor.
Agradecería su ayuda. Gracias.