Posts Tagged 'pygame'

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