Giter Site home page Giter Site logo

geraldoramos / pigeon Goto Github PK

View Code? Open in Web Editor NEW
295.0 32.0 22.0 442 KB

Pigeon is a simple 3D printed cloud home surveillance camera project that uses the new Raspberry Pi Zero W

Home Page: https://www.instructables.com/id/Pigeon-a-3D-Printed-Cloud-Home-Surveillance-Camera/

License: GNU General Public License v3.0

Shell 100.00%
raspberry-pi raspberrypi camera motion-detection shell-script surveillance 3d-printing

pigeon's Introduction

Pigeon

License: GPL v3 PayPal Twitter

Pigeon is a simple cloud home surveillance camera project that uses the new Raspberry Pi Zero W single board computer ($10). It uses a custom designed 3D printed enclosure that fits the board and the camera. A wall mount is also included. The software should work with any Raspberry PI version, but the 3D design is made specifically for the PI Zero W platform.

The goal of this project is to provide an easy way to setup a basic (yet functional) hackable cloud camera at the lowest possible cost.

Features

  • Motion detection
  • Integrated with Dropbox for motion detected clips storage (MP4 format)
  • Simple step-by-step installation wizard
  • Live streaming in the desktop/mobile browser with remote access capabilities
  • Authentication for live stream visualization
  • 3D printed enclosure
  • Ability to create several integrations using IFTTT (ex: If Pigeon's dropbox folder changes, send an e-mail, SMS, or slack message including the clip file link).
  • Automatically deletes locally recorded clips after uploading to Dropbox
  • Self-contained modular system for easily creating new modules

Requirements

  • (optional) 3D Printed enclosure. STL files and instructions available on ThingiVerse.
  • A Rasberry Pi Zero W running Raspbian and connected to the internet. The regular (no-wifi) Raspberry PI Zero also works, but will require a usb wifi doongle that will stay out of the designed enclosure: Buy a Raspberry PI Zero W
  • A Raspberry Pi camera with cable: Buy it
  • (optional) A long micro-usb power cable: Buy it

Getting started

Connect to your Raspberry PI using SSH or using a monitor. Make sure you have the Raspberry PI camera already working, You can test using the following command:

raspistill -o cam.jpg

If camera is not working, make sure it's activated in the setup (option 5):

sudo raspi-config

If you have problems, check: https://www.raspberrypi.org/documentation/configuration/camera.md

Now, clone this repository using git (recommended) in the root of your Raspberry PI home directory:

cd /home/pi
git clone https://github.com/geraldoramos/pigeon.git
cd pigeon

When ready, give execution permission to the setup script and run it:

 chmod +x pigeon_install.sh
 ./pigeon_install.sh

The installation should take about 10-15 minutes and inputs from you will be necessary towards the process (ex: Dropbox configuration)

After Installation

After the installation is completed, you will be able to watch the camera live feed by accessing:

http://[PI-ADDRESS]:[8099]

If you want to setup remote access, make sure to setup port forwarding in your modem admin panel (port 8099 to your Raspberry IP.)

If everything went fine, you will start seeing MP4 clips being saved on your Dropbox folder when motion events are triggered.

If you want to start at boot, edit the rc.local file as following:

sudo nano /etc/rc.local

Add the following command below the comment, but leave the line exit 0 at the end, then save the file and exit

motion -c /home/pi/pigeon/pigeon.conf

To finalize, make sure you are using the right timezone, so the camera clips date will make sense to you.

sudo raspi-config
Select: Internationalisation Options

Issues

If you are getting the "Unable to open video device" grey screen, you can try:

Run the command: sudo modprobe bcm2835-v4l2 More info

OR

Install Motion again directly from the repository:

wget https://github.com/Motion-Project/motion/releases/download/release-4.0.1/pi_jessie_motion_4.0.1-1_armhf.deb dpkg -i pi_jessie_motion_4.0.1-1_armhf.deb

Current stage

This project is early stage and I'm looking for contributors. You can edit the pigeon.conf file to change default configurations and make it more suitable for your needs.

Movement detected by the first assembled Pigeon (a squirrel)

Squirrer

This project uses code from the following repositories:

License

Pigeon is distributed under the GNU GENERAL PUBLIC LICENSE (GPL) version 2 or later

Follow me on Twitter

pigeon's People

Contributors

geraldoramos avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

pigeon's Issues

Feature Request

Any thoughts on an outdoor waterproof case? Maybe adding a groove for a n"O" ring & closing up the ports.

Any way to do a fisheye lens or kits for that out there?

I really like having a security cam that I have root on!!!

Question about resolution

I'm having trouble setting the resolution above the default 640x480. Is it even possible or am I missing something?

Use systemd instead of rc.local for autostarting on boot

systemd is the advised way to run background/startup services since Debian Jessie.
Just started setting up this project, made it through the README, but a systemd unit for this project should be as simple as:

[Unit]
Description=Pigeon
After=network.target

[Service]
ExecStart=motion -c /home/pi/pigeon/pigeon.conf
Restart=on-abort

[Install]
WantedBy=multi-user.target

drive Usage

I am having an issue that causes all the SD card space to fill up on long records. Only fix I can find is to manually delete everything in the /home/pi/pigeon/motion_files directory.

Any way this can be an automated process?

bcm2835-v412 error on install, can't install package following it

In a recent redeploy of pigeon onto my pi I got the following error on install:

modprobe: ERROR: ../libkmod/libkmod.c:586 kmod_search_moddep() could not open moddep file '/lib/modules/4.9.41+/modules.dep.bin' modprobe: FATAL: Module bcm2835-v4l2 not found in directory /lib/modules/4.9.41+ Installation completed and service started

The HTTP server refuses connection (I've verified the port is open). No images are being taken and stored on DB.

When I went to install the module
wget https://github.com/Motion-Project/motion/releases/download/release-4.0.1/pi_jessie_motion_4.0.1-1_armhf.deb dpkg -i pi_jessie_motion_4.0.1-1_armhf.deb

it also is unsuccessful, spits out a bunch of characters. One thing it does seem to try to do is connect to a unreachable domain:

--2017-11-07 00:19:43--  (try: 2)  http://2.0/
Connecting to 2.0 (2.0)|2.0.0.0|:80... 

With Raspbian Jessie, video only captures after upgrading Motion to 4.0.1

With the version of Motion you have built in (3.x?) I kept getting the "Unable to open video device" grey screen on the live view (and nothing recorded to Dropbox). I ended up resolving this by upgrading Motion to 4.0.1 with the following:

wget https://github.com/Motion-Project/motion/releases/download/release-4.0.1/pi_jessie_motion_4.0.1-1_armhf.deb dpkg -i pi_jessie_motion_4.0.1-1_armhf.deb

I assume this is due to Jessie, I saw a few similar posts with others having Motion issues as I was searching around which led me to try upgrading. I was able to repro after reinstalling Jessie, but I didnt try and install other versions of Raspbian.

HTH,
Erik
http://freelearner.how

pi zero slow/overheating

This package works great on pi3, but on my zero it gets very hot and only shoots maybe one picture per minute. I followed the installation exactly, is there anything that can be done to improve this?

Trying to install, but Dependency is not satisfiable

Running into this when trying to run ./pigeon_install.sh

Dependency is not satisfiable: libavcodec56 (>= 6:11~beta1)|libavcodec-extra-56 (>= 6:11.7)

Any ideas why it's not able to build or pass? Running latest rasperian

Dropbox module runs first and deletes the output files, so no other modules can use them.

I'm working on adding a module to do push alerts to my phone via pushover.net. I've currently got it working great, sending the JPG that was captured as an attachment -- so any time the camera catches something, my phone dings, and there's the photo. The problem is that the dropbox module deletes the images as soon as it's done uploading them, so they're gone by the time my module runs. I've been unable to change the order that the modules run in. I've tried changing the order they're listed in modules_enabled.conf but that had no effect. I ultimately just commented out the rm from the dropbox module so the files would stay local on the pi, but that's a short term solution. Do you know of any mechanism to adjust the order that the modules run in?

Need -awb greyworld for NoIR PiCam...

Hey,

I am new to Pi and linux in general. Firstly, THANK YOU FOR THIS PACKAGE! I've bricked my zero three times trying to get this funcitonality.

Now my question: **Where can i add the -awb greyworld option into the pigeon.conf? **
I am not sure on the exact syntax for adding this to the camera config.
This is what I have tried:

151 # Camera control parameters (see raspivid/raspistill tool documentation)
152 # Default: Not defined
153 ; mmalcam_control_params -hf; -awb greyworld

Also, this is my first github post of my short programming career. Thanks ahead of time!

Possible to swap dropbox for SFTP

Your dropbox is full.
Your dropbox is full.
Your dropbox is full.
Your dropbox is full.

Constant messages from the activity that's happening in these parts. I'd rather not pay for dropbox when there are cool projects like nextcloud.com available.

Would you consider supporting a different option for storing photos? Nextcloud or sFTP?

Feature Request - automatically delete Dropbox files older than X days

Hey Geraldo-

It would be really helpful to have a simple config parameter (and associated script) to automatically delete files off Dropbox after X days so we don't run out of storage space.

I've been trying to figure this out for the last half hour, and am thinking I could do this through a script in on_movie_end.sh - but my bash scripting skills are pretty weak and I haven't figured it out yet :)

Erik
https://www.freelearner.how

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.