MagicMirror Forum
    • Recent
    • Tags
    • Unsolved
    • Solved
    • MagicMirror² Repository
    • Documentation
    • 3rd-Party-Modules
    • Donate
    • Discord
    • Register
    • Login
    A New Chapter for MagicMirror: The Community Takes the Lead
    Read the statement by Michael Teeuw here.

    Motion Detection with RaspiCam, Non-Module version

    Scheduled Pinned Locked Moved Tutorials
    47 Posts 13 Posters 51.4k Views 17 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • F Offline
      Freebond
      last edited by

      This post is deleted!
      1 Reply Last reply Reply Quote 0
      • N Offline
        Natacha3 @bhepler
        last edited by

        @bhepler It works perfectly !
        Thank you so much for sharing !

        1 Reply Last reply Reply Quote 1
        • S Offline
          stangarrang
          last edited by

          @bhepler I was hoping you could give me a hand. I’ve got your motion working but. Pm2 is not auto starting the motion. Everything is working fine if I manually “pm2 start motion” and " pm2 start mm" and I’ve tried adding @pm2 start motion to my auto start along side my “pm2 start mm” but that only breaks both processes. I’m trying to get both the magic mirror and the motion to auto start upon reboot.

          bheplerB 1 Reply Last reply Reply Quote 0
          • bheplerB Offline
            bhepler Module Developer @stangarrang
            last edited by bhepler

            @stangarrang Sure, no problem. Quick question: Did you enter pm2 save after you started both the motion and the Magic Mirror processes?

            1 Reply Last reply Reply Quote 0
            • S Offline
              stangarrang
              last edited by

              @bhepler yes that was one of the first things I did but after reboot nothing was saving. Actually just as you replied I went through a couple steps for pm2 startup plus the command that came after. After that I did a pm2 save and now things are working well :) thanks for your prompt reply!

              1 Reply Last reply Reply Quote 1
              • A Offline
                AnduriI
                last edited by

                is it possible to use Motion to activate the screen and MMM-Facial-Recignition simultaneously? Maybe also use the on_event_start to activate some lights in the front of the MM to increase image quality…

                bheplerB 1 Reply Last reply Reply Quote 0
                • bheplerB Offline
                  bhepler Module Developer @AnduriI
                  last edited by

                  @AnduriI It should be. The motion system will operate independently of the mirror and only controls the signal running down the HDMI cable to the monitor. The Pi camera and the Magic Mirror process are still running.

                  If you create a simple python script to control the pinouts on the Pi, you should be able to switch on some simple LED lights to illuminate the front of the mirror.

                  1 Reply Last reply Reply Quote 0
                  • D Offline
                    dam4
                    last edited by yawns

                    @bhepler
                    Hello, I am a true n00b and I am having issues with your process for getting the Pi camera to work. I copied and pasted your first line exactly and I get the following.

                    pi@raspberrypi:~ $ sudo apt-get install -y libjpeg-dev libavformat56 libavformat-dev libavcodec56 libavcodec-dev libavutil54 libavutil-dev libc6-dev zlib1g-dev libmysqlclient18 libmysqlclient-dev libpq5 libpq-dev
                    Reading package lists... Done
                    Building dependency tree
                    Reading state information... Done
                    Package libmysqlclient-dev is not available, but is referred to by another package.
                    This may mean that the package is missing, has been obsoleted, or
                    is only available from another source
                    
                    Package libmysqlclient18 is not available, but is referred to by another package.
                    This may mean that the package is missing, has been obsoleted, or
                    is only available from another source
                    
                    E: Unable to locate package libavformat56
                    E: Unable to locate package libavcodec56
                    E: Unable to locate package libavutil54
                    E: Package 'libmysqlclient18' has no installation candidate
                    E: Package 'libmysqlclient-dev' has no installation candidate
                    pi@raspberrypi:~ $
                    

                    What did I do wrong? Please help and thank you in advance.

                    yawnsY 1 Reply Last reply Reply Quote 0
                    • yawnsY Offline
                      yawns Moderator @dam4
                      last edited by

                      @dam4
                      Are you running raspbian Jessie or Stretch?

                      Looks like the names where changed
                      Jessie: https://packages.debian.org/jessie/libmysqlclient-dev
                      Stretch: https://packages.debian.org/stretch/default-libmysqlclient-dev

                      D 1 Reply Last reply Reply Quote 1
                      • D Offline
                        dam4 @yawns
                        last edited by

                        @yawns I am pretty sure I am running Jessie. How do I know for sure?

                        yawnsY 1 Reply Last reply Reply Quote 0
                        • yawnsY Offline
                          yawns Moderator @dam4
                          last edited by

                          @dam4
                          In the terminal run cat /etc/os-release

                          Maybe you need to run sudo cat /etc/os-release

                          D 1 Reply Last reply Reply Quote 0
                          • D Offline
                            dam4 @yawns
                            last edited by yawns

                            @yawns
                            It looks like I am running stretch. This is what I get;

                            pi@raspberrypi:~ $ cat /etc/os-release
                            PRETTY_NAME="Raspbian GNU/Linux 9 (stretch)"
                            NAME="Raspbian GNU/Linux"
                            VERSION_ID="9"
                            VERSION="9 (stretch)"
                            ID=raspbian
                            ID_LIKE=debian
                            HOME_URL="http://www.raspbian.org/"
                            SUPPORT_URL="http://www.raspbian.org/RaspbianForums"
                            BUG_REPORT_URL="http://www.raspbian.org/RaspbianBugs"
                            pi@raspberrypi:~ $
                            
                            J 1 Reply Last reply Reply Quote 0
                            • J Offline
                              jasonarends @dam4
                              last edited by jasonarends

                              @dam4 I had the same problem and couldn’t get the correct dependencies resolved, but I just got it to work on stretch by following the Abbreviated Building Guide instructions here: http://htmlpreview.github.io/?https://github.com/Motion-Project/motion/blob/master/motion_guide.html

                              I had already tried the way you did so I had the motion.conf from the other build which I had modified, and it worked with that version.

                              edit:

                              sudo apt-get install autoconf automake build-essential pkgconf libtool libzip-dev libjpeg-dev git libavformat-dev libavcodec-dev libavutil-dev libswscale-dev libavdevice-dev
                              cd ~ 
                              git clone https://github.com/Motion-Project/motion.git 
                              cd motion 
                              autoreconf -fiv 
                              ./configure 
                              make 
                              make install
                              
                              D 1 Reply Last reply Reply Quote 0
                              • D Offline
                                dam4 @jasonarends
                                last edited by dam4

                                @jasonarends
                                I just tried git clone https://github.com/Motion-Project/motion.git and it tells me this;

                                fatal: destination path ‘motion’ already exists and is not an empty directory.

                                I did a ls -al and it doesn’t show up as a directory. Should I remove the ‘motion’ that is in green from the home directory and try again?

                                I have to go to work so I will have to work on this tomorrow. Thank you for your help.

                                J 1 Reply Last reply Reply Quote 0
                                • J Offline
                                  jasonarends @dam4
                                  last edited by

                                  @dam4

                                  yep, you have the original motion binary in your home directory still, you can just remove that.

                                  D 2 Replies Last reply Reply Quote 0
                                  • D Offline
                                    dam4 @jasonarends
                                    last edited by

                                    @jasonarends
                                    Thank you for your help. I have tried this and it seemed to install. The only thing I had an issue with was when I entered make install it would not create a directory and it failed. I then ran it as sudo make install and it seemed to install. I am running my MagicMirror now to see if it works. How long does it take to turn the monitor off? Again thank you for your help.

                                    1 Reply Last reply Reply Quote 0
                                    • D Offline
                                      dam4 @jasonarends
                                      last edited by

                                      @jasonarends
                                      How long does it take for the screen to blank out? So far the screen has stayed on and hasn’t even flickered. I have something in front of the Pi camera so it doesn’t pick up any movement and it has been over an hour now. Please help.

                                      J 1 Reply Last reply Reply Quote 0
                                      • J Offline
                                        jasonarends @dam4
                                        last edited by jasonarends

                                        @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.

                                        D 1 Reply Last reply Reply Quote 0
                                        • D Offline
                                          dam4 @jasonarends
                                          last edited by dam4

                                          @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?

                                          J 1 Reply Last reply Reply Quote 0
                                          • J Offline
                                            jasonarends @dam4
                                            last edited by

                                            @dam4
                                            Does your camera work outside of motion? Can you do

                                            raspistill -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
                                            
                                            
                                            D 1 Reply Last reply Reply Quote 0

                                            Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                                            Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                                            With your input, this post could be even better 💗

                                            Register Login
                                            • 1
                                            • 2
                                            • 3
                                            • 2 / 3
                                            • First post
                                              Last post
                                            Enjoying MagicMirror? Please consider a donation!
                                            MagicMirror created by Michael Teeuw.
                                            Forum managed by Sam, technical setup by Karsten.
                                            This forum is using NodeBB as its core | Contributors
                                            Contact | Privacy Policy