Read the statement by Michael Teeuw here.
Motion Detection with RaspiCam, Non-Module version
-
@dam4
Hi, make sure that you’ve edited your motion.conf file that it is using according to the instructions in the original post:framerate 4 - run the detection video at 4 frames per second threshold 2500 - increase the # of pixels to trigger the screen. We want them to get close to the mirror minimum_motion_frames 2 - Motion must be detected in 2 consecutive frames (at 4 FPS) event_gap 60 - This is important. This is how long in seconds after no motion the screen will turn off. output_pictures off - Do not save images ffmpeg_output_movies off - Do not record video stream_port 0 - Turn off remote viewing webcontrol_port 0 - Turn off HTTP control of camera on_event_start vcgencmd display_power 1 - Important! This is the command to turn on the screen on_event_end vcgencmd display_power 0 - Important! This is the command to turn off the screen
I’ve copied my config here: https://pastebin.com/61hiygKX (edit: updated conf)
If you put motion.conf in /etc/motion it should pick it up by default without having to specify anything.Make sure you’ve set the event_gap, on_event_start, and on_event_end at the very least for testing.
You can also just try running the command
vcgencmd display_power 0
by itself to make sure the command works to turn off the monitor.
-
@jasonarends
My motion.conf is located in my home directory. I looked for /etc/motion and I don’t have a directory called motion in /etc. So I made one and put motion.conf in there. My screen still doesn’t shut off. I did look over my motion.conf file and all my settings were exactly like yours. I did follow all the steps at the beginning of this post. I can also type in vcgencmd display_power 0 and it turns off the monitor and vcgencmd display_power 1 turns it back on. This is really getting frustrating. Thank you for your help.I also copied your updated_motion.conf.sh and double checked it and they match with the exception yours has a .sh at the end where mine does not. Is it supposed to have the .sh on the end of the file name or did it get added due to it being uploaded?
-
@dam4
Does your camera work outside of motion? Can you doraspistill -o cam.jpg
and get a picture?
If so, try launching motion with:
/usr/local/bin/motion -c /etc/motion/motion.conf
just to be sure that it’s reading the correct file, and then if you can watch the output and paste it here (or pastebin if it’s large) it might help us troubleshoot.
Here’s what the first part of mine looks like with some of the config stuff cut out:
[27690520:motion] [NTC] [ALL] motion_startup: Motion 4.0.1+gitb103dc0 Started [27690520:motion] [NTC] [ALL] motion_startup: Logging to syslog [27690520:motion] [NTC] [ALL] motion_startup: Using log type (ALL) log level (INF) [27690520:motion] [INF] [ALL] conf_output_parms: Writing configuration parameters from all files (1): [27690520:motion] [INF] [ALL] Thread 0 - Config file: /etc/motion/motion.conf ---snip--- [0:motion] [NTC] [ALL] main: Camera ID: 0 is from /etc/motion/motion.conf [0:motion] [NTC] [ALL] main: Camera ID: 0 Camera Name: (null) Device: /dev/video0 [0:motion] [NTC] [ALL] main: Waiting for threads to finish, pid: 30877 [1:ml1] [NTC] [ALL] motion_init: Camera 0 started: motion detection Enabled [1:ml1] [NTC] [VID] vid_start: Opening MMAL cam [1:ml1] [NTC] [VID] mmalcam_start: MMAL Camera thread starting... for camera (vc.ril.camera) of 640 x 480 at 4 fps [1:ml1] [NTC] [VID] create_camera_component: MMAL camera component created [1:ml1] [NTC] [ALL] image_ring_resize: Resizing pre_capture buffer to 1 items [1:ml1] [NTC] [ALL] image_ring_resize: Resizing pre_capture buffer to 2 items [1:ml1] [INF] [ALL] mlp_detection: Lightswitch detected [1:ml1] [INF] [EVT] event_new_video: Source FPS 4 [1:ml1] [NTC] [ALL] motion_detected: Motion detected - starting event 1
-
@jasonarends
I did get a picture when I typed that in so I know my camera is working.Here is the link to my config stuff.
it sits there and my screen never blanked out, but I did notice that when I moved the block in front of the camera it did do something and when I put it back it did shut off the monitor.
-
@dam4 sounds like it might be working - especially based on these lines:
[1:ml1] [NTC] [ALL] motion_detected: Motion detected - starting event 1 display_power=1 ... [1:ml1] [NTC] [ALL] mlp_actions: End of event 1 display_power=0
I found a couple other config options and I think I was able to disable all the “event_newfile: File of type 2 saved to: /run/shm/lastsnap.jpg” stuff. I wonder if that’s what was causing memory leaks for @bhepler I set the pre_capture and post_capture to 0
You might need to play with some of the settings for threshold and event_gap to get it to behave like you want but it sounds like you’re almost there. I set mine up in pm2 like mentioned earlier in the thread and it’s been working fine for the last day for me.
-
@jasonarends
How would I set it up in pm2? I’d like to try it. -
@jasonarends
I feel I am so close I followed the instructions exactly and I have motion started in pm2. it still doesn’t work. As I checked themotion-error-2.log
I am seeing the following;Error: Cannot find module '/home/pi/motion' at Function.Module._resolveFilename (module.js:469:15) at Function.Module._load (module.js:417:25) at Object. (/usr/lib/node_modules/pm2/lib/ProcessContainerFork.js:73:21) at Module._compile (module.js:570:32) at Object.Module._extensions..js (module.js:579:10) at Module.load (module.js:487:32) at tryModuleLoad (module.js:446:12) at Function.Module._load (module.js:438:3) at Module.runMain (module.js:604:10) at run (bootstrap_node.js:383:7)
This is displayed over and over. I have checked for the directory /home/pi/motion and it is there. What am I missing?
-
This post is deleted! -
@dam4 Hmm. It sounds like a permissions issue. IIRC, you installed motion with sudo. It’s possible that the pm2 process doesn’t have rights to the motion folder.
If you enter
ls -ah /home/pi/motion
, what does that return? -
@bhepler
This is what I get when I type that in.
pi@raspberrypi:~ $ ls -ah /home/pi/motion
. CONTRIBUTING.md mask1.png netcam_ftp.h rotate.o
… COPYING md5.c netcam_ftp.o stream.c
aclocal.m4 copyright md5.h netcam.h stream.h
alg.c CREDITS md5.o netcam_http.c stream.o
alg.h .depend mmalcam.c netcam_http.h test_builds.sh
alg.o draw.c mmalcam.h netcam_http.o track.c
autom4te.cache draw.o mmalcam.o netcam_jpeg.c track.h
camera1-dist.conf event.c mmx.h netcam_jpeg.o track.o
camera1-dist.conf.in event.h motion netcam.o .travis.yml
camera2-dist.conf event.o motion.1 netcam_rtsp.c version.sh
camera2-dist.conf.in FAQ motion.c netcam_rtsp.h video_bktr.c
camera3-dist.conf ffmpeg.c motion-dist.conf netcam_rtsp.o video_bktr.h
camera3-dist.conf.in ffmpeg.h motion-dist.conf.in netcam_wget.c video_bktr.o
camera4-dist.conf ffmpeg.o motion_guide.html netcam_wget.h video_common.c
camera4-dist.conf.in .git motion.h netcam_wget.o video_common.h
CHANGELOG .gitignore motion.init-Debian normal.jpg video_common.o
CODE_STANDARD INSTALL motion.init-Debian.in outputmotion1.jpg video_loopback.c
conf.c ISSUE_TEMPLATE.md motion.init-FreeBSD.sh outputnormal1.jpg video_loopback.h
conf.h jpegutils.c motion.init-FreeBSD.sh.in picture.c video_loopback.o
config.h jpegutils.h motion.o picture.h video_v4l2.c
config.h.in jpegutils.o motion.service picture.o video_v4l2.h
config.log logger.c motion.service.in pwc-ioctl.h video_v4l2.o
config.status logger.h motion.spec raspicam webhttpd.c
configure logger.o motion.spec.in README.md webhttpd.h
configure.ac Makefile netcam.c rotate.c webhttpd.o
conf.o Makefile.in netcam_ftp.c rotate.h
pi@raspberrypi:~ $