ESP32-CAM is a low power consuming and low latency video streaming module, it also provides GPIOs and serial communication, but it seems not strong enough to run some heavy computer vision tasks in real time. In the other hand, the smart phone hardware development has a rocket improvement recently, it lets the smartphone is cheaper but has more power in computing.
Therefore, I though about the combination of a smart phone and ESP32-CAM module and made a simple robot which controlled by the ESP module and streaming video to Android for computer vision processing such as object detection, object tracking, lane detection, then send control the robot to run autonomously in some condition such as lane tracking or object tracking.
Software
1. ESP32-CAM firmware: https://github.com/longpth/ESP32CamAI
2. Android app software: https://play.google.com/store/apps/details?id=com.p4f.esp32camai
FlowESP32-CAM and Android Phone connect to the same wifi network.
ESP32-CAM act as a UDP server listens on port 6868, Android Phone sends a broadcast message to address 255.255.255.255:6868 to acquire the address of the ESP32-CAM, then create a WebSocket connection to that address port 86.
After connection is established, ESP32-CAM will stream images to Android phone, then the image processing is done there.
Android phone can also control the ESP32-CAM GPIOs via UDP package.
No comments