Hardware > WebCam

como subir imagen de webcam

<< < (4/5) > >>

garbatella:
Novedades!

Solcuionado la primera parte, es decir, hacer funcionar ffmpeg. Efectivamente debía ser un problema de permisos. He cambiado la ruta en la que guardar las fotos, y he usado /home/pi/Pictures y ahora, si lanzo la ejecución:


--- Código: ---sudo ffmpeg -rtsp_transport tcp -i rtsp://user:password@10.0.1.133:554/cam/realmonitor?channel=1_subtype=0 -vframes 1 -r 1 /home/pi/Pictures/image.jpg
--- Fin del código ---

Efectivamente se ejecuta y guarda una captura en la carpeta home/pi/Pictures.

El tema es que he programado cron, pero no parece estar ejecutándose... En cron simplemente he hecho: sudo nano /etc/crontab y he metido:


--- Código: ---# Toma de imagenes Webcam
1-59/5 *   * * *   root    /home/pi/imagen.sh

--- Fin del código ---

Por supuesto en /home/pi/imagen.sh tengo el siguiente script:


--- Código: ---#!/bin/sh

export DATETIME=`date +%Y%m%d%H%M%S`

rm -f /home/pi/Pictures/image.jpg

sudo ffmpeg -rtsp_transport tcp -i rtsp://user:password@10.0.1.133:554/cam/realmonitor?channel=1_subtype=0 -vframes 1 -r 1 /home/pi/Pictures/image.jpg

cp /home/pi/Pictures/image.jpg /media/pi/8914-17F8/Dahua/$DATETIME.jpg
--- Fin del código ---

Pues nada, estoy controlado por ftp ambas carpetas (home/pi/pictures y el usb en media/pi...) y no parece que la imagen se actualice. ¿alguna idea? quizás el cron esté mal configurado?

jmviper:
Le has dado permisos de ejecución a imagen.sh ?

garbatella:
Grandes!  :aplaude1:

Efectivamente, debía asignar permisos...

Bien, pues crontab está haciendo su trabajo y cada 5 minutos, obtiene una imagen, la guarda en home/pi/pictures y hace copia en el usb.

Ahora me queda insertar dicha imagen en el skin Belchertown. Lo ideal sería sustituir el gráfico de windy por la imagen capturada. He visto que en el skin.conf de Belchertown, debo activar (poniendo 1 en vez de -1) en index_hook_after_station_info. Pero no me queda muy claro los siguientes pasos... es decir, ¿dónde indico a weewx o mejor dicho, al skin belchertown, la ruta donde tengo las imágenes para que las publique en la web?

garbatella:
Hola!

Retomo este hilo para comentar mis avances.

Una reflexión que hago a todos los que quieran meter imagen de su webcam en la plantilla, es que tengan cuidado con la escritura de imagenes en la SD de la raspberry. Una escritura constante (cada 5 minutos en mi caso) es sentenciar a la tarjeta SD y hacer que acabe petando algún día.

Por ello la solución es tomar las imagenes (mediante ffmpeg) guardándolas directamente en un pincho USB. De esta forma no sobrecargamos la SD con el sistema operativo.

La cuestión ahora es que, tocando la skin belchertown, no soy capaz de conseguir mostar la imagen. Estoy haciendolo "fácil", es decir, sustituyendo el mapa de windy por la imagen así en el index.html.tmpl


--- Código: ---<!-- Radar image -->
                    <div class="col-lg-5 radar-map toprow-height">
                        <img src="/media/dahua/image.jpg" width="640" height="480">
                    </div>
--- Fin del código ---

/media/dahua es la carpeta donde se monta el usb en cada reinicio de la raspberry. El tema es que cuando cargo la web (192.168.30.33/weewx) todo va ok, pero la imagen no carga y sale el tipico icono pequeño que indica "link roto". La ruta 192.168.30.33/media/dahua/image.jpg no parece funcionar... Permisos no es, ya que la carpeta y la propia imagen tienen permisos 755.

¿Alguna idea?

jmviper:
Hola garbatella

No puedes poner cualquier carpeta de la raspi en la dirección de una imagen como es este ejemplo. Apache solo muestra el contenido de la carpeta document root que normalmente es /var/www/html a menos que la hayamos cambiado adrede.

Ten en cuenta que podrían quedar expuestos de la manera que tú has hecho archivos importantes de la raspi si alguien entra por ejemplo a http://miraspi/usr/bin/....

La solución para que se vea ese contenido es poner unas directivas a apache2.

Edita como root (con sudo delante) el archivo de configuración de apache2 con sudo nano /etc/apache2/apache2.conf
Localiza las líneas que empiezan con <Directory …> verás que llevan esa apertura, unas líneas de comandos apache y la etiqueta de cierre de </Directory>

A continuación del último bloque pon este código:


--- Código: ---<Directory /media/dahua>
AllowOverride None
Require all granted
</Directory>

<IfModule alias_module>
Alias /dahua /media/dahua
</IfModule>

--- Fin del código ---

Reinicia apache2 con sudo service apache2 restart

Ahí en el primer bloque le hemos dado permisos para que apache lea el directorio /media/dahua y en el segundo lo hemos mapeado a que el contenido salga como carpeta nahua en el servidor así que saldrá si le pones a tu imagen <img src="/dahua/image.jpg" width="640" height="480">. También estará disponible en http://192.168.30.33/dahua/image.jpg

Pruébalo a ver si se te ve correctamente.

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

[*] Página Anterior

Ir a la versión completa