>D 40 IP=192.168.178.184 SB=8192 res=0 cnt=0 tmp=0 pr=0 w=0 h=0 mot=0 bri=0 tstr="" fnam="" df=0 p:limit=0 t:timer=30 mailout=0 >B ; initialisiere cam mit QVGA res=wc(0 4) ; hole Bildgröße horizontal und vertikal in Pixeln w=wc(3) h=wc(4) ; start motion detector, picture every 1000 ms mot=wc(6 1000) ; erzeuge Bildordner falls nicht vorhanden res=fo("/PICS" r) if res<0 then fmd("/PICS") endif if limit==0 then limit=1000 endif >S if wific>0 then ; starte stream wenn wifi verbunden res=wc(5 1) endif ; hole Bewegungswert mot=wc(6 -1) ; hole Helligkeit bri=wc(6 -2) if mot>limit and timer==0 then // Alarm, hole Bild, sende email res=wc(1 1) =>sendmail [smtp.gmail.com:465:user:pass:from@mail.de:to@mail.de:Alarm]* mailout=1 timer=60 endif ; mache Einzel Bild alle 30 Minuten if upsecs%1800==0 then ; flash LED an ->power1 1 delay(200) ; Bild speichern in RAM Buffer 1 res=wc(1 1) ; Datei öffnen, Name ist gleich Zeitstempel ; Dateiname darf aber keinen Doppelpunkt enhalten ; deshalb diese umständliche Zusammensetzung dp2.0 res=fo("/PICS/"+st(tstamp : 1)+"_"+s(mins)+"_"+s(secs)+".jpg" w) if res>=0 then // RAM Buffer speichern pr=fwp(1 res) fc(res) endif ; flash LED aus ->power1 0 endif if chg[limit]>0 then svars endif >F ; lösche alle Bilder if df>0 then df=0 =#delfolder("PICS") endif ; lösche den Ordner Inhalt #delfolder(tstr) pr=fo("/"+tstr r) for cnt 1 1000 1 tmp=fr(fnam pr) if tmp>0 then fd("/"+tstr+"/"+fnam) else break endif next fc(pr) >m Bewegungs Alarm Kamera 1
$1 # >W ; zeige einige Werte im WEBUI Bewegungs Differenz{m}%mot% Helligkeit{m}%bri% Filesystem frei{m}%3(fsi(1)/1000)% MB heap{m}%3(heap/1000)% kB bu(df "ok" "Bildordner leeren") nm(50 10000 50 limit "Limit: ") ; zeige stream auf WEBUI $
$ $
webcam stream