Hallo zusammen,
momentan bastel ich an einer Fotobox.
Das ganze soll folgendermaßen ablaufen:
- Druck auf Buzzer,
- Countdown beginnt mit Vorschau des zu schießenden Motives im Hinterund,
- Foto mit der Raspicam wird geschossen,
- Vorschau des Fotos mit Wasserzeichen,
- Upload bei Tumblr mit Hinweis auf Upload und die URL
- Restart des Skriptes nach Upload
Hier mein bisheriger Code:
# -*- coding: utf-8 -*-
import os
import time
import picamera
import datetime
from time import sleep
import RPi.GPIO as GPIO
from PIL import Image
import pytumblr
from tumblr_keys import *
post_online = 1 # Bilder hochladen mit 1. 0 Wenn nicht hochgeladen wird
# RPi.GPIO Layout verwenden (wie Pin-Nummern)
GPIO.setmode(GPIO.BOARD)
# Pin 18 (GPIO 24) auf Input setzen
GPIO.setup(18, GPIO.IN)
# Pin 11 (GPIO 17) auf Output setzen
GPIO.setup(11, GPIO.OUT)
#Zeiteinstellumg für Bildername
timestr = time.strftime("%Y%m%d-%H%M%S")
with picamera.PiCamera() as camera:
camera.resolution = (1280, 720)
camera.brightness= 50
camera.quality= 100
camera.exposure_mode = 'auto'
camera.start_preview()
# Das Overlay-Bild laden
img = Image.open('Countdown.gif')
# mode 'RGB'
pad = Image.new('RGB', (
((img.size[0] + 31) // 32) * 32,
((img.size[1] + 15) // 16) * 16,
))
# Vorschaubild unter Overlay
pad.paste(img, (0, 0))
# Add the overlay with the padded image as the source,
# but the original image's dimensions
o = camera.add_overlay(pad.tostring(), size=img.size)
# By default, the overlay is in layer 0, beneath the
# preview (which defaults to layer 2). Here we make
# the new overlay semi-transparent, then move it above
# the preview
o.alpha = 128
o.layer = 100
time.sleep(10)
camera.stop_preview()
camera.capture('bild_{}.jpg'.format(timestr))
camera.capture('tmp.jpg')
camera.close()
os.system("gm composite -compose bumpmap -gravity SouthEast wasserzeichen.gif tmp.jpg beispiel.jpg")
os.system("gm display -delay 400 -backdrop -background black -geometry 45% beispiel.jpg")
if post_online:
img = Image.open('Upload.jpg')
# Identifikation per OAuth
client = pytumblr.TumblrRestClient(
consumer_key,
consumer_secret,
token_key,
token_secret
)
#Bilder hochladen
client.create_photo('mrandmrswoehrle', state="published", tags=["Hochzeit", "MrAndMrsWöhrle"], data="tmp.jpg")
os.system("gm display -delay 500 -backdrop -background black -geometry 80% /home/pi/Desktop/drum/Finish.jpg")
GPIO.cleanup()
Display More
Was bis jetzt noch nicht funktioniert:
Start per Buzzer: Hier muss noch eine While-Schleife eingebaut werden. Außerdem bin ich mir mit dem Anschluss des Buzzers noch nicht ganz klar.
- Countdown.gif ist eine animierte Gif. Bis jetzt allerdings nur Standbild.
- das Bild "Upload.jpg" wird während des Uploads auf meinen Tumblr-Account nicht angezeigt.
Kann man mir bei den offenen Punkten unter die Arme greifen?