How to program ESP32-CAM using Arduino UNO - 아두이노로 ESP32-CAM 프로그래밍 하기
Raspberry Pi & Arduino 2020. 3. 10. 20:04 |ESP32-CAM에는 프로그래머 칩이 없기 때문에 보통 USB to UART Converter를 이용해 프로그래밍 한다. 하지만 아두이노 보드가 있다면 Converter 없이 ESP32-CAM에 프로그래밍 할 수 있다.
2020/11/15 - [Raspberry Pi & Arduino] - NodeMCU(ESP-12E/ESP8266) LED Control Server Programming
USB to UART Converter
eBay에 주문 후 약 한 달 반이 걸려 도착한 ESP32-CAM. 카메라와 함께 작은 정전기방지 비닐에 포장되어 도착했다.
ESP32-CAM 보드
뒷면
Flat Flexible Cable에 8225N V2.0 171026라고 적힌 카메라
뒷면
누군지 기억도 안나는 사람의 명함과 함께 크기 비교
카메라를 연결 하기 위해 저 검은 latch를 들어 올려 열어야 한다.
이렇게.
카메라 케이블을 삽입하고 닫아 준다.
아두이노와 ESP32-CAM을 케이블로 연결한다. 내 가짜 아두이노... ㅠㅠ
Arduino 5V to ESP32-CAM 5V
Arduino GND to ESP32-CAM GND
Arduino RX to ESP32-CAM U0R
Arduino TX to ESP32-CAM U0T
Arduino RESET to Arduino GND
ESP32-CAM IO0 to ESP32-CAM GND
Arduino를 실행하고 File - Preferences 클릭.
Additional Boards Manager URLs에 아래 주소를 입력하고 OK클릭
https://dl.espressif.com/dl/package_esp32_index.json
Tools - Board: "Arduino Uno" - Boards Manager... 클릭
'esp32'를 검색하고 Install 클릭
Board Manager에서 esp32 설치가 완료 되면 위와 같이 설정을 바꿔준다.
Board: ESP32 Wrover Module"
Upload Speed: "115200"
Flash Frequency: "40MHz"
Flash Mode: "QIO"
Partition Scheme: "Huge APP (3MB No OTA/1MB SPIFFS)"
Core Debug Level: "None"
Port: "COM4"(아두이노가 연결된 포트)
Programmer: "AVR ISP"
File - Examples - ESP32 - Camera - CameraWebServer를 클릭 하면 카메라 웹 서버 코드가 로드 된다.
1 2 3 4 5 6 7 8 9 10 11 | // Select camera model #define CAMERA_MODEL_WROVER_KIT //#define CAMERA_MODEL_ESP_EYE //#define CAMERA_MODEL_M5STACK_PSRAM //#define CAMERA_MODEL_M5STACK_WIDE //#define CAMERA_MODEL_AI_THINKER #include "camera_pins.h" const char* ssid = "*********"; const char* password = "*********"; |
카메라 웹 서버 코드의 일부
1 2 3 4 5 6 7 8 9 10 11 | // Select camera model //#define CAMERA_MODEL_WROVER_KIT //#define CAMERA_MODEL_ESP_EYE //#define CAMERA_MODEL_M5STACK_PSRAM //#define CAMERA_MODEL_M5STACK_WIDE #define CAMERA_MODEL_AI_THINKER #include "camera_pins.h" const char* ssid = "my_ssid"; const char* password = "my_password"; |
대부분 AI_THINKER 카메라를 사용 하므로 #define CAMERA_MODEL_WROVER_KIT은 주석 처리하고 #define CAMERA_MODEL_AI_THINKER을 주석 해제 한다. ssid와 password 부분은 자신의 인터넷 ssid와 password에 맞게 수정한다.
소스를 컴파일하고 ESP32-CAM에 업로드 한다.
업로드가 완료 되면 ESP32-CAM IO0 와 ESP32-CAM GND를 연결한 케이블을 제거 한다.
Tools - Serial Monitor 클릭
Baud Rate을 115200으로 맞춘다.
ESP32-CAM 뒷면의 RST 버튼을 눌러 준다.
RST 버튼을 누르면 잠시 후 Serial Monitor 마지막 줄에 카메라 웹 서버의 주소가 표시 된다.
인터넷 브라우저로 카메라 웹 서버에 접속하면 위와 같은 화면이 나온다. Start Stream 버튼을 클릭 한다.
카메라에 찍히는 영상이 바로 스트리밍 된다. Resolution, Quality, Brightness, Contrast, H-Mirror, V-Flip, Face Detection등의 설정을 변경 할 수 있다.
Serial Monitor에는 스트리밍 상황이 표시 된다.
영상 스트리밍만 확인 하고 싶다면 아래와 같은 형식으로 접속 한다.
ESP32-CAM에 프로그램 업로드가 완료되면 5V 전원만 있어도 동작한다. 5V 배터리나 건전지를 사용해도 되고 USB 케이블에서 5V를 받아와도 된다. 컴퓨터 USB 케이블은 5V를 사용한다.
빨간색: 5V
검정색: GND
빨간색 선은 5V에 연결하고 검정색 선은 GND에 연결한다.
ESP32-CAM이 연결된 USB 케이블을 컴퓨터에 연결하면 잘 작동 한다.