>D 40 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 limit1=0 t:timer=10 mailout=0 p:tt=10 p:ab=60 t:timerAB=60 bs=0 p:aa=1 a2=0 ab1=0 p:rl=0 init=1 led=1 >B ; initialisiere cam mit QVGA ->wcstream 1 ->webserver 2 ->Webbutton1 Flashtest res=wc(0 8) ; hole Bildgröße horizontal und vertikal in Pixeln w=wc(3) h=wc(4) aa=1 ; Skript autostart init=1 ; Initialstart ;Bild kippen 0,1 ->WCFlip 1 ;Bild spiegeln 0,1 ->WCMirror 0 ;Kontrast 2 bis -2 ->WcContrast 2 ;Helligkeit 2 bis -2 ->WcBrightness -2 ;Sättigung 2 bis -2 ->WcSaturation 2 ;Bildgrösse 0 -13 einstellbar ;->WcResolution 4 ;->WcResolution 8 ;geht bei 6FPS ;->WcResolution 9 ;geht bei 1FPS (mit a2 - Motionabschaltung) ;->WcResolution 10 ;geht bei 1FPS (mit a2 - Motionabschaltung + kein Stream) ->WcResolution 4 ; Ausschalten der Originalanzeige ;->wcstream 0 : Einschaltung Original nach Neustart ->wcstream 1 ->LedPower1 0 ->power1 0 ; erzeuge Bildordner falls nicht vorhanden res=fo("/PICS" r) if res<0 then fmd("/PICS") endif >S ;============ Steuerungen ================== ; wenn [aa] verändert dann true (1) if chg[aa]>0 or init>0 then ;script hohe Last CPU if aa>0 then init=0 print "start detector 1000 ms" mot=wc(6 1000) else print "script geringe Last CPU" mot=wc(6 0) timerAB=0 timer=0 mot=0 bri=0 endif endif if aa>0 then ; hole Bewegungsdelta mot=wc(6 -1) ;hole Helligkeit bri=wc(6 -2) endif ;Bildänderungen als Auslöser if mot>limit1 and timer==0 and aa>0 then // Alarm, hole Bild, sende email ; flash LED an if led>0 then ->Power1 1 endif if rl>0 then ->LedPower1 1 endif 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 ->LedPower1 0 timer=tt endif ; mache Einzelbild nach Einstellung if timerAB<1 and aa>0 then ; flash LED an if led>0 then ->Power1 1 endif if rl>0 then ->LedPower1 1 endif 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 ->LedPower1 0 timerAB=ab1 endif >F ; lösche alle Bilder einzeln da.. ; frm() inaktiv im Release 12.0.2 if df>0 then aa=0 =#delfolder("PICS") df=0 endif ;Änderungen Bewegungsdifferenz bearbeiten ; svars ;quadratischer Slider if chg[limit]>0 then limit1=limit*limit+50 svar endif ;Änderungen Zyklusbilder bearbeiten if chg[ab]>0 then ab1=ab*ab+10 timerAB=ab1 svar endif >W ; zeige einige Werte im WEBUI Bewegungs-Differenz aktuell{m}%0mot% Differenzauslösung ab {m}%0timer% Sek Zyklusbild erfolgt in {m}%0timerAB% Sek

Bewegungs-Differenz Limit{m}%0limit1% Wartezeit nach Auslösung {m}%0tt% Sek Zyklusbild Intervall {m}%0ab1% Sek

Helligkeit{m}%0bri% Bildhöhe in {m}%0h% Bildweite in {m}%0w% CPU-Frequenz MHz {m}%0freq% download Bild-Daten bu(df "ok" "Bildordner leeren") bu(aa "Bildanalyse stoppen" "Bildanalyse starten") sl(0 100 limit "von 50" "Auslösedifferenz" "bis 10000") sl(10 60 tt "von 10 " "Sekunden Wartezeit" "bis 60") sl(0 60 ab "von 10 " "Sekunden Zyklusbild" "bis 3600") ck(rl "Rotlicht mit dem Foto") ck(led "Flash mit dem Foto") ;=================================== UP ======================= ; lösche den Ordner Inhalt und Automatikstopp #delfolder(tstr) mpa=0 pr=fo("/"+tstr r) for cnt 1 300 1 tmp=fr(fnam pr) if tmp>0 then fd("/"+tstr+"/"+fnam) else break endif next fc(pr)