Skip to content

hellcastter/esp32-move-detect

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

65 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ESP32: Detect movements Build status

This project is created for the Principles of Computer Organization course. The main idea is inspired by the war in Ukraine. Since the full-scale invasion, the kamikaze drones gained high popularity among both sides. Due to this, there is plenty of electronic warfare that disables the drones. Electronic warfare blocks signals from the operator, and the drone is lost without any information.

To prevent this, we had an idea to install an embedded board with a camera on a drone and develop a SoC that can detect movements, and direct the drone towards a specific goal. Currently, we use ESP32-CAM as a cheap development board. It has pretty low productivity but still can handle low-resolution video. In the future, with minor changes, more powerful boards can be used.

This project is dedicated to identifying moving targets with the help of ESP32-Cam. Full report you can find here.

Example with Cars

Team

Mentors:

  • Danylo Sahaidak
  • Bohdan Yavorivskiy

Members:

  • Dmytro Shumskyi
  • Yurii Sahaidak
  • Marta Samoilenko
  • Victor Muryn

Used components

  • Board: ESP32-CAM

You can use any other ESP32 and Camera Module which is supported with esp32-camera library. Also ESP32 should have a PSRAM. To use other module change pins in components/Camera.config.h. Some of modules are already supported in this file (ESP32-CAM, ESP-EYE).

Installation

Project uses esp32-camera library, so use this command to install library.

git clone --recursive [email protected]:hellcastter/esp32-move-detect.git

Also you need to install esp-idf of version 4.4. You can find instructions here.

Settings

Open components/Camera.config.h and change settings to your own. You could change wifi credentials in file components/WifiCredits.c. Also, you might find useful to change settings in components/Camera.h. More about camera settings you can find here.

Also, do not forget to turn on PSRAM in idf.py menuconfig. Go to Component config -> ESP32-specific -> Support for external, SPI-connected RAM and turn it on.

Upload

After that you are ready to go. Build and flash code to your board using interface of Esp-IDF in VS Code or use command line interface of idf.py in your terminal.

idf.py build
idf.py -p PORT flash
idf.py monitor

Usage

In you terminal you will find IP address of your board. Open it in your browser. If you see only black screen, try to change settings in components/Camera.config.h.

There are 7 urls you can go:

  • / - just video from the camera.

  • /simple - simple detection of movements

  • /simpleBox - simple detection of movements. Also draws a box around the detected object.

  • /average - average detection of movements (takes n frames and calculates average)

  • /averageBox - average detection of movements (takes n frames and calculates average). Also draws a box around the detected object.

  • /median - median detection of movements (takes n frames and calculates median)

  • /medianBox - median detection of movements (takes n frames and calculates median). Also draws a box around the detected object.

Examples

Example with people

Example with people 2

Example with hand

Additional information

Some more information you could find here and here.

About

Detect movements on ESP32 using camera

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published