esp32_udp_car_and_cam
esp32_udp_car_and_cam
0
Project description
https://github.com/thakdanaiza/esp32_udp_car_and_cam/tree/8829230e4a4f7e7abd2dc1860b9d362c1f2d255b

๐ Overview
์ด ํ๋ก์ ํธ๋ ESP32 ๊ธฐ๋ฐ RC Car ํ๋ซํผ์ผ๋ก, PC์์ UDP/TCP ๊ธฐ๋ฐ์ผ๋ก ์ฐจ๋์ ์ ์ดํ๊ณ , ESP32-CAM์ ํตํด ์ค์๊ฐ ์์์ ํ์ธํ๋ ๊ตฌ์กฐ์ ๋๋ค. ๊ณต๊ฐ README ๊ธฐ์ค์ผ๋ก ํต์ฌ ๊ตฌ์ฑ์ WiFi ๊ธฐ๋ฐ RC ์ ์ด, IMUยท์์ฝ๋ ํ ๋ ๋ฉํธ๋ฆฌ, ์ค์๊ฐ ์นด๋ฉ๋ผ ์คํธ๋ฆฌ๋ฐ์ ๋๋ค.
๋ค๋ง ์ค์ํ ์ ์, ์์ ํ๋ก์ ํธ์ ๊ธฐ๋ณธ RC Car ๊ตฌ์กฐ๋ WiFi ๊ธฐ๋ฐ์ด๋ฉฐ, WIZnet W5500์ด ์ค์ ์ฐจ๋ ์ ์ด๋ถ์ ์ฌ์ฉ๋์๋ค๋ ์ฆ๊ฑฐ๋ ํ์ฌ ๊ณต๊ฐ ์๋ฃ ๊ธฐ์ค์ผ๋ก ํ์ธ๋์ง ์์ต๋๋ค.
WIZnet ๊ด๋ จ์ฑ์ ๋งํฌ 3์ ESP32-CAM_MJPEG2SD ํฌํจ ์ฝ๋์์ ํ์ธ๋ฉ๋๋ค. ํด๋น ๋ชจ๋์ Waveshare ESP32-S3-ETH ๋ฐ ์ธ์ฅ W5500 Ethernet ์ปจํธ๋กค๋ฌ ํ ์ ์์ Ethernet ์ ํ ๊ธฐ๋ฅ์ ํฌํจํ๊ณ ์์ต๋๋ค.
๐ Features
UDP ๊ธฐ๋ฐ RC Car ์ ์ด
PC์ py_udp.py๊ฐ ์ฐจ๋ ESP32์ UDP 5005/5006 ํฌํธ๋ก ์ ์ดยทํ
๋ ๋ฉํธ๋ฆฌ๋ฅผ ์ฃผ๊ณ ๋ฐ๋ ๊ตฌ์กฐ์
๋๋ค.
IMU ๋ฐ ์์ฝ๋ ํ
๋ ๋ฉํธ๋ฆฌ
MPU6050 IMU์ AS5600 ์๊ธฐ์ ์์ฝ๋๋ฅผ ์ฌ์ฉํด ๊ฐ์๋, ์์ด๋ก, ๊ฐ๋, ํ์ ์๋ ๋ฐ์ดํฐ๋ฅผ ์์งํฉ๋๋ค.
ESP32-CAM ๊ธฐ๋ฐ ์์ ์คํธ๋ฆฌ๋ฐ
README ๊ธฐ์ค ์นด๋ฉ๋ผ ์คํธ๋ฆผ์ ESP32-CAM์์ TCP 8080์ผ๋ก JPEG ํ๋ ์์ ์ ์กํ๊ณ , PC์ OpenCV ๋ทฐ์ด๊ฐ ์ด๋ฅผ ํ์ํฉ๋๋ค.
W5500 Ethernet ํ์ฅ ๊ฐ๋ฅ์ฑ
ํฌํจ๋ ESP32-CAM_MJPEG2SD๋ WiFi ๋์ Ethernet์ ์ ํํ ์ ์์ผ๋ฉฐ, Waveshare ESP32-S3-ETH์ W5500 ํ ์ ์๋ฅผ ํฌํจํฉ๋๋ค.
๐ System Architecture
[PC Controller]
โโ py_udp.py / Moza wheel HID
โโ UDP control : 5005
โโ UDP telemetry : 5006
โ WiFi
[ESP32 RC Car]
โโ Servo steering
โโ ESC motor drive
โโ MPU6050 IMU
โโ AS5600 encoder
[ESP32-CAM]
โโ TCP 8080 JPEG stream
โ
[cam_viewer.py / OpenCV]ESP32-CAM_MJPEG2SD๋ฅผ ์ ์ฉํ๋ฉด ๋ค์๊ณผ ๊ฐ์ ํ์ฅ ๊ตฌ์กฐ๊ฐ ๊ฐ๋ฅํฉ๋๋ค.[ESP32-S3 + Camera]
โ SPI
[WIZnet W5500 Ethernet Controller]
โ Ethernet
[Browser / NVR / PC Viewer]๐ Role and Application of the WIZnet's Chip
์ฌ์ฉ๋ WIZnet ์นฉ : W5500
W5500์ ์ญํ ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- WiFi ๋์ ์ ์ Ethernet ์ ๊ณต
- HTTP / RTSP / MJPEG ์คํธ๋ฆฌ๋ฐ์ ๋คํธ์ํฌ ์ธํฐํ์ด์ค
- ์นด๋ฉ๋ผ ์์ ์ ์ก ์์ ์ฑ ๊ฐ์
- ์ฐ์ ํ๊ฒฝ์์ ํจํท ์์ค๊ณผ ์ง์ฐ ๋ณ๋ ๊ฐ์
Waveshare ESP32-S3-ETH ๊ณต์ ๋ฌธ์์์๋ Ethernet ํ์ MISO GPIO12, MOSI GPIO11, SCLK GPIO13, CS GPIO14, RST GPIO9, INT GPIO10์ผ๋ก ์ ๋ฆฌ๋์ด ์์ผ๋ฉฐ, Ethernet ๊ธฐ๋ฐ ์นด๋ฉ๋ผ ์๋ฒ ๋ฐ๋ชจ๊ฐ ์ ๊ณต๋ฉ๋๋ค.
๐ Market & Application Value
์ด ํ๋ก์ ํธ์ ์์ฅ ๊ฐ์น๋ โ์ ๊ฐํ WiFi RC Carโ ์์ฒด๋ณด๋ค๋ โ์์ + ์ ์ด + ์ผ์ ํ ๋ ๋ฉํธ๋ฆฌ + Ethernet ํ์ฅโ ๊ตฌ์กฐ์ ์์ต๋๋ค.
์ ์ฉ ๊ฐ๋ฅ ์์ฅ
- ๊ต์ก์ฉ ๋ก๋ณดํฑ์ค ํคํธ
- FPV ์๊ฒฉ ์ฃผํ ํ๋ซํผ
- ์ํ ์ ๊ฒ ๋ก๋ด
- ์ค๋งํธ ํฉํ ๋ฆฌ ์ค์ต ์ฅ๋น
- ์ ๊ฐํ ๋คํธ์ํฌ ์นด๋ฉ๋ผ ๋ก๋ด
B2C ๊ด์ ์์๋ ๊ต์ก์ฉยท๋ฉ์ด์ปค์ฉ RC Car ํคํธ๋ก ์ ํฉํฉ๋๋ค.
B2B ๊ด์ ์์๋ WiFi ๊ธฐ๋ฐ ๊ทธ๋๋ก๋ ํ๊ณ๊ฐ ์์ผ๋, W5500 Ethernet ๊ธฐ๋ฐ์ผ๋ก ์ ํํ๋ฉด ๊ณต์ฅ, ์คํ์ค, PoE ์นด๋ฉ๋ผ, ์ ์ ์ ๊ฒ ์ฅ๋น๋ก ํ์ฅ ๊ฐ๋ฅํฉ๋๋ค.
๊ฒฝ์ ์ ํ ๋๋น ์ฅ์ ์ ์ ๋น์ฉ, ์คํ์์ค ๊ธฐ๋ฐ, ์ผ์ ํ์ฅ์ฑ์ ๋๋ค. ๋ฐ๋ฉด ๋จ์ ์ ์ ํ ์์ฑ๋, ์ธ์ฆ, ์ ์ ์์ ์ฑ, ๊ธฐ๊ตฌ ์ค๊ณ, ํต์ ๋ณด์์ด ์์ง ํ๋กํ ํ์ ์์ค์ด๋ผ๋ ์ ์ ๋๋ค.
๐ WIZnet Strategic Value
์ด UCC์ ์ ๋ต์ ๊ฐ์น๋ **โWiFi ๊ธฐ๋ฐ ๋ฉ์ด์ปค ๋ก๋ด ํ๋ก์ ํธ๋ฅผ WIZnet Ethernet ๊ธฐ๋ฐ์ผ๋ก ์ฐ์ ์ฉ ๊ตฌ์กฐ์ ๊ฐ๊น๊ฒ ์ ํํ ์ ์๋คโ**๋ ์ ์ ๋๋ค.
WIZnet Maker ๊ด์ ์์ ์ ๋ฌํ ์ ์๋ ๋ฉ์์ง๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- W5500์ ESP32-S3 ์นด๋ฉ๋ผ ๋ณด๋์ Ethernet ํ์ฅ์ ์ ํฉํฉ๋๋ค.
- ์์ ์คํธ๋ฆฌ๋ฐ, ์๊ฒฉ ์ ์ด, ์ผ์ ํ ๋ ๋ฉํธ๋ฆฌ ๋ถ์ผ์์ WiFi์ ํ๊ณ๋ฅผ ๋ณด์ํ ์ ์์ต๋๋ค.
- RC Car, FPV ๋ก๋ด, PoE ์นด๋ฉ๋ผ, ์ํ ์ ๊ฒ ๋ก๋ด ๋ฑ์ผ๋ก ํ์ฅ ๊ฐ๋ฅํฉ๋๋ค.
- ๋จ์ TCP ์๋ฒ ์์ ๋ฅผ ๋์ด ์ค์ ์์ง์ด๋ ์ฅ์น์ ์์ ๋ฐ์ดํฐ๋ฅผ ์ฐ๊ฒฐํ๋ ์ฌ๋ก๋ก ๋ฐ์ ๊ฐ๋ฅํฉ๋๋ค.
ํนํ ESP32-CAM_MJPEG2SD๊ฐ Ethernet ์ ํ, W5500 ํ ์ค์ , RTSP/HTTP/MJPEG ๊ธฐ๋ฅ์ ํฌํจํ๋ค๋ ์ ์ WIZnet ์นฉ์ ์ ์ฉ ๋ฒ์๋ฅผ ์นด๋ฉ๋ผยท๋ก๋ณดํฑ์คยท์๊ฒฉ ๋ชจ๋ํฐ๋ง์ผ๋ก ๋ํ๋ ๋ฐ ์๋ฏธ๊ฐ ์์ต๋๋ค.
๐ Summary
์ด UCC๋ ESP32 ๊ธฐ๋ฐ์ RC Car๋ฅผ ์ค์ฌ์ผ๋ก, ์๊ฒฉ ์ ์ด์ ์์ ์คํธ๋ฆฌ๋ฐ, ๊ทธ๋ฆฌ๊ณ ์ผ์ ๋ฐ์ดํฐ ์์ง ๊ธฐ๋ฅ์ ํ๋์ ์์คํ ์ผ๋ก ํตํฉํ IoT ๋ก๋ณดํฑ์ค ํ๋ก์ ํธ์ ๋๋ค. ์ฌ์ฉ์๋ PC์์ UDP ํต์ ์ ํตํด ์ฐจ๋์ ์ค์๊ฐ์ผ๋ก ์ ์ดํ๋ฉฐ, ๋์์ ESP32-CAM์ ํตํด ์ ์ก๋๋ ์์์ ํ์ธํ ์ ์์ต๋๋ค. ์ฌ๊ธฐ์ IMU(MPU6050)์ ์์ฝ๋(AS5600)๋ฅผ ํ์ฉํ ์ฃผํ ๋ฐ์ดํฐ๊น์ง ํจ๊ป ์์งยท์ ์กํจ์ผ๋ก์จ, ๋จ์ํ ์๊ฒฉ ์ ์ด๋ฅผ ๋์ด ์ํ ์ธ์ง์ ํผ๋๋ฐฑ์ด ๊ฐ๋ฅํ ๊ตฌ์กฐ๋ฅผ ๊ตฌํํ๊ณ ์์ต๋๋ค.
์ ์ฒด ์์คํ ์ Wi-Fi ๊ธฐ๋ฐ์ผ๋ก ๊ตฌ์ฑ๋ ๋น๊ต์ ๊ฒฝ๋์ ๋คํธ์ํฌ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง๋ฉฐ, UDP๋ฅผ ํ์ฉํด ์ ์ด ์ง์ฐ์ ์ต์ํํ๊ณ , TCP/HTTP ๊ธฐ๋ฐ์ผ๋ก ์์ ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌํ๋ ๋ฐฉ์์ผ๋ก ๋์ํฉ๋๋ค. ์ด๋ฌํ ๊ตฌ์กฐ๋ ๊ตฌํ ๋์ด๋๊ฐ ๋ฎ๊ณ ๋น ๋ฅธ ํ๋กํ ํ์ดํ์ด ๊ฐ๋ฅํ๋ค๋ ์ฅ์ ์ด ์์ง๋ง, ๋คํธ์ํฌ ์์ ์ฑ๊ณผ ์ง์ฐ ์์ธก ์ธก๋ฉด์์๋ ํ๊ณ๋ฅผ ๊ฐ์ง ์ ์์ต๋๋ค.
ํํธ, ํ๋ก์ ํธ์ ํฌํจ๋ ESP32-CAM_MJPEG2SD ์ฝ๋๋ฅผ ํตํด Waveshare ESP32-S3-ETH ๋ณด๋์ WIZnet W5500 Ethernet ์ปจํธ๋กค๋ฌ๋ฅผ ํ์ฉํ ์ ์๋ ํ์ฅ ๊ฐ๋ฅ์ฑ์ด ํ์ธ๋ฉ๋๋ค. ์ด๋ ๊ธฐ์กด Wi-Fi ๊ธฐ๋ฐ ๊ตฌ์กฐ๋ฅผ ์ ์ Ethernet์ผ๋ก ์ ํํ์ฌ ๋ณด๋ค ์์ ์ ์ธ ํต์ ํ๊ฒฝ์ ๊ตฌ์ถํ ์ ์์์ ์๋ฏธํฉ๋๋ค.
๐ FAQ
Q1. ์ด ํ๋ก์ ํธ์์ W5500์ด ์ค์ ๋ก ์ฌ์ฉ๋์๋์?
์์ RC Car ํ๋ก์ ํธ์ ๊ธฐ๋ณธ ๊ตฌ์กฐ์์๋ W5500 ์ฌ์ฉ์ด ํ์ธ๋์ง ์์ต๋๋ค. ๋ค๋ง ํฌํจ๋ ESP32-CAM_MJPEG2SD ์ฝ๋์๋ Waveshare ESP32-S3-ETH์ W5500 Ethernet ์ง์์ด ํฌํจ๋์ด ์์ต๋๋ค.
Q2. Waveshare ESP32-S3-ETH๊ฐ ์ด ํ๋ก์ ํธ์ ํฌํจ๋์ด ์๋์?
๋งํฌ 3์ ์นด๋ฉ๋ผ ๋ชจ๋ ์ฝ๋์์ CAMERA_MODEL_Waveshare_ESP32_S3_ETH ์ง์์ด ํ์ธ๋ฉ๋๋ค. ๊ทธ๋ฌ๋ ์ค์ ์ ์์๊ฐ ํด๋น ๋ณด๋๋ฅผ ์ฌ์ฉํด ์์ฑํ์ ๊ตฌ๋ํ๋ค๋ ์ฆ๊ฑฐ๋ ํ์ฌ ๊ณต๊ฐ ์๋ฃ ๊ธฐ์ค์ผ๋ก ํ์ธ๋์ง ์์ต๋๋ค.
Q3. W5500์ ์ ์ฉํ๋ฉด ๋ฌด์์ด ์ข์์ง๋์?
์นด๋ฉ๋ผ ์คํธ๋ฆฌ๋ฐ๊ณผ ์๊ฒฉ ์ ์ด์์ WiFi๋ณด๋ค ์์ ์ ์ธ ์ ์ ์ฐ๊ฒฐ์ ์ ๊ณตํ ์ ์์ต๋๋ค. ํนํ ๊ณต์ฅ, ์คํ์ค, ์ฅ์๊ฐ ๊ตฌ๋ ํ๊ฒฝ์์๋ ์ง์ฐ ๋ณ๋๊ณผ ์ฐ๊ฒฐ ๋๊น์ ์ค์ด๋ ๋ฐ ์ ๋ฆฌํฉ๋๋ค.
Q4. ์ด UCC์ ํต์ฌ ์ ๊ท์ฑ์ ๋ฌด์์ธ๊ฐ์?
๋จ์ RC Car๊ฐ ์๋๋ผ UDP ์ ์ด, IMUยท์์ฝ๋ ํ
๋ ๋ฉํธ๋ฆฌ, ESP32-CAM ์์ ์คํธ๋ฆฌ๋ฐ์ ๊ฒฐํฉํ๋ค๋ ์ ์
๋๋ค. ์ฌ๊ธฐ์ W5500 Ethernet์ ์ ์ฉํ๋ฉด ๋ฉ์ด์ปค ํ๋ก์ ํธ์์ ์ฐ์
ํ ๋คํธ์ํฌ ๋ก๋ด ๊ตฌ์กฐ๋ก ํ์ฅ๋ ์ ์์ต๋๋ค.
Q5. ๋ฐ๋ก ์ ํํ ๊ฐ๋ฅํ ์์ค์ธ๊ฐ์?
ํ์ฌ๋ ํ๋กํ ํ์
์ ๊ฐ๊น์ต๋๋ค. ์์ฐ์ ์ํด์๋ ๋ณด๋ ๊ณ ์ ์ค๊ณ, ์ ์ ์์ ํ, ํต์ ๋ณด์, ๊ธฐ๊ตฌ ์ค๊ณ, ์ธ์ฆ ๋์, ํ์จ์ด ์์ธ ์ฒ๋ฆฌ ๋ณด๊ฐ์ด ํ์ํฉ๋๋ค.