Differenze tra le versioni di "Motion con Raspberry Pi Camera on board"
(Pagina svuotata) |
|||
Riga 1: | Riga 1: | ||
+ | == Installazione motion == | ||
+ | |||
+ | <source lang=bash gutter=false> | ||
+ | sudo apt-get install motion | ||
+ | </source> | ||
+ | |||
+ | Perche` funzioni con la "raspi-cam" (la Camera on board ufficiale del Raspberry Pi), si deve caricare il modulo "bcm2835-v4l2", per farlo ad ogni avvio del Raspberry Pi, aggiungiamolo nel file "/etc/modules": | ||
+ | <source lang=bash gutter=false> | ||
+ | # /etc/modules: kernel modules to load at boot time. | ||
+ | # | ||
+ | # This file contains the names of kernel modules that should be loaded | ||
+ | # at boot time, one per line. Lines beginning with "#" are ignored. | ||
+ | |||
+ | bcm2835-v4l2 | ||
+ | </source> | ||
+ | |||
+ | |||
+ | == Configurazione motion == | ||
+ | |||
+ | ''La mia intenzione e` stata di non utilizzarlo da "root", ma da normale utente "pi", per cui .. | ||
+ | '' | ||
+ | |||
+ | Ho creato la directory di lavoro nella directory utente "/home/pi" e ho copiato il file di configurazione d'esempio fornito con il pacchetto installato: | ||
+ | <source lang=bash gutter=false> | ||
+ | mkdir motion | ||
+ | cp /usr/share/motion/examples/motion-dist.conf motion/motion.conf | ||
+ | </source> | ||
+ | |||
+ | Ho modificato il file (motion/motion.conf) secondo le mie esigenze, riporto alcune delle impostazioni modificate (e/o controllate) a titolo d'esempio: | ||
+ | <source lang=bash gutter=false> | ||
+ | daemon off | ||
+ | process_id_file /home/pi/motion/motion.pid | ||
+ | setup_mode off | ||
+ | logfile /home/pi/motion/motion.log | ||
+ | log_level 6 | ||
+ | log_type all | ||
+ | videodevice /dev/video0 | ||
+ | v4l2_palette 15 | ||
+ | input -1 | ||
+ | norm 0 | ||
+ | frequency 0 | ||
+ | rotate 270 | ||
+ | width 480 | ||
+ | height 640 | ||
+ | framerate 2 | ||
+ | minimum_frame_time 0 | ||
+ | netcam_keepalive off | ||
+ | netcam_tolerant_check off | ||
+ | rtsp_uses_tcp on | ||
+ | auto_brightness off | ||
+ | brightness 0 | ||
+ | contrast 0 | ||
+ | saturation 0 | ||
+ | hue 0 | ||
+ | power_line_frequency -1 | ||
+ | roundrobin_frames 1 | ||
+ | roundrobin_skip 1 | ||
+ | switchfilter off | ||
+ | threshold 15000 | ||
+ | threshold_tune off | ||
+ | noise_level 32 | ||
+ | noise_tune on | ||
+ | lightswitch 0 | ||
+ | minimum_motion_frames 1 | ||
+ | pre_capture 0 | ||
+ | post_capture 0 | ||
+ | event_gap 60 | ||
+ | max_movie_time 120 | ||
+ | emulate_motion off | ||
+ | output_pictures on | ||
+ | output_debug_pictures off | ||
+ | quality 75 | ||
+ | camera_id 0 | ||
+ | picture_type jpeg | ||
+ | ffmpeg_output_movies on | ||
+ | ffmpeg_output_debug_movies off | ||
+ | ffmpeg_timelapse 0 | ||
+ | ffmpeg_timelapse_mode daily | ||
+ | ffmpeg_bps 400000 | ||
+ | ffmpeg_variable_bitrate 0 | ||
+ | ffmpeg_video_codec mpeg4 | ||
+ | ffmpeg_duplicate_frames off | ||
+ | use_extpipe off | ||
+ | snapshot_interval 0 | ||
+ | locate_motion_mode off | ||
+ | locate_motion_style box | ||
+ | text_right %Y-%m-%d\n%T-%q | ||
+ | text_changes off | ||
+ | text_event %Y%m%d%H%M%S | ||
+ | text_double off | ||
+ | target_dir /home/pi/motion | ||
+ | snapshot_filename %Y%m%d%H%M%S-snapshot-%v | ||
+ | picture_filename %Y%m%d%H%M%S-%q-%v | ||
+ | movie_filename %Y%m%d%H%M%S-%v | ||
+ | timelapse_filename %Y%m%d-timelapse | ||
+ | stream_port 8081 | ||
+ | stream_quality 50 | ||
+ | stream_motion off | ||
+ | stream_maxrate 1 | ||
+ | stream_localhost off | ||
+ | stream_limit 0 | ||
+ | stream_auth_method 0 | ||
+ | stream_preview_scale 25 | ||
+ | stream_preview_newline off | ||
+ | webcontrol_port 8080 | ||
+ | webcontrol_localhost off | ||
+ | webcontrol_html_output on | ||
+ | ### Serve "mutt" configurato per l'invio della posta e la <MAIL> destinazione ### | ||
+ | on_picture_save echo "see attach" | mutt -s "$(hostname) alarm $(date +%F_%H-%M)" -a %f -- <MAIL> | ||
+ | </source> | ||
+ | |||
+ | == Avvio motion == | ||
+ | |||
+ | Non ho voluto usarlo come "daemon" vero e proprio, ma eseguirlo all'avvio del sistema, quindi ho inserito la linea di comando nel file "/etc/rc.local": | ||
+ | <source lang=bash gutter=false> | ||
+ | #!/bin/sh -e | ||
+ | # | ||
+ | # rc.local | ||
+ | # | ||
+ | # This script is executed at the end of each multiuser runlevel. | ||
+ | # Make sure that the script will "exit 0" on success or any other | ||
+ | # value on error. | ||
+ | # | ||
+ | # In order to enable or disable this script just change the execution | ||
+ | # bits. | ||
+ | # | ||
+ | # By default this script does nothing. | ||
+ | |||
+ | # Print the IP address | ||
+ | _IP=$(hostname -I) || true | ||
+ | if [ "$_IP" ]; then | ||
+ | printf "My IP address is %s\n" "$_IP" | ||
+ | fi | ||
+ | |||
+ | # | ||
+ | su -c "motion -n -c /home/pi/motion/motion.conf &" pi | ||
+ | |||
+ | exit 0 | ||
+ | </source> | ||
+ | |||
+ | |||
+ | == Utilizzo motion == | ||
+ | |||
+ | Per il "controllo" web, collegatevi col browser agli indirizzi: | ||
+ | ; <nowiki>http://<IP o Nome del Raspberry Pi>:8080</nowiki> | ||
+ | : per controllare/cambiare alcune impostazioni di configurazione (non l'ho provato) | ||
+ | ; <nowiki>http://<IP o Nome del Raspberry Pi>:8081</nowiki> | ||
+ | : per visualizzare lo stream. | ||
+ | |||
+ | |||
+ | == Note == | ||
+ | |||
+ | Per teminare il programma usate il comando: | ||
+ | <source lang=bash gutter=false>kill $(pidof motion)</source> | ||
+ | |||
+ | |||
+ | == Riferimenti == | ||
+ | |||
+ | [[Motion-mmal_con_Raspberry_Pi_Camera_on_board]] |
Versione attuale delle 16:06, 16 mag 2019
Installazione motion
sudo apt-get install motion
Perche` funzioni con la "raspi-cam" (la Camera on board ufficiale del Raspberry Pi), si deve caricare il modulo "bcm2835-v4l2", per farlo ad ogni avvio del Raspberry Pi, aggiungiamolo nel file "/etc/modules":
# /etc/modules: kernel modules to load at boot time.
#
# This file contains the names of kernel modules that should be loaded
# at boot time, one per line. Lines beginning with "#" are ignored.
bcm2835-v4l2
Configurazione motion
La mia intenzione e` stata di non utilizzarlo da "root", ma da normale utente "pi", per cui ..
Ho creato la directory di lavoro nella directory utente "/home/pi" e ho copiato il file di configurazione d'esempio fornito con il pacchetto installato:
mkdir motion
cp /usr/share/motion/examples/motion-dist.conf motion/motion.conf
Ho modificato il file (motion/motion.conf) secondo le mie esigenze, riporto alcune delle impostazioni modificate (e/o controllate) a titolo d'esempio:
daemon off
process_id_file /home/pi/motion/motion.pid
setup_mode off
logfile /home/pi/motion/motion.log
log_level 6
log_type all
videodevice /dev/video0
v4l2_palette 15
input -1
norm 0
frequency 0
rotate 270
width 480
height 640
framerate 2
minimum_frame_time 0
netcam_keepalive off
netcam_tolerant_check off
rtsp_uses_tcp on
auto_brightness off
brightness 0
contrast 0
saturation 0
hue 0
power_line_frequency -1
roundrobin_frames 1
roundrobin_skip 1
switchfilter off
threshold 15000
threshold_tune off
noise_level 32
noise_tune on
lightswitch 0
minimum_motion_frames 1
pre_capture 0
post_capture 0
event_gap 60
max_movie_time 120
emulate_motion off
output_pictures on
output_debug_pictures off
quality 75
camera_id 0
picture_type jpeg
ffmpeg_output_movies on
ffmpeg_output_debug_movies off
ffmpeg_timelapse 0
ffmpeg_timelapse_mode daily
ffmpeg_bps 400000
ffmpeg_variable_bitrate 0
ffmpeg_video_codec mpeg4
ffmpeg_duplicate_frames off
use_extpipe off
snapshot_interval 0
locate_motion_mode off
locate_motion_style box
text_right %Y-%m-%d\n%T-%q
text_changes off
text_event %Y%m%d%H%M%S
text_double off
target_dir /home/pi/motion
snapshot_filename %Y%m%d%H%M%S-snapshot-%v
picture_filename %Y%m%d%H%M%S-%q-%v
movie_filename %Y%m%d%H%M%S-%v
timelapse_filename %Y%m%d-timelapse
stream_port 8081
stream_quality 50
stream_motion off
stream_maxrate 1
stream_localhost off
stream_limit 0
stream_auth_method 0
stream_preview_scale 25
stream_preview_newline off
webcontrol_port 8080
webcontrol_localhost off
webcontrol_html_output on
### Serve "mutt" configurato per l'invio della posta e la <MAIL> destinazione ###
on_picture_save echo "see attach" | mutt -s "$(hostname) alarm $(date +%F_%H-%M)" -a %f -- <MAIL>
Avvio motion
Non ho voluto usarlo come "daemon" vero e proprio, ma eseguirlo all'avvio del sistema, quindi ho inserito la linea di comando nel file "/etc/rc.local":
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
# Print the IP address
_IP=$(hostname -I) || true
if [ "$_IP" ]; then
printf "My IP address is %s\n" "$_IP"
fi
#
su -c "motion -n -c /home/pi/motion/motion.conf &" pi
exit 0
Utilizzo motion
Per il "controllo" web, collegatevi col browser agli indirizzi:
- http://<IP o Nome del Raspberry Pi>:8080
- per controllare/cambiare alcune impostazioni di configurazione (non l'ho provato)
- http://<IP o Nome del Raspberry Pi>:8081
- per visualizzare lo stream.
Note
Per teminare il programma usate il comando:
kill $(pidof motion)