Fotografía automática

Desconectado MeteoGetafe

  • Cumulus Húmilis
  • **
  • 361
  • Sexo: Masculino
  • El cielo de Getafe ahora mismito
    • MeteoGetafe
Re: Fotografía automática
« Respuesta #36 en: Viernes 29 Julio 2011 11:46:24 am »
Hola, como parece que mas colegas se han animado con el invento y con el paso del tiempo he ido haciendo modificaciones en los scripts y demás, voy a mostrar lo que tengo ahora por si a alguien le ayuda.

El script ahora calcula la hora del amanecer y atardecer para lanzar un programa u otro.
También pone el banner para indicar la temperatura, fecha, hora, etc.
Si alguien que controla de batch se pone a analizarlo le va a dar algo, es una jodida chapuza, pero no tengo mucho tiempo, y si funciona...

A parte del script y del psremote es necesario instalar algunos programas auxiliares como:
Suntimes.exe (calcula el amanecer y el atardecer)
Imagemagick (son una serie de herramientas que permiten trabajar con fotografías por línea de comandos. Yo utilizo el mogrify.exe para incluir el banner con los datos)
FTPS.exe El Ftp del windows xp me daba problemas y ahora uso este.

Para disponer de los datos meteorológicos, he puesto en el Weatherlink una plantilla con este contenido:

Código: [Seleccionar]
text 10,10 'MeteoGetafe.com <!--outsideTemp-->ºC <!--outsideHumidity-->% <!--windDirection--> <!--wind10Avg--> Km/h <!--dailyRain--> mm'
Como los programas no los puedo lanzar exactamente en el momento del atardecer y amanecer, utilizo un batch "calctime.cmd" que me permite sumar y restar minutos a estas fechas. Este es el script (no es mío):

Código: [Seleccionar]
@ echo off
   if "%1"==""       goto :syntax
   if "%1"=="?"      goto :syntax
   if "%1"=="/?"     goto :syntax
   if "%1"=="help"   goto :syntax
   if "%1"=="HELP"   goto :syntax
   if not "%OS%"=="Windows_NT" goto :notNT
   goto :begin
   :notNT
   echo.
   echo     This CMD file is for Windows NT or Windows 2000 ONLY.
   :syntax
   echo.
   echo     %0 - calculate time difference from NOW or a specified time
   echo          by adding or subtracting a specified time value
   echo.
   echo     parameter patterns are of the following types:
   echo.
   echo.
   echo     (1)  %~n0 NOW [+^|-]hh:mm
   echo.
   echo               - returns the future (+) or past (-) time value from
   echo                 the CURRENT time
   echo.
   echo     (2)  %~n0 hh:mm [+^|-]hh:mm
   echo.
   echo               - returns the future (+) or past (-) time value from
   echo                 the SPECIFIED time
   echo.
   echo.
   goto :EOF

   :begin
   setlocal
   set scriptname=%~n0
   set inparm1=%1
   set inparm2=%2
   if "%inparm1%" EQU "now" set inparm1=NOW

   if "%inparm1%" NEQ "NOW" goto :timespec

   call :GETTIME
   set zhh=%gettime:~0,2%
   set zmm=%gettime:~2,2%
   goto :newtime

   :timespec
   set zhh=%inparm1:~0,2%
   set zmm=%inparm1:~2,2%

   :newtime
   if %zhh:~0,1%==0 set zhh=%zhh:~1%
   if %zmm:~0,1%==0 set zmm=%zmm:~1%

   set sign=%inparm2:~0,1%
   set reqhh=%inparm2:~1,2%
   set reqmm=%inparm2:~3,2%

   if %reqhh:~0,1%==0 set reqhh=%reqhh:~1%
   if %reqmm:~0,1%==0 set reqmm=%reqmm:~1%

   set /a totmin = zhh * 60
   set /a totmin = totmin + zmm
   set /a newreqmm = reqhh * 60
   set /a newreqmm = newreqmm + reqmm
   set /a newtotalmm = totmin %sign% newreqmm

   if 0 GTR %newtotalmm% set /a newtotalmm=newtotalmm+1440

   set newtotalhh=0

   :minushrs

   if %newtotalmm% LSS 60 goto :done
   set /a newtotalmm = newtotalmm - 60
   set /a newtotalhh = newtotalhh + 1
   goto :minushrs

   :done

   if %newtotalhh% GEQ 24 set /a newtotalhh = newtotalhh - 24
   if 10 GTR %newtotalhh% set newtotalhh=0%newtotalhh%
   if 10 GTR %newtotalmm% set newtotalmm=0%newtotalmm%
   if "%3" EQU "." echo %newtotalhh%:%newtotalmm%
   endlocal & set %scriptname%=%newtotalhh%%newtotalmm%
   goto :EOF

   :GETTIME
   for /f "tokens=1-7 delims=:. " %%a in (
    'echo.^| time ^| findstr "current"') do (
       set zhh=%%e
       set zmm=%%f
       set zss=%%g
   )
   if 10 GTR %zhh% set zhh=0%zhh%
   set gettime=%zhh%:%zmm%:%zss%
   goto :EOF

   :EOF

El script FTP para subir los datos (meteogetafe_foto.scr):

Código: [Seleccionar]
open meteogetafe.com
usuario_ftp
contraseña_ftp
binary
cd httpdocs
passive
put 0001b.jpg
del ftpcam_1b.jpg
ren 0001b.jpg ftpcam_1b.jpg
quit



Finalmente el script de lanzamiento:

Código: [Seleccionar]

REM Pongo los datos de latitud y longitud para que el suntimes.exe tenga la info que necesita
set LATITUDE=40.3170013
set LONGITUDE=-3.7330000

REM Calculo fecha y hora
Set CURRDATE=%TEMP%\CURRDATE.TMP
Set CURRTIME=%TEMP%\CURRTIME.TMP

DATE /T > %CURRDATE%
TIME /T > %CURRTIME%

Set PARSEARG="eol=; tokens=1,2,3,4* delims=/, "
For /F %PARSEARG% %%i in (%CURRDATE%) Do (
SET YYYYMMDD=%%k%%j%%i
set yyyy=%%k
set mm=%%j
set dd=%%i)

Set PARSEARG="eol=; tokens=1,2,3* delims=:, "
For /F %PARSEARG% %%i in (%CURRTIME%) Do (
Set HHMM=%%i%%j%%k
set hh=%%i
set mi=%%j%%k)

for /f "delims=., " %%A in ('time /t') do set Hora=%%A
set Now=%Hora:~0,2%
set Now=%Now%%Hora:~3,2%

REM Calculo las fechas de amanecer y atardecer
for /f %%A in ('SunTimes.exe /Sunrise /NoSymbols') do set Sunrise=%%A
for /f %%A in ('SunTimes.exe /Sunset /NoSymbols') do set Sunset=%%A
set Sunrise=%Sunrise:~0,4%
set Sunset=%Sunset:~0,4%
set DayNight=Night
rem correcciones de horas Cuando hay cambio de hora tengo que adaptarlo :)
call CALCTIME %Sunset% +0120
set tarde=%calctime%
call CALCTIME %Sunrise% +0025

set manana=%calctime%
echo Hora Corte por la mañana %manana%
echo Hora Corte por la tarde %tarde%

REM Miro a ver si es de día o de noche
if %Now% GTR %manana% if %Now% LSS %tarde% set DayNight=Day
echo Ahora son las %Now% es de %DayNight% Sunrise=%Sunrise% corte a las %manana% Sunset=%Sunset% corte a las %tarde%

REM Segun Día y noche, lanzo un programa u otro
if %DayNight%==Night "C:\Archivos de programa\BreezeSys\PSRemote\PSRemoteTest\psremotetest.exe" -e 3 -s 4 -a 0 -I 0 -z 3 -x 7 -Q 5 -l 1
if %DayNight%==Day "C:\Archivos de programa\BreezeSys\PSRemote\PSRemoteTest\psremotetest.exe" -I 0 -e 0 -z 5 -x 6 -Q 5 -l 1

REM Si es de día creo el directorio para guardar las fotos con la fecha
if %DayNight%==Day (
MKDIR  c:\psremote\guardado\%YYYYMMDD%
REM muevo la foto anterior al directorio de guardar.
move c:\psremote\0001b.jpg c:\psremote\guardado\%YYYYMMDD%\%YYYYMMDD%%HHMM%_I.jpg
REM Si no se ha hecho la foto, pongo el cartelito de no disponible. No se porque la foto siempre me la hace como 003.jpg, debería ser 002.jpg
if not exist c:\psremote\0003.jpg copy c:\psremote\no_disponible.jpg c:\psremote\0003.jpg
REM La renombro a 001.jpg que es la que subo por ftp
rename c:\psremote\0003.jpg 0001b.jpg
REM Borro por si hay porquerías
del c:\psremote\0003.jpg /Q
del c:\psremote\0002.jpg /Q
del c:\psremote\0004.jpg /Q
REM Le planto los datos meteorológicos con el htm que me genera la plantilla de weatherlink
mogrify -density 300 -pointsize 7 -fill black -gravity Northwest -draw "@z:\WeatherLink\meteoget\temp.htm" 0001b.jpg
REM Le planto la fecha y hora
mogrify -density 300 -pointsize 7 -fill black -gravity Northwest -draw "text 1200,10 '%dd%/%mm%/%yyyy% %HH%:%mi%'" 0001b.jpg
rem mogrify -frame 20x20 0001b.jpg
Echo RENAME %1 %1_%YYYYMMDD%%HHMM%
)



REM por la noche es lo mismo, pero las letras van en otro color
if %DayNight%==Night (
MKDIR  c:\psremote\guardado\%YYYYMMDD%
move c:\psremote\0001b.jpg c:\psremote\guardado\%YYYYMMDD%\%YYYYMMDD%%HHMM%_I.jpg
if not exist c:\psremote\0003.jpg copy c:\psremote\no_disponible2.jpg c:\psremote\0003.jpg
rename c:\psremote\0003.jpg 0001b.jpg
del c:\psremote\0003.jpg /Q
del c:\psremote\0002.jpg /Q
del c:\psremote\0004.jpg /Q
mogrify -density 300  -pointsize 7 -fill white -gravity Northwest -draw "@z:\WeatherLink\meteoget\temp.htm" 0001b.jpg
mogrify -density 300  -pointsize 7 -fill white -gravity Northwest -draw "text 1200,10 '%dd%/%mm%/%yyyy% %HH%:%mi%'" 0001b.jpg
Echo RENAME %1 %1_%YYYYMMDD%%HHMM%


)

REM Lo subo al FTP con un script FTP y FTPS
c:\psremote\ftps -s:meteogetafe_foto.scr

Eso es todo amigos.
Getafe 646 msnm. Datos On-line desde Getafe, Madrid http://www.meteogetafe.com

Desconectado mentero

  • Sol
  • *
  • 2
Re:Fotografía automática
« Respuesta #37 en: Sábado 10 Diciembre 2011 11:43:44 am »
Buenos días,

a la vista de la gran cantidad de información contenida en éste post, me he animado a hacer algo parecido. He pillado una Canon usada, pero a la hora de comprar psremote me encuentro con dos precios distintos para la version 2.0 y para la más actual 2.2.0.  Unos 49euro contra 81euro(VAT británico incluído).

Como los tiempos no están para dispendios, podeis decirme los que usais el programa, ¿que versión estais utilizando?.

Gracias de antemano.



Desconectado MeteoGetafe

  • Cumulus Húmilis
  • **
  • 361
  • Sexo: Masculino
  • El cielo de Getafe ahora mismito
    • MeteoGetafe
Re:Fotografía automática
« Respuesta #38 en: Sábado 10 Diciembre 2011 12:24:04 pm »
Con la 2.0 funciona perfecto, yo ahora tengo la 2.1 pero he estado hasta hace muy poco con la 1.8.
Getafe 646 msnm. Datos On-line desde Getafe, Madrid http://www.meteogetafe.com

Desconectado mentero

  • Sol
  • *
  • 2
Re:Fotografía automática
« Respuesta #39 en: Miércoles 21 Diciembre 2011 16:15:50 pm »
Efectivamente, la versión 2.0 funciona sin problemas.

En relación con los scripts, sólo he encontrado un problema con el comando que busca la hora de amanecer y atardecer.
Para que funcione con el windows XP que tengo, mi configuración regional y la última versión de suntimes.exe 1.1.1.0 he tenido que cambiar un poco el código, y ha quedado;

Código: [Seleccionar]
@echo off

:: Calcula las fechas de amanecer y atardecer -------------------------------------------------

for /f "tokens=1,2,3,4* delims=: " %%A in ('SunTimes.exe --LATITUDE=42 --LONGITUDE=-4') do (
if "%%A"=="Sunrise" set sunrise=%%B%%C%%D
if "%%A"=="Sunset" set sunset=%%B%%C%%D
)
set sunrise=%sunrise:~0,4%
set sunset=%Sunset:~0,4%
echo Sunrise (utc): %SUNRISE%
echo Sunset (utc):  %SUNSET%

:: Obtiene la diferencia con UTC. Tiene en cuenta también el horario de verano. ---------------

Setlocal
Set _key=HKLM\System\CurrentControlSet\Control\TimeZoneInformation

:: find offset from GMT in minutes

for /f "Tokens=3" %%G in ('Reg query %_key% /V ActiveTimeBias^|FIND "REG_DWORD"') do (
Set /a _offset=-%%G
)

:: Convierte a horas
Set /a _offset_hours=%_offset% / 60

:: cambia el formato del offset a hhmm

set _offset_hours=0%_offset_hours%00

echo Horario local= UTC + %_offset_hours% (hhmm)

::  obtiene amanecer y anochecer en horario local ---------------------------------------------

call CALCTIME %Sunrise% +%_offset_hours%
set sunriselocal=%calctime%
echo Amanecer hora local:          %sunriselocal%


call CALCTIME %Sunset% +%_offset_hours%
set sunsetlocal=%calctime%
echo Puesta de sol en hora local:  %sunsetlocal%

:: añade correciones locales para quemar menos fotos ------------------------------------------

call CALCTIME %Sunriselocal% -0010
set manana=%calctime%

call CALCTIME %Sunsetlocal% +0010
set tarde=%calctime%

echo Hora de cambio por la mañana: %manana%
echo Hora de cambio por la tarde : %tarde%

echo  ------------------------------------------------------------------------------------------

La latitud y la longitud las pongo directamente en el comando, por lo que he quitado las líneas de código que las definían en el script de meteogetafe.

He añadido también unas líneas de código que leen de un registro de windows la diferencia entre hora local y UTC en horario de invierno y de verano, y obtienen los datos de amanecer y atardecer en horario local.

Quién sabe, tal vez le sirva a alguien.
 
Nota: Se ruega caridad por parte de los que sí saben programar scripts. Gracias.
(Editado para añadir la funcionalidad de horario local.)








« Última modificación: Jueves 22 Diciembre 2011 20:09:48 pm por mentero »

Desconectado MeteoGetafe

  • Cumulus Húmilis
  • **
  • 361
  • Sexo: Masculino
  • El cielo de Getafe ahora mismito
    • MeteoGetafe
Re:Fotografía automática
« Respuesta #40 en: Domingo 19 Febrero 2012 22:46:05 pm »
Buena idea lo de leer el horario de verano o invierno, a mi me tienen que avisar (Pepe) dos veces al año para que cambie la programación.  ;)
Getafe 646 msnm. Datos On-line desde Getafe, Madrid http://www.meteogetafe.com

Desconectado mentero

  • Sol
  • *
  • 2
Re:Fotografía automática
« Respuesta #41 en: Miércoles 22 Febrero 2012 13:15:40 pm »
No me atrevo a preguntar quién es Pepe.

En mi caso, careciendo de tal recurso, prefiero que la máquina lo haga sola.

Estoy algo atascado con la parte de hardware, en concreto con la fijación de la cámara al foco.
Éste pequeño problema unido a que vivo a unos cientos de kilómetros de la futura instalación están retrasando el projecto, pero la instalación provisional lleva subiendo fotos unas semanas sin desfallecimiento ni problemas.

He descartado la Canon A400 por que el ángulo de visión es muy pequeño (f=42mm), y voy a usar una A640 que tiene una distancia focal que permite angulos algo mas abierto. (f 35-140mm en 35mm equivalente).

 
 

Desconectado MeteoGetafe

  • Cumulus Húmilis
  • **
  • 361
  • Sexo: Masculino
  • El cielo de Getafe ahora mismito
    • MeteoGetafe
Re:Fotografía automática
« Respuesta #42 en: Miércoles 18 Septiembre 2013 10:46:23 am »
Actualizo con los scripts actuales. Ahora con control de horario de verano. También genero tres versiones del archivo con diferentes formatos:







Como los programas no los puedo lanzar exactamente en el momento del atardecer y amanecer, utilizo un batch "calctime.cmd" que me permite sumar y restar minutos a estas fechas. Este es el script (no es mío):

Código: [Seleccionar]
@ echo off
   if "%1"==""       goto :syntax
   if "%1"=="?"      goto :syntax
   if "%1"=="/?"     goto :syntax
   if "%1"=="help"   goto :syntax
   if "%1"=="HELP"   goto :syntax
   if not "%OS%"=="Windows_NT" goto :notNT
   goto :begin
   :notNT
   echo.
   echo     This CMD file is for Windows NT or Windows 2000 ONLY.
   :syntax
   echo.
   echo     %0 - calculate time difference from NOW or a specified time
   echo          by adding or subtracting a specified time value
   echo.
   echo     parameter patterns are of the following types:
   echo.
   echo.
   echo     (1)  %~n0 NOW [+^|-]hh:mm
   echo.
   echo               - returns the future (+) or past (-) time value from
   echo                 the CURRENT time
   echo.
   echo     (2)  %~n0 hh:mm [+^|-]hh:mm
   echo.
   echo               - returns the future (+) or past (-) time value from
   echo                 the SPECIFIED time
   echo.
   echo.
   goto :EOF

   :begin
   setlocal
   set scriptname=%~n0
   set inparm1=%1
   set inparm2=%2
   if "%inparm1%" EQU "now" set inparm1=NOW

   if "%inparm1%" NEQ "NOW" goto :timespec

   call :GETTIME
   set zhh=%gettime:~0,2%
   set zmm=%gettime:~2,2%
   goto :newtime

   :timespec
   set zhh=%inparm1:~0,2%
   set zmm=%inparm1:~2,2%

   :newtime
   if %zhh:~0,1%==0 set zhh=%zhh:~1%
   if %zmm:~0,1%==0 set zmm=%zmm:~1%

   set sign=%inparm2:~0,1%
   set reqhh=%inparm2:~1,2%
   set reqmm=%inparm2:~3,2%

   if %reqhh:~0,1%==0 set reqhh=%reqhh:~1%
   if %reqmm:~0,1%==0 set reqmm=%reqmm:~1%

   set /a totmin = zhh * 60
   set /a totmin = totmin + zmm
   set /a newreqmm = reqhh * 60
   set /a newreqmm = newreqmm + reqmm
   set /a newtotalmm = totmin %sign% newreqmm

   if 0 GTR %newtotalmm% set /a newtotalmm=newtotalmm+1440

   set newtotalhh=0

   :minushrs

   if %newtotalmm% LSS 60 goto :done
   set /a newtotalmm = newtotalmm - 60
   set /a newtotalhh = newtotalhh + 1
   goto :minushrs

   :done

   if %newtotalhh% GEQ 24 set /a newtotalhh = newtotalhh - 24
   if 10 GTR %newtotalhh% set newtotalhh=0%newtotalhh%
   if 10 GTR %newtotalmm% set newtotalmm=0%newtotalmm%
   if "%3" EQU "." echo %newtotalhh%:%newtotalmm%
   endlocal & set %scriptname%=%newtotalhh%%newtotalmm%
   goto :EOF

   :GETTIME
   for /f "tokens=1-7 delims=:. " %%a in (
    'echo.^| time ^| findstr "current"') do (
       set zhh=%%e
       set zmm=%%f
       set zss=%%g
   )
   if 10 GTR %zhh% set zhh=0%zhh%
   set gettime=%zhh%:%zmm%:%zss%
   goto :EOF

   :EOF

El script FTP para subir los datos (meteogetafe_foto.scr):

Código: [Seleccionar]
open meteogetafe.com
usuario_ftp
contraseña_ftp
binary
cd httpdocs
passive
put 0001b.jpg
del ftpcam_1b.jpg
ren 0001b.jpg ftpcam_1b.jpg
quit



Finalmente el script de lanzamiento:

Código: [Seleccionar]
set LATITUDE=40.3170013
set LONGITUDE=-3.7330000
Set CURRDATE=%TEMP%\CURRDATE.TMP
Set CURRTIME=%TEMP%\CURRTIME.TMP

DATE /T > %CURRDATE%
TIME /T > %CURRTIME%

Set PARSEARG="eol=; tokens=1,2,3,4* delims=/, "
For /F %PARSEARG% %%i in (%CURRDATE%) Do (
SET YYYYMMDD=%%k%%j%%i
set yyyy=%%k
set mm=%%j
set dd=%%i)

Set PARSEARG="eol=; tokens=1,2,3* delims=:, "
For /F %PARSEARG% %%i in (%CURRTIME%) Do (
Set HHMM=%%i%%j%%k
set hh=%%i
set mi=%%j%%k)

for /f "delims=., " %%A in ('time /t') do set Hora=%%A
set Now=%Hora:~0,2%
set Now=%Now%%Hora:~3,2%

for /f %%A in ('SunTimes.exe /Sunrise /NoSymbols') do set Sunrise=%%A
for /f %%A in ('SunTimes.exe /Sunset /NoSymbols') do set Sunset=%%A
set Sunrise=%Sunrise:~0,4%
set Sunset=%Sunset:~0,4%
set DayNight=Night

 for /f "tokens=* skip=1" %%i in ('wmic OS Get CurrentTimeZone') do (Set CurrentTimeZone_=%%i)
if %CurrentTimeZone_%==60 call CALCTIME %Sunset% +0030
if %CurrentTimeZone_%==120 call CALCTIME %Sunset% +0130

set tarde=%calctime%
if %CurrentTimeZone_%==120 call CALCTIME %Sunrise% +0025
if %CurrentTimeZone_%==60 call CALCTIME %Sunrise% -0045
set manana=%calctime%
echo Hora Corte por la mañana %manana%
echo Hora Corte por la tarde %tarde%

if %Now% GTR %manana% if %Now% LSS %tarde% set DayNight=Day
echo Ahora son las %Now% es de %DayNight% Sunrise=%Sunrise% corte a las %manana% Sunset=%Sunset% corte a las %tarde%

del c:\psremote\001b.jpg /Q
del c:\psremote\001c.jpg /Q
del c:\psremote\001a.jpg /Q
del c:\psremote\0003.jpg /Q
del c:\psremote\0002.jpg /Q
del c:\psremote\0001.JPG /Q
del c:\psremote\0004.jpg /Q

if %DayNight%==Night "c:\program files\BreezeSys\PSRemote\PSRemoteTest\psremotetest.exe" -e 2 -s 6 -I 0 -z 3 -Q 2
if %DayNight%==Day "c:\program files\BreezeSys\PSRemote\PSRemoteTest\psremotetest.exe" -I 0 -e 1 -z 3 -Q 2

if %DayNight%==Day (
convert 0001.JPG -crop 1600x1200+637+0 001a.jpg
convert 0001.JPG -crop 1920x1200+310+0 001b.jpg
convert 0001.JPG -crop 2200x825+33+310 001c.jpg
mogrify -density 300 -pointsize 6 -fill black -gravity Northwest -draw "@z:\meteoget\temp.htm" 001a.jpg
mogrify -density 300 -pointsize 6 -fill black -gravity Northwest -draw "text 1200,10 '%dd%/%mm%/%yyyy% %HH%:%mi%'" 001a.jpg
mogrify -density 300 -pointsize 6 -fill black -gravity Northwest -draw "@z:\meteoget\temp.htm" 001b.jpg
mogrify -density 300 -pointsize 6 -fill black -gravity Northwest -draw "text 1500,10 '%dd%/%mm%/%yyyy% %HH%:%mi%'" 001b.jpg
mogrify -density 300 -pointsize 6 -fill black -gravity Northwest -draw "@z:\meteoget\temp.htm" 001c.jpg
mogrify -density 300 -pointsize 6 -fill black -gravity Northwest -draw "text 1850,10 '%dd%/%mm%/%yyyy% %HH%:%mi%'" 001c.jpg
)

echo %Now:~3,1%
rem if %DayNight%==Night if not %Now:~3,1%==5 (
if %DayNight%==Night (
convert 0001.JPG -crop 1600x1200+637+21 001a.jpg
convert 0001.JPG -crop 1920x1200+310+0 001b.jpg
convert 0001.JPG -crop 2200x825+33+350 001c.jpg
mogrify -density 300 -pointsize 7 -fill white -gravity Northwest -draw "@z:\meteoget\temp.htm" 001a.jpg
mogrify -density 300 -pointsize 7 -fill white -gravity Northwest -draw "text 1200,10 '%dd%/%mm%/%yyyy% %HH%:%mi%'" 001a.jpg
mogrify -density 300 -pointsize 7 -fill white -gravity Northwest -draw "@z:\meteoget\temp.htm" 001b.jpg
mogrify -density 300 -pointsize 7 -fill white -gravity Northwest -draw "text 1500,10 '%dd%/%mm%/%yyyy% %HH%:%mi%'" 001b.jpg
mogrify -density 300 -pointsize 7 -fill white -gravity Northwest -draw "@z:\meteoget\temp.htm" 001c.jpg
mogrify -density 300 -pointsize 7 -fill white -gravity Northwest -draw "text 1850,10 '%dd%/%mm%/%yyyy% %HH%:%mi%'" 001c.jpg
)

MKDIR  c:\psremote\guardado\%YYYYMMDD%
copy c:\psremote\001b.jpg c:\psremote\guardado\%YYYYMMDD%\%YYYYMMDD%%HHMM%_I.jpg
c:\psremote\ftps -s:meteogetafe_foto.scr
rem c:\psremote\ftps -s:sector_foto.txt


Eso es todo amigos.
« Última modificación: Miércoles 18 Septiembre 2013 10:50:12 am por MeteoGetafe »
Getafe 646 msnm. Datos On-line desde Getafe, Madrid http://www.meteogetafe.com

Re:Fotografía automática
« Respuesta #43 en: Miércoles 02 Abril 2014 15:00:15 pm »
3 años funcionando y sin problema.
http://www.meteobenalmadena.com/jpgwebcam.jpg

Desconectado EA1EF

  • EA1EF, Eduardo (Reinosa)
  • Nubecilla
  • *
  • 92
  • Sexo: Masculino
  • Maño exiliado en las Montañas cántabras
Re:Fotografía automática
« Respuesta #44 en: Sábado 15 Noviembre 2014 17:15:07 pm »
con las raspberry podría resultar muy interesante este concepto, estoy buscando informacion...
EA1EF, Eduardo, Reinosa (Cantabria)
Meteo, foto, radio, kayak, espeleo, y lo que me de tiempo....

Desconectado MeteoGetafe

  • Cumulus Húmilis
  • **
  • 361
  • Sexo: Masculino
  • El cielo de Getafe ahora mismito
    • MeteoGetafe
Re:Fotografía automática
« Respuesta #45 en: Sábado 15 Noviembre 2014 22:20:24 pm »
con las raspberry podría resultar muy interesante este concepto, estoy buscando informacion...

La otra webcam que tengo en el pueblo, la tengo puesta con una Raspberry con gphoto2.
Si necesitas algún tipo de ayuda, dímelo.
Tenía pensado abrir otro post para la versión Linux con raspberry, pero la falta de tiempo.

En modo esquemático:
- Instalar gphoto2
- Compilar e instalar un USBreset (elimina muchos problemas)
- Compilar e instalar SUnwait (para detectar amaneceres y atardeceres)

Tengo un par de tareas en el crontab que escriben "dia" o "noche" en un fichero al amanecer o al anochecer respectivamente.

Código: [Seleccionar]
01 05 * * * /home/pi/sunwait civ up 40.554823N 4.822562W; echo 'dia' > /home/pi/dianoche
01 17 * * * /home/pi/sunwait civ down 40.554823N 4.822562W ; echo 'noche' > /home/pi/dianoche

El script que hace la foto es este:

Código: [Seleccionar]
#!/bin/bash   

echo  $(date) "Entro en el script de la c?mara"
sudo /home/pi/usbreset /dev/bus/usb/001/006

gphoto2 --delete-all-files -R

echo $(date) "Lanzo la ejecuci?n del intervalo"
if [ $(head -1 /home/pi/dianoche) = "dia" ]; then
gphoto2 --set-config zoom=20 --set-config flashmode=0 --set-config iso=0 --set-config shootingmode=0 --set-config imageformat=6 --set-config syncdatetime=1 --capture-image-and-download --force-overwrite --filename "mironcillo_pre.jpg"
else
gphoto2 --set-config zoom=40 --set-config flashmode=0 --set-config iso=0 --set-config shootingmode=2 --set-config shutterspeed=6 --set-config imageformat=4 --set-config syncdatetime=1 --capture-image-and-download --force-overwrite --filename "mironcillo_pre.jpg"
fi

Otra tarea de crontab, se lanza cada 5 minutos y llama al script de la foto y a otro que la sube por ftp.
Para rotularla, y ya que tengo el script montado que se ejecuta en Getafe, he aprovechado y pongo la información con el mismo script.

Si alguien se anima, tengo el usbreset y el sunwait compilados para Raspi, y por supuesto, estoy aquí por si alguien tiene alguna duda y necesita respuestas.





« Última modificación: Sábado 15 Noviembre 2014 22:38:08 pm por MeteoGetafe »
Getafe 646 msnm. Datos On-line desde Getafe, Madrid http://www.meteogetafe.com

Desconectado EA1EF

  • EA1EF, Eduardo (Reinosa)
  • Nubecilla
  • *
  • 92
  • Sexo: Masculino
  • Maño exiliado en las Montañas cántabras
Re:Fotografía automática
« Respuesta #46 en: Viernes 21 Noviembre 2014 01:06:44 am »
vaya que rapidez y como siempre adelantado a los tiempos...

yo ando bloqueado en esa parte que has sacado adelante, solo consigo hacer fotos y que queden grabadas en el disco local de la raspberry... también ocurren resultados poco predecibles con el parametro imagequality y imagesize porque cambio los parametros entre 0 y 3 pero las resoluciones de salida parece que van por libre

aqui encontre info pero he seguido los pasos y algo me falla
http://www.fossombronemeteo.it/stazione/canon_wireless.aspx

estoy con canon G5 que compre hace años siguiendo la idea original tuya, he puesto un conversor 0.45x gran angular pero no acaba de convencerme un ligero desenfoque en las esquinas y un poco de viñeteo

la verdad es que gphoto y raspberry me ha funcionado a la primera reconociendo la camara y tomando fotos en local

nuestra web es www.meteocampoo.es



EA1EF, Eduardo, Reinosa (Cantabria)
Meteo, foto, radio, kayak, espeleo, y lo que me de tiempo....

Desconectado MeteoGetafe

  • Cumulus Húmilis
  • **
  • 361
  • Sexo: Masculino
  • El cielo de Getafe ahora mismito
    • MeteoGetafe
Re:Fotografía automática
« Respuesta #47 en: Viernes 21 Noviembre 2014 12:21:44 pm »
Si haces un:

Código: [Seleccionar]
gphoto2 --list-all-config
Te saca todos los parámetros que acepta la cámara, es recomendable grabarlos en un fichero de texto para poder consultarlos.

De todas formas, si te hace la foto, ya lo tienes.

La tarea cron que lanza la foto cada 5 minutos es esta:

Código: [Seleccionar]
*/5 * * * * /home/pi/una.sh > una.log
Este es el una.sh

Código: [Seleccionar]
#!/bin/bash   

echo  $(date) "Entro en el script de la c?mara"
sudo /home/pi/usbreset /dev/bus/usb/001/006

gphoto2 --delete-all-files -R

echo $(date) "Lanzo la ejecuci?n del intervalo"
if [ $(head -1 /home/pi/dianoche) = "dia" ]; then
gphoto2 --set-config zoom=20 --set-config flashmode=0 --set-config iso=0 --set-config shootingmode=0 --set-config imageformat=6 --set-config syncdatetime=1 --capture-image-and-download --force-overwrite --filename "mironcillo_pre.jpg"
else
gphoto2 --set-config zoom=40 --set-config flashmode=0 --set-config iso=0 --set-config shootingmode=2 --set-config shutterspeed=6 --set-config imageformat=4 --set-config syncdatetime=1 --capture-image-and-download --force-overwrite --filename "mironcillo_pre.jpg"
fi
/home/pi/sube.sh

El script sube.sh es el que sube las cosas al ftp:


Código: [Seleccionar]
#!/bin/bash
HOST=meteogetafe.com  #This is the FTP servers host or IP address.
USER=usuario_ftp         #This is the FTP user that has access to the server.
PASS=password_ftp      #This is the password for the FTP user.
# Call 1. Uses the ftp command with the -inv switches.  -i turns off inter$
ftp -inv $HOST << EOF
# Call 2. Here the login credentials are supplied by calling the variables.
user $USER $PASS
# Call 3. Here you will change to the directory where you want to put or g$
cd mironcillo
# Call4.  Here you will tell FTP to put or get the file.
put mironcillo.jpg
# End FTP Connection
bye
Getafe 646 msnm. Datos On-line desde Getafe, Madrid http://www.meteogetafe.com