De RPi webcam geïntegreerd in moderne webapplicaties.

Al geruime tijd heb ik een webcam (weather cam) on line staan. Uit een experiment geboren werd het alras serieus. Want wat bleek. Toen ik de webcam weer offline haalde, kreeg ik een mail vanuit Milaan om toch vooral door te gaan. Er was een enthousiasteling die van elke dag een filmpje maakte. De webcam maakt elke minuut een snapshot (in diverse formaten) en van die 60*24=1440 foto’s kun je inderdaad eenvoudig een 1:35 minuten durend filmpje maken. Een voorbeeld vindt je hier:



Tot op heden had in de RPi webcam aangesloten op een webserver welke bij mij thuis stond. Deze server was er voor het online zetten van de RX320 op onlinereceivers.net en kon makkelijk een paar maanden aan foto’s bewaren voor mijn Italiaanse webcam vriend. Weliswaar moest hij via FTP de directoires benaderen en daardoor was hij ook de enige die dat kon vanwege het user gebonden password. Mede doordat ik de webserver (en dus ook de rx320 activiteiten) wilde uitschakelen (beëindigen) heb ik gezocht naar een andere en tevens moderne oplossing om de webcam op internet te houden.

Allereerst een beeld van de huidige webcam opstelling:

20140426_090436 20140426_093145

 


Een zwarte behuizing zodat de RPi ledjes niet kunnen storen gedurende de donkere periodes. De webcam zelf is nu ook in de behuizing ingebouwd. Dus geen losse kabels meer. Lekker compact en met de WiFi dongle geheel portabel.

Ik had mijn WeatherCam al enige tijd gelden aangemeld op de site webcams.travel en in de tussentijd is die site blijkbaar een samenwerking aangegaan met lookr.com en kun je mijn webcam zonder speciale programmatuur de laatste 24 uur terugkijken. Ik hoef dus eigenlijk niet zo veel meer te doen. Het enige is dat ik voor webcams.travel een zogeheten landingspage heb waar mijn webcambeeld te downloaden is. Daarnaast een opslag voor ‘eigen’ gebruik op mijn weblog in diverse formaten. De oplossing is even simpel als doeltreffend. Het vertrouwde FTP protocol ‘praat’ de plaatjes naar mijn pa3ang.nl server in Rotterdam (of was het toch Amsterdam) en ik hoef zelf geen server meer thuis te hebben snorren.

Maar hoe sla ik veel plaatjes met voldoende resolutie op voor mijn Italiaanse vriend? Dropbox?  Ja inderdaad! Het leuke van de RPi is de enorme hoeveelheid gebruikers en programmeurs. Even gooooglen en je hebt de oplossing: Dropbox Uploader.

Dropbox Uploader is a BASH script which can be used to upload, download, delete, list files (and more!) fromDropbox, an online file sharing, synchronization and backup service. It’s written in BASH scripting language and only needs cURL. http://www.andreafabrizi.it/?dropbox_uploader

Zonder aanvullende RPi programmas kun je gewoon onder BASH plaatjes uploaden naar Dropbox. Je moet het script van de GitHub van Andrea downloaden en runnen. Als je het script voor de eerste keer start zal er een heldere voortgang worden doorlopen waarmee je de RPi via een APP security kanaal aansluit op je eigen Dropbox acccount / omgeving. De rest spreekt voor zich. De Dropbox folder kun je vervolgens openbaar delen.

Dit is nu het script wat ik draai op de RPi webcam:

#!/bin/bash
#
SAVEDIR=stills

while [ true ]; do
datetime=$(date +”%d-%m-%Y %H:%M:%S”)
DIRECTORY=$(date +”%Y%m%d”)
time=$(date +”%H%M”)
location=”52.53519, 6.053596″
echo $datetime”  &nbspMap:”$location > stills/still.txt

filenamebig=still-big.jpg
filenamesmall=still-small.jpg
filenamerpi=still.jpg
filenametft=320×240.jpg

raspistill -o $SAVEDIR/$filenamebig -w 1024 -h 640 -q 50
raspistill -o $SAVEDIR/$filenamesmall -w 240 -h 144 -q 10
raspistill -o $SAVEDIR/$filenamerpi -w 640 -h 384 -q 20
raspistill -o $SAVEDIR/$filenametft -w 320 -h 240 -q 20

host=’pa3ang.nl’
user=’xxxxxxx’
pass=’xxxxxxx’

ftp -n $host << END_SCRIPT
quote USER $user
quote PASS $pass
binary
prompt no

lcd $SAVEDIR
cd “/public_html/webcam/stills”

put still.txt
mput *.jpg

quit
END_SCRIPT

./dropbox_uploader.sh mkdir elapse/$DIRECTORY

./dropbox_uploader.sh upload $SAVEDIR/$filenamebig elapse/$DIRECTORY/$time”still-big.jpg”

while [ $(date “+%H%M”) = $time ]; do
sleep 1
done
done

Op Dropbox ziet het dan zo uit:

elapse

Hiermee maak ik gebruik van de nieuwste cloud oplossingen en hoef me geen zorgen te maken over opslagcapaciteit en en het in de lucht houden van webservers.

Directe link naar de webcam.