Código sensor de presencia

En respuesta a este comentario de albertou, voy a poner aquí el código en python del sensor de presencia que tenemos en sugus:

# sensor.py
import os
import time
import pygame
from pygame.locals import *

# devuelve una media de luminosidad
def luminosidad_media(image):
    brillo = 0
    for i in range(0, image.get_width()):
        for j in range(0, image.get_height()):
            pix = image.get_at((i,j))
            brillo += 0.3*pix[0] + 0.59*pix[1] + 0.11*pix[2]

    brillo = brillo / (image.get_width()*image.get_height())

    return brillo

os.popen2("gqcam -b 100 -v /dev/video0 -d imagen.png")
image = pygame.image.load("imagen.png")
luminosidad = luminosidad_media(image)
print luminosidad

Tan simple como esto, se captura una imagen con gqcam, se carga la imagen, para ello uso pygame, y luego se calcula la luminosidad media, haciendo la media del nivel de gris (0,255) de la imagen.

Esto se pone en un script: python sensor.py > luminosidad.txt
y ese script se mete en el cron para que se haga periodicamente. En el fichero de luminosidad quedará un numero de 0 a 255, y tú decides cuando consideras que la luz está encendida.

Nada más, algo muy simple.

Anuncios

2 Responses to “Código sensor de presencia”


  1. 1 Zatoichi enero 14, 2008 en 2:28 pm

    Hola, es la primera vez que visito tu blog, está muy bien, solo quería hacerte una pregunta, que plugin utilizas para el código? Por cierto si te gusta la programación de videojuegos estamos intentando crear un pequeña comunidad para desarrolladores (http://opengames.ditask.es)

    Saludos

  2. 2 danigm enero 14, 2008 en 2:56 pm

    Para poner código en wordpress aquí tienes el faq.

    http://faq.wordpress.com/2007/09/03/how-do-i-post-source-code/

    Sobre los videojuegos, me pasaré a ver que se cuece por allí.


Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google photo

Estás comentando usando tu cuenta de Google. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s





A %d blogueros les gusta esto: