This is an old revision of the document!
Pet recognition and monitoring system
Overiew
Objective
The purpose of this project is to monitor specific behavior of your house pets. ESP32-CAM boards with cameras and motion detectors will be placed near areas of interest such as the pet feeder and will send a picture to a firebase server whenever the motion sensor is triggered. The server will use a ML model to recognize your specific pets and save specific data to a database, which can be used to track the pet's behavior.
Hardware
AI Thinker ESP32-CAM - based on the ESP-32S module that integrates WIFI and Bluetooth
OV2640 Camera - supports jpeg image output format
PIR HC-SR501 Sensor - motion sensor based on the Passive Infrared technology
FT232RL USB to Serial Converter - for programming the ESP32-CAM
Software and services
Firebase
Cloud functions - Used as a HTTP server
Realtime database - For saving timestamps regarding pet detection
Firebase Hosting - Simple Web interface for monitoring pet behavior and trying different ML models
Google Teachable Machine - Classifier generator from Google that outputs Tensorflow models
TensorflowJS - Tensorflow library for Javascript, will be used in the Cloud functions
Arduino IDE alongside the required libraries for ESP32, HTTP client, WiFi, Firebase client and video camera
Architecture
Shortly, the architecture has classic client-server structure, where the esp32-cam is the http client and firebase the server. The other software and harware components are built on top of these two.