Project Description
For this Hackweek, I want to focus on building a small application around Raspberry PI, motion-sensors and video capture.
It will use the motion sensor to trigger a clip recording (maybe a 10s clip) that will be uploaded to some kind of storage (probably Cloudinary).
Motivation:
I have many kinds of birds coming to my window for food and water. I wanted to have a way to be able to see them even when I'm not around and to be sure that I don't miss the fun :P
The initial idea was to build it around Node.js since JS is my primary programming language but this might be a good time to learn and use Python since it is meant to be used for this kind of things.
Goal for this Hackweek
Have a public repository with the application that can be used as a DIY starting point.
If the time allows:
- Create a public space to visualize the clips
- Use a pre-trained ML model to tag and categorize the birds species
Resources
All the code will be made available here https://github.com/en3sis/pi-watcher
Hardware:
- https://www.raspberrypi.org/products/raspberry-pi-3-model-b/
- https://www.elektor.com/hc-sr501-pir-motion-sensor-module
- Logitech 720p webcam
Looking for hackers with the skills:
This project is part of:
Hack Week 20
Activity
Comments
-
over 3 years ago by scuescu | Reply
Day 1 update
As for the first day, I prepared all the hardware (pi, motion-sensor) and start looking into how to get them to work together in Python. After a lot of work and tweaks, I managed to have the sensor triggering on movement and send the signal to the PI. The first part of the code (for the motion) is available at https://github.com/en3sis/pi-watcher
Day 2
For today I want to get the video recording part ready. For that, I'm looking into OpenCV (probably a little bit overkill but could work as a base for features :P )
-
over 3 years ago by scuescu | Reply
Day 3
Yesterday I finished the clip recording part, now a ~10s clip will trigger when motion is detected.
The plans for today are:
- Upload the clip to Cloudinary
- Improve the clip recording part
- Set a cooldown of X time after a recording starts.The latest code was uploaded to https://github.com/en3sis/pi-watcher
-
over 3 years ago by scuescu | Reply
Day 4
Yesterday I finished the uploading part and some other improvements plus, a static website where we can preview the uploaded clips. A first demo can be found at https://serverless-en3sis.vercel.app/ with our first Rock-Start
An issue I ran into is that the motion sensor won't trigger if the target is behind the window (it's an infrared motion-sensor, the more you learn... :P ). Since I already started to build the video recording part around OpenCV, I'm now looking into using Object Motion detection.
Plans for today:
- Have an Object Detection system with OpenCV
- If I'm done early, bring Pytorch and look for an ML model that can help me label the bird's species.
- Improve the preview application (?) -
over 3 years ago by scuescu | Reply
Day 5:
Yesterday I had to implement the motion-detection with OpenCV, I ran into some issues but after all, I could finish it and now I have a solid application (with a looooooot of room for improvements :P ).
To wrap it up, today I'll focus on the preview space and whatever time I have left for improvements. I have a long list of improvements that I want to take care of.
Some new clips can be found at https://serverless-en3sis.vercel.app/
Similar Projects
COOTWbot by ngetahun
Project Description
At SCC, we have a rotating task of COOTW (Commanding Office of the Week). This task involves responding to customer requests from jira and slack help channels, monitoring production systems and doing small chores. Usually, we have documentation to help the COOTW answer questions and quickly find fixes. Most of these are distributed across github, trello and SUSE Support documentation. The aim of this project is to explore the magic of LLMs and create a conversational bot.
Goal for this Hackweek
- Build data ingestion
Data source:
- SUSE KB docs
- scc github docs
- scc trello knowledge board
Test out new RAG architecture
https://gitlab.suse.de/ngetahun/cootwbot
OpenQA Golang api client by hilchev
Description
I would like to make a simple cli tool to communicate with the OpenQA API
Goals
- OpenQA has a ton of information that is hard to get via the UI. A tool like this would make my life easier :)
- Would potentially make it easier in the future to make UI changes without Perl.
- Improve my Golang skills
Resources
- https://go.dev/doc/
- https://openqa.opensuse.org/api