Webcam in Python

Die wohl interessanteste Anwendung ist die Ntzung der Webcam mit dem Raspberry Pi. Das folgende Script nimmt Fotos zeitgesteuert auf und überträgt diese ins Web.

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.