CE432 2020 Fall
Tutorial 3
John Hitti

jdhitti@fortlewis.edu

Tutorial 3 - Video Sreaming Web Server and Robot Car

Introduction
In this tutorial we will be using the ESP32-CAM to stream a video feed on a webserver. This will then be used later in the tutorial when we join the ESP32-CAM with a robot car, using the ESP32-CAM to steer the car from a webserver with real time video feedback.

Task 1. Start and stop video streaming on a web server.

In this task we will use the ESP32 stream a video feed via a webserver. Using the example code we can use the camera on the ESP32 to capture and send video data.



Task 2. Video Streaming with sensor readings

In this task we will take the previous task further by adding readings from a BMP180 sensor to our streamed video feed. To connect the sensor, we will use the hardware connections as described in the below figure.

Once the connections have been made we can use our edited example code to stream a video feed with sensor readings. The original example code used the BPM280 and NOT the BMP180. This can be accounted for by editing the code to accept the different board. The connections are still the same. Once the code is running, we can see that the board also displays temperature, altitude, and pressure readings alongside the video stream.



Task 3. Remote controlled car robot with a camera

In this task we are building on our streamed video feed by allowing the ESP32 to control a car. The ESP32 will interface with a motor driver attached to a car and allow us to control it while viewing a video feed. We will build our car by following the guide here: https://www.youtube.com/watch?v=dZjbGpynQJA

Below are pictures of the finished robot car...





This video displays the operation of the car using the webserver controls and video feed which can be accessed when using the example code...
 

Task 4. Custom PCB
In this task we will use a new PCB designed by us in place of the prototyping PCB boards.

After soldering all the components on the new PCB we can attach it to the robot car.




Now we can verify that the PCB functions properly by testing the operation of the car.





Discussion

Overall the ESP32-CAM continues to be an extremely versatile microcontroller board with a wide range of functionality. When paired with the video feed and BPM180 sensor the board could be used to take a variety of measurements in different areas with visual data to accompany the readings. The ESP32-CAM is not restricted to one location as we have seen when it is combine with a small robot car to give it the ability to maneuver around and travel to a different location all wirelessly.