Danny Griffin
About
Projects
Final Project
Final Project Progress
Week 00: Computer-Aided Design
Week 01: Computer-Controlled Cutting
Week 02: Embedded Programming
Week 03: 3D Scanning and Printing
Week 04: Electronics Design
Week 05: Electronics Production
Week 06: Molding and Casting
Week 07: Computer-Controlled Machining
Week 08: Input Devices
Week 09: Output Devices
Week 10: Networking and Communications
Week 11: Interface and Application Programming
Week 10 :: Networking and Communications
How can we process remote video footage?
1. Design, build, and connect wired or wireless node(s) with network or bus addresses and a local interface
To begin, I located an example file in the Arduino IDE to create a camera web server to interface with the ESP32-CAM AI THINKER.
ESP-32CAM pictured here. When I first acquired the camera module, I didn't realize that there's no USB communication built into the board. A secondary FDTI programmer is required to upload code to the camera.
First, you need to gently open the port to connect the camera module.
The camera module to be connected to the board.
I first tried using a breadboard to connect the camera to the FTDI programmer.
Even when I was able to upload my program, I was seeing weird characters in the serial monitor.
I first tried replacing all wires and components, but the weird characters persisted.
My third attempt was to use female pin connectors to attach more directly to the board. Note in this image that the white wire is temporary, because GPIO0 needs to be grounded to bootload the program.
Through these trials, I managed to make my connections much more secure. However, what actually fixed my issue was realizing that I had my Baud rate declared incorrectly. As soon as the values in my program and in my monitor matched, the weird characters disappeared.
Video established!
Testing the built-in face detection of the ESP32-CAM web interface.
Through the web interface, the resolution of the camera can be increased, with settings available for color correction and white balance as well.
To work with video from the camera, I installed the OpenCV library for Python.
I was having issues accessing the video stream of the camera directly.
Eventually, I had success accessing the stream as individual frame images. The next step will be to use OpenCV to process pixel thresholds of the image, and detect an RGB color.