RaspBooth – erste Klasse fertig

Ich habe jetzt die Klasse für die Steuerung der Kamera soweit fertig. Für die Ansteuerung der Kamera benutze ich gphoto2, das ich über die Shell anspreche. Da sich meine Kamera totgestellt hatte, nachdem ich ein Foto gemacht habe, setze ich resetusb ein.

Die HTML-Seite für die Anzeige habe ich soweit auch, die poste ich später. Am Ende habe ich noch ein kleines Script zum testen angehängt.

Da ich einen sinnvollen Klassennamen gesucht habe, heisst das Projekt jetzt RaspBooth.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
from datetime import datetime
import os
 
class RaspBooth(object):
 
    def __init__(self):
        self.__status = 'init'
        self.__file_last_picture = "../last-pic.dat"
        self.__status = 'listening'
        pass
 
    # takes a picture using the camera connected
    def takePicture(self):
        global os
 
        self.__status = 'capturing'
        print 'Bild wird erstellt'
 
        self.updateLastPicture('capturing.png')
        self.createNewFilename()
 
        # take a picture
        os.system("gphoto2 --capture-image-and-download --filename=../images/" + self.newfile)
        self.updateLastPicture(self.newfile)
        # reset usb ports
        os.system("./resetusb")
 
        print 'Bild wurde gespeichert'
        self.__status = 'listening'
        pass
 
    def getStatus(self):
        return self.__status
 
    # creates a new filename
    def createNewFilename(self):
        now = datetime.today()
        self.folder = now.strftime("%Y%m%d/")
        self.filename = now.strftime("%Y%m%d-%H%M%S")
        self.newfile = self.folder + self.filename + ".jpg"
 
    def updateLastPicture(self, last_picture):
        global os
 
        os.system("echo " + last_picture + " > " + self.__file_last_picture)
 
    def __getTime(self, t):
        now = datetime.today()
 
        if t == 'log':
            return now.strftime("%Y%m%d-%H%M%S")
1
2
3
4
5
6
7
8
#!/usr/bin/python
 
#import classCapturePicture
from classRaspBooth import *
import os
 
rbooth = RaspBooth()
rbooth.takePicture()