
Zur Realisierung werden einige Dinge benötigt. Ich habe dafür folgendes genommen:
- Raspberry Pi
- RaspiCam
- GPS-Empfänger (hier Holux M-214)
- USB-Switch
- Spannungsversorgung
- USB-Stick
- eine Website
auf dem Raspberry Pi wird die Standardinstallation durchgeführt. Die Datenübertragung vom Raspi zur Website läuft mit SSH.
Während der Fahrt werden die Daten des GPS-Empfängers mit dem Programm gpxlogger regelmäßig aufgezeichnet. Damit der gpxlogger funktioniert, muß der GPS-Dämon gestartet werden. Das funktioniert normalerweise Out-of-the-Box. Der M-241 benötigt noch einen Startparameter:
stty 38400 < /dev/ttyUSB0
eventuell muß der Dämon neu gestartet werden. Mit folgendem Befehl:
gpsd -n -N -D 2 /dev/ttyUSB0
Damit die Koordinaten im Bild erscheinen (unten rechts) hilft ein kleines python-Script mit dem modul gps. Außerdem werden die Koordinaten auch als EXIF-Daten im Foto hinterlegt.
Mit folgendem Befehl wird das Foto erstellt und die EXIF-Daten hinterlegt:
raspistill -o /var/tmp/bild.jpg -w 1280 -h 720 -hf -vf -q 7 -n -ex auto -x GPS.GPSLongitude=$dlg/1,$mlg/1,$islg/100 -x GPS.GPSLatitude=$dbg/1,$mbg/1,$isbg/100
Die Daten werden in der RAM-Disk des Raspi gespeichert. Danach werden die Texte ins Foto importiert. Dazu benötigt man das Programm ImageMagick:
convert /var/tmp/bild.jpg -fill 'rgba(128,128,128,0.5)' -draw 'rectangle
480,615 1280,720' -gravity SouthEast -font DejaVu-Sans-Mono-Bold
-pointsize 32 -fill $black -draw "text 10,0 \"$t2\"" -bordercolor $black
-fill $white -draw "text 13,3 \"$t2\"" -fill $black -draw "text 10,32
\"$t1\"" -fill $white -draw "text 13,35 \"$t1\"" -fill $black -draw
"text 10,64 \"$t0\"" -fill $white -draw "text 13,67 \"$t0\""
/var/tmp/ausgabe.jpg
Zur Datenübertragung wurde ein Medion-USB-Stick eingesetzt.
Die Raspicam wurde mit doppelseitigem Klebeband ans Gehäuse geklebt.
Es gab allerdings ein grundsätzliches Problem. Die Stromversorgung in einem Auto ist zur Versorgung des Raspi ungeeignet.
Zu Anfang habe ich von www.pimodules.com ein UPiS Advanced eingesetzt. Auch nach dem Update auf die Firmware 1.06 Beta funktionierte das System nicht sicher. Wahrscheinlich lag es dabei an zu hohem Stromverbrauch des USB-Sticks.
Ab 60° schaltet die UPiS automatisch ab. Leider wird es wahrscheinlich auf dem Armaturenbrett auch wärmer.
Dann wurde ein Akkupack für Mobiltelefone eingesetzt. Eigentlich sollte es möglich sein, während der Nutzung das Akkupack zu laden. Das mag sein, nur leider wird die Stromversorgung beim starten des Autos komplett auf Null gezogen. Und das mag der Raspi gar nicht.
Doch die Lösung ist nah: dazu benötigt man ein 12V Netzteil für einen Laptop. Wichtig beim Laptop: Während er abgeschaltet ist, muß am USB-Anschluß die Stromversorgung bestehen bleiben.
Nach der Aufzeichnung ist noch etwas Arbeit notwendig, um aus den Einzelbildern einen Zeitrafferfilm zu bekommen.
Zuerst einmal kommen alle Bilder, die für den Film benötigt werden in einen Ordner. Dort wird neu sortiert, weil der Konverter seltsamerweise Probleme mit den Namen und Nummerierungen hat.
#!/bin/bash
a=1
for i in *.JPG; do
new=$(printf "IMG%04d.jpg" ${a}) #04 pad to length of 4
mv ${i} ${new}
let a=a+1
done
Danach wird mit folgendem Befehl ein mp4-Film daraus:
avconv -r 7 -i IMG%04.jpg -r 25 -g 15 -qscale 5 film.mp4
Noch ist der Film zu groß. Mit
avconv -i film1.mp4 -c:v libvpx -qmin 10 -qmax 42 -maxrate 500k -bufsize 1000 -threads 2 film1.webm
Ist die Grösse annehmbar. Und die Datei sollte auch mit HTML5 funktionieren.
Keine Kommentare:
Kommentar veröffentlichen