Das folgende Python-Script schießt mit der Raspi-Kamera alle 30 Sekunden ein Foto und läd das Foto auf einen Webserver hoch. Das Foto wird mit dem Befehl raspistill erledigt.
001 # Dieses Script macht ein Foto mit der Raspi-Camera und speichert das Foto
002 # unter /home/pi/camera/picture.jpg. Danach wird das Bild auf meine Domain
003 # hochgeladen. Das Script wird alle 30s erneut gestartet.
004
005 from ftplib import FTP
006 import os
007 import time
008
009 while True:
010 os.system("raspistill -sa -100 -w 640 -h 480 -n -a 4 -a 8 -o /home/pi/camera/picture.jpg")
011 time.sleep(3)
012
013 filename = 'picture.jpg'
014
015 ftp = FTP('hostname.de')
016 ftp.login(user = 'username', passwd = 'kennwort')
017
018 ftp.storbinary('STOR /server_verzeichnis/'+filename, open(filename, 'rb'))
019 ftp.retrlines('LIST /server_verzeichnis/')
020
021 ftp.quit()
022 time.sleep(30)
Python-Script zum zyklischen Upload eines Fotos
Ab Zeile 15 bis 21 wird das Foto picture.jpg via FTP auf den Server in ein eigenes Verzeichnis hochgeladen. Alle 30 Sekunden wird die Picture-Datei mit einem neuen Foto überschrieben und erneut hochgeladen.
Die beiden Parameter -a 4 und -a 8 drucken die Zeit und das Datum auf das Bild auf. Mit -w und -h wird die Bildgröße auf 640x480px begrenzt, damit das Bild zügig geladen werden kann.