Our stretch functionalities include:
- Alerting pet owner when food reserve gets low
- Accessing the web server from any network
- Keeping memory of schedule when microcontroller resets
- Including back-up batteries for the feeder
- PSDR #1 (Software): An ability to send data from the LAN web server hosted on the ESP32 to a web client over Wi-Fi and configure display of live video on the web page.
- PSDR #2 (Software): An ability to receive data from a web client to store and program feeding schedule on the ESP32.
- PSDR #3 (Hardware): An ability for the microcontroller to interface with a stepper motor using a motor driver to control dispensing of food.
- PSDR #4 (Hardware): An ability to regulate voltage and current using a switching regulator from variable 12-20V rectifier to the consistent 3.3V needed for the ESP32.
- PSDR #5 (Hardware): An ability to measure the amount of food in the food bowl using a load cell interfaced with an HX711 amplifier and ESP32 to be displayed on a web server.
- Stretch PSDR #1 (Hardware): An ability to interface an infrared distance sensor with the ESP32 using I2C to measure the amount of food in the food reserve.
- pcb_web_server_final/src/main.c
- camera/CameraWebServer/CameraWebServer.ino (programmed onto MCU)
- camera/CameraWebServer/app_http.cpp (web server back-end)
- camera/CameraWebServer/camera_index.h (web server front-end)
- camera/CameraWebServer/camera_pins.h (configurable pins)
We started with C/C++-based Arduino IDE to develop and prototype software/firmware and program the microcontroller.
We ported the program for the ESP32 on PCB to the PlatiformIO IDE using the ESP-IDF framework to decrease overhead from Arduino's framework.