MyPICamera por Antonio Sánchez

Document created by Antonio Sanchez on Jun 15, 2014
Version 1Show Document
  • View in full screen mode

a) Nombre de la Aplicación

MyPICamera.


b)   ¿Qué hace tu dispositivo?

MyPICamera utiliza la API Stream de Twitter con el objetivo de estar a la escucha de su nombre. Cuándo alguien le saluda, o le pide la foto, éste responde con lo que ve actualmente y le dice cómo se siente, dándole los datos de temperatura y humedad.


c)    ¿Qué componentes utilizas en tu proyecto y qué programa utilizas para programarlo?

Utilizo los siguientes componentes hardware:


  • Raspberry PI:

La Raspberry Pi es el componente principal de mi proyecto, en él se ejecuta toda la logica del programa y se sincroniza con Twitter para poder leer y escribir los tuits.

 

La cámara Raspberry Pi permite tomar imágenes, e incluso vídeo, con un gran abanico de configuraciones disponibles.


Este es un sensor inalámbrico que utiliza la tecnología Z-Wave, entre otras cosas Z-Wave permite añadir hasta 256 nodos distintos (actuadores y sensores), es una red de medio alcance y tiene un bajo consumo. El sensor 4in1 puede dar información acerca de la temperatura, humedad, luminosidad e incluso detecta movimiento.


La GPIO Daughter board es un elemento clave en la comunicación Z-Wave, es el receptor de todos los nodos z-wave y está conectado directamente con la Raspberry Pi.

 

  • Dongle Wifi

Necesario para poder conectar la Raspberry Pi a la red wifi.


En cuanto al software, utilizo lo siguiente:


Esta plataforma se ejecuta directamente sobre la Raspberry Pi y es la encargada de controlar y orquestar todos los elementos Z-Wave del sistema. Proporciona una serie de APIs para desarrolladores sobre la cual puedo acceder a los datos de los sensores.


Una de las librerías más usadas en Python para Twitter, y recomendada por Twitter. Esta librería permite integrar mi proyecto en la red social.


Esta librería permite controlar la Raspberry Pi Camera desde Python.


Link al repositorio de MyPICamera. Tiene licencia libre (GPLv3), y tiene 4 archivos principales.

El primero, se llama mypicamera.py, y es dónde se ejecuta el hilo principal. Este fichero se encarga de leer twitter a la espera de que alguien le mencione, y cuando eso ocurre captura una fotografía y solicita los datos actuales de temperatura y humedad.


El segundo fichero, camera.py es dónde se ejecuta el programa para tomar las fotografías, colocándolas en un directorio específico (y relativo al proyecto). También configura la cámara con los valores deseados.


El fichero environment.py se encarga de la comunicación de Z-Wave mediante su API. Pide los datos de temperatura y humedad y devuelve esos datos en forma de diccionario.


Finalmente, el archivo settings.py es dónde se almacenan las claves de la API de Twitter, y que por seguridad están en un fichero externo y privado (no está en el repositorio). Estas claves deben ser únicas y son asignadas automáticamente por Twitter.


d)   Un video descriptivo de hasta 2 min mostrando el funcionamiento y el post realizado en Twitter y/o Facebook.


e)    Datos de Contacto

E-mail: tech@sanchezantonio.com   tsptoni@gmail.com

Twitter: @tsptoni

Perfil freescale: Antonio Sanchez

Attachments

    Outcomes