Paso 9: Escriba el programa de alimentador del pájaro de Twitter
En este paso usted escribiendo el programa Python que es la magia detrás del comedero de pájaros de Twitter.
- Crear un nuevo directorio para nuestro programa de Python
- mkdir /home/pi/tweeting_birdfeeder
- CD/home/pi/tweeting_birdfeeder /
- Crear un nuevo archivo para el programa de Python
- birdie de nano-tweet.py
- Cambiar los permisos del archivo
- chmod 755 birdie-tweet.py
- Conseguir birdie-tweet.py de https://github.com/reimey/tweeting-bird-feeder o copiar el contenido del programa en birdie-tweet.py
#! / usr/bin/env python
#######################################################################
## Birdie Tweet
# Toma una foto de un pájaro cuando está en el comedero y tweets a Twitter.
#
# Este programa requiere python2 y twython
## Autor: Marca Reimer
# Fecha: 03 de agosto de 2014
#######################################################################
de importación twython Twython
del subproceso de importación llamada
tiempo de importación
importación al azar
importación RPi.GPIO como GPIO
# Inicializar GPIO
GPIO.setmode (GPIO. BCM)
GPIO.setup (04 GPIO. EN)
# GPIO4 es pin 7
# Ficha de twitter
APP_KEY = ''
APP_SECRET = ''
ACCESS_TOKEN = ''
ACCESS_TOKEN_SECRET = ''
# Tiempo en segundos para dormir antes de buscar otra Ave
SLEEP_DURATION = 30
# Mensajes cuando tweets de twitter
mensajes =]
messages.Append ("el pájaro temprano consigue las semillas frescas. #birds #birdwatching")
messages.Append ("este pájaro sólo tomó un selfie. #birds #birdwatching")
messages.Append ("gracias por visitar el alimentador del pájaro Twitter. #birds #birdwatching")
messages.Append ("otra feliz Ave servido. #bird #birds #birdwatching")
¿messages.Append ("que alborotó sus plumas? #bird #birds #birdwatching")
messages.Append ("Muéstreme su birdie. #birds #birdwatching #bird")
messages.Append ("un #bird en el alimentador vale dos tweets. #bird #birds #birdwatching")
messages.Append ("libre como un pájaro. #birdwatching #birds #bird")
messages.Append ("la inteligencia sin ambición es un pájaro sin alas. -Salvador Dali #birdwatching ")
messages.Append ("un pájaro sentado en un árbol nunca es miedo de la rama que se rompe, porque su confianza es no en la rama sino en sus propias alas. -desconocida ")
messages.Append ("Creo que consideramos demasiado la suerte de los madrugadores y no basta la mala suerte del gusano temprano. -FDR #birdwatching ")
messages.Append (Hold rápido a los sueños, por si los sueños mueren, la vida es un pájaro de alas rotas que no puede volar. -Langston Hughes #birds #birdwatching ")
messages.Append ("la fe es el pájaro que siente la luz cuando el amanecer sigue siendo oscuro. -Rabindranath Tagore #birdwatching #birds ")
messages.Append ("un pez puede amar a un pájaro, pero ¿donde viven? -Drew Barrymore #birds #birdwatching ")
messages.Append ("Si usted no puede coger un ave del Paraíso, mejor tomar una gallina mojada. -Nikita Khrushchev #bird #birdwatching ")
messages.Append ("algunos artículos de prensa se ajuste sólo a línea de fondo de jaulas para pájaros. #birdwatching #birds #bird")
messages.Append ("algunos pájaros no se significan para ser enjaulado. Sus plumas son demasiado brillantes. -Stephen King #birdwatching #birds ")
messages.Append (eres tan vanidoso, que probablemente crees que esta selfie es acerca de usted. #birdwatching #birds")
messages.Append ("para ver aves es necesario para ser parte del silencio. -Robert Lynd #birdwatching #birds ")
messages.Append ("imagina una necesaria alegría en las cosas que debe volar para comer. -Wendell Berry #birds #birdwatching #bird ")
# esperar sensor de proximidad
Aunque la verdad:
Si (GPIO.input(04)):
tratar de:
# Tomar una foto. Montar la cámara invertida con el cable de cinta subiendo. Así que utilizar la opción para voltear verticalmente la imagen.
llamada ("/ opt/vc/bin/raspistill - e--vflip de jpg -w 320 - h 320 - q 100 -o /tmp/snapshot.jpg", concha = True)
# Iniciar sesión en Twitter twitter = Twython (APP_KEY, APP_SECRET, ACCESS_TOKEN, ACCESS_TOKEN_SECRET)
# Publicar una actualización de estado con un cuadro
Foto = open ('/ tmp/snapshot.jpg', 'rb')
r = random.randint (0, len(messages)-1)
mensaje = mensajes [r]
Twitter.update_status_with_media (estado = mensaje, los medios de comunicación = foto)
excepto:
Imprimir ("error inesperado:")
# Dormir para que varias imágenes no están tomadas del mismo pájaro
Time.Sleep(SLEEP_DURATION)
otra cosa:
Time.Sleep(0.25)
5. Guarde el archivo y salga de nano