Google+ Seguidores

domingo, 12 de febrero de 2017

Capturar imagenes en una raspberry pi con Python

Unos de mis últimos trabajos como programador Python Freelance fue crear un sencillo Script que tomara fotos a 4 horas determinadas del día y que estas se guardaran con la fecha y hora de su captura. Como el titulo dice, fue realizado en un Raspberry Pi 3 con Wifi!!!

Para que se ejecutara todos los días a las horas solicitadas por el empleador utilice las tareas programadas del sistema operativo Raspbian del Raspberry (Crontab)

Crontab Linux
Crontab
Para configurar las tareas programadas en el Raspberry, en el shell se utiliza el comando (crontab -e) y como muestra la imagen el primer * es para determinar los minutos, el segundo la hora, el tercero los días del mes, el cuarto el mes del año y el último el día de la semana. Luego de los asteriscos, debemos ejecutar nuestro Script Python.

Ejemplo que ejecuta el Script todos los días a las 16 horas:

0 16 * * * python /home/diego/Captura.py

Les comparto el código que captura imagenes en el Raspberry y guarda la foto con la fecha y hora de su captura:




#!/usr/bin/env python
# -*- coding: utf-8 -*-
# Creado por Diego Caraballo
# http://www.pythondiario.com
# Capturar con hora + fecha

import os
from time import sleep
import time
import datetime
from picamera import PiCamera

# Codigo que soluciona problema al querer capturar
# utilizando crontab en la Raspberry
# environnement vars
os.environ.setdefault('XAUTHORITY', '/home/user/.Xauthority')
os.environ.setdefault('DISPLAY', ':0.0')

# Obtener Fecha
fecha = datetime.date.today()
fecha = str(fecha)

# Obtener Hora
hora = time.strftime("%H:%M:%S")

# Capturo imagen
camera = PiCamera()
camera.resolution = (1024, 768)
camera.start_preview()
# Camera warm-up time
sleep(2)
camera.capture(fecha + "-" + hora + ".jpg")


Espero esta entrada sea de ayuda!!!

Saludos, Diego

3 comentarios :
Write comentarios
  1. Esa entrada de cron esta mal, deberia ser por ej:

    0 16 * * * python /home/diego/Captura.py


    Con un * al principio, se ejecutaria todos los minutos de la hora 16 :)

    ResponderEliminar
    Respuestas
    1. Gracias Ricardo, mal yo en el ejemplo!!! Ya lo edito!!!

      Saludos y gracias por participar

      Eliminar

Tu comentario es importante y nos motiva a seguir escribiendo...

Entradas más recientes

Powered by Blogger .