1. ESP32-CAM소개

 

ESP32-CAM 모듈은 ESPressif Systems라는 회사에서 개발하여 인기를 얻고 있는 ESP32 기본 모듈에 아예 카메라까지 내장하여 싸고 편리하게 활용할 수 있도록 판매되는 제품이다. 즉 아두이노보다 몇 배 빠른 프로세서 + WIFI와 블루투스 + Camera를 하나의 보드에 통합하고 여기에 SD카드슬롯까지 부착된 모듈이 기존 아두이노 모듈 하나의 가격과 비슷한 가격으로 판매되는 것이다. 이를 이용하면 아주 저렴하고 간단하게 CCTV녹화기, 동영상스트리밍장치, Remote CAR 동영상 송출장치 등을 개발할 수 있게 된다.

 

 

 

2. ESP32-CAM 사양과 PIN맵

 

 

위와 같은 구조로 주요 사양은 다음과 같다. 

 

  • The smallest 802.11b/g/n Wi-Fi BT SoC module
  • Low power 32-bit CPU,can also serve the application processor
  • Up to 160MHz clock speed, summary computing power up to 600 DMIPS
  • Built-in 520 KB SRAM, external 4MPSRAM
  • Supports UART/SPI/I2C/PWM/ADC/DAC
  • Support OV2640 and OV7670 cameras, built-in flash lamp
  • Support image WiFI upload
  • Support TF card
  • Supports multiple sleep modes
  • Embedded Lwip and FreeRTOS
  • Supports STA/AP/STA+AP operation mode
  • Support Smart Config/AirKiss technology
  • Support for serial port local and remote firmware upgrades (FOTA)

핀별 기능의 배치는 다음과 같다.

 

 

-GPIO 1번과 3번은 Serial 통신을 위해 사용한다.

-GPIO 0번은 프로그램을 업로드할 때와 작동되는 상태를 구분하여 제어하기 위해 사용한다.

-다음 핀들은 내부적으로 SD카드리더기에 연결되어 있으므로 카드리더기를 사용할 때에는 다른 용도로 사용하지 않는다.  

     -GPIO 2, GPIO 4, GPIO12 ~ GPIO15 

 

 

3. 프로그램 업로드를 위한 준비작업

 

ESP32-CAM모듈에는 다양한 기능들이 구현되어 있는데 한가지 불편한 점은 USB연결 포트가 별도로 없고 시리얼통신기능으로 프로그램을 업로드 해 주어야 한다는 것이다. 이를 위해 통상 FTDI프로그래머라고 부르는 USB to Serial 컨버터를 중간에 연결하여 작업하는 방법과 USB연결이 되는 아두이노를 통해 연결하는 방법이 있다.

 

  1) FTDI 컨버터를 이용해서 연결하는 방법

  

  - ESP32-CAM모듈의 GPIO 0번과 GND를 연결해 준다. ( 프로그램 업로드를 끝내고 작동모드로 실행시킬때에는 연결 해제) 

  - ESP32-CAM GND -> FTDI GND

  - ESP32-CAM UnR(RX) -> FTDI TX

  - ESP32-CAM UoT(TX) -> FTDI RX

  - ESP32-CAM UnR(5V) -> FTDI 5V

여기에서 주의해야 할점은 양측 5V단자 끼리 또는 양측 3.3V끼리 같은 Volt를 사용해아 한다는 것과 사용하는 FTDI 컨버터 모듈에 따라 별도의 드라이버를 설치해 주어야 하는 경우도 있다는 것이다.

 

  2) 아두이노를 이용해서 연결하는 방법

   - ESP32-CAM모듈의 GPIO 0번과 GND를 연결해 준다. ( 프로그램 업로드를 끝내고 작동모드로 실행시킬때에는 연결 해제)

  - ESP32-CAM GND -> 아두이노I GND

  - ESP32-CAM UnR(RX) -> 아두이노 RX

  - ESP32-CAM UoT(TX) -> 아두이노 TX

  - ESP32-CAM UnR(5V) -> 아두이노 5V

  - 아두이노 측의 RESET핀과 GND핀을 연결해 준다.

 

 

4. 개발환경 준비와 프로그래밍

 

  1) ESP32개발환경이 설치되어 있지 않은 경우 본 블로그 아래글을 참조하여 ESP32 개발환경을 먼저 설치한다 

 

ESP32 개발환경 설치

아두이노 IDE에서 ESP32관련 개발을 하려면 다음과 같이 ESP32 보드메니저를 추가해 주어야 한다. 1. 아두이노 IDE 업그레이드 1.6.x대의 아두이노 IDE 버전은 최신 버전의 ESP개발환경을 설치하는 과

makernambo.com

  2) ESP32 개발환경이 설치되었으면 툴 -> 보드에서 ESP32 Wrover Module을 선택한다.

 그리고 다음과 캍은 option을 선택한다.

  • Board: “ESP32 Wrover Module”
  • Flash Mode: “QIO”
  • Partition Scheme: “Hue APP (3MB No OTA/1MB SPIFFS)”
  • Flash Frequency: “40MHz”
  • Upload Speed: “115200”
  • Core Debug Level: “None”
  • 포트 : 중간장치를 PC에 연결했을 때 나타나는 포트번호를 선택

아두이노를 통해 연결했다면 다음 Option을 추가로 선택해 준다. 

  • Programmer: “AVR ISP”

 

  3) 파일 -> 예제 -> ESP32 -> Camera -> CameraWebServer 를 선택하여 샘플프로그램을 로드한다.

  4) 샘플프로그램을 작동 시키기 위해서는 다음과 같은 사항을 수정한다.

  - 10 번째 라인은 앞에 //를 삽입하여 주석처리하고 13번째 라인의 #define CAMERA_MODEL_AI_THNKER의 //주석을 지워준다

  - 15번째 라인에 본인이 접속하고자하는 WIFI 공유기의 SSID 명을 입력하고,16번째 라인에 해당 password를 입력해 준다.

 

 

5. 테스트

 

 1) 프로그램 업로드 

   아두이노 IDE에서 업로드버튼을 눌러 업로드를 실행하면 한동안(1분정도) writing작업이 실행되고 다음과 같은 메세지가 나오면 ESP32-CAM모듈의 GPIO 0 연결을 해제하고 RESET버튼을 누른다. 

 2) video 스트리밍 서버 IP주소 확인

아두이노 IDE에서 시리얼모니터를 기동시키고 ESP32-CAM의 RESET버튼을 누르면 잠시후 WIFI가 연결되고 video 스트리밍 서버역활을 하는 ESP32-CAM의 서버 IP주소가 표시된다.  

 

 

 

 3) video 스트리밍 서버 접속하기 

 

     크롬이나 MS Edge 웹브라우저를 기동시켜 주소창에서 위 IP주소를 입력하여 접속하면 video 스트리밍 서버의 내용이 표시된다. (MS Explorer은 영상이 표시되지 않는다)

-화면좌측 하단의 Get Still 버튼이나  Start Stream버튼을 클릭하면 화면에 카메라촬영내용이 표시되고, 여러 옵션들을 변경해 보면 즉시 내용이 수정되어 반영된다.

 

-화면해상도는 UXGA(1600x1200)까지 지원된다고 하나 출력되는 영상이 그리 선명하지는 않다. 그래도 CCTV용이나 RC로봇 제어용으로 사용하기에는 충분하다.

 

-좌측의 Setting화면 없이 순수하게 스트리밍되는 영상만을 보기 원할 때에는 서버주소:81/stream 과 같이 조소를 지정해 주면  영상만 출력된다.

 

-PC뿐만아니고 동일 공유기에 연결된 스마트폰에서도 동일하게 사용할 수  있다.

 

3) video 스트리밍 서버 사용 

- 위와 같은 과정을 거쳐 프로그램이 업로드된 ESP32-CAM 모듈은 5V전원과 GND를 연결하여 전원만 공급하면 video 스트리밍 서버로서 작동하게 된다. 

 

6. 주의사항

 

 카메라를 연결하는 커넥터는 버클 형태로 되어 있기 때문에 커넥터 검정색 부분을 위로 올리면서 꺽어 주어야 열린다 

 

* 구매좌표

 -해외직구 (가격은 싸지만 배송기간이 오래 걸림)  

 

US $4.21 43% OFF|ESP32 CAM ESP 32S WiFi Module ESP32 serial to WiFi ESP32 CAM Development Board 5V Bluetooth with OV2640 Camera

Smarter Shopping, Better Living! Aliexpress.com

www.aliexpress.com

 

-국내 쇼핑몰( 가격은 좀 비싸지만 즉시 구매 가능) 

 

 ESP32-CAM 모듈 :

 

ESP32 CAM OV2640 카메라 4M PSRAM 장착 보드 아두이노부품 esp32 DM2679

 

nefing.com

 

  FTDI프로그래머 컨버터 : 

 

전자부품 전문 쇼핑몰 메카솔루션입니다.

국내 최대 전자부품 쇼핑몰, 아두이노 키트, 라즈베리파이 등 당일발송, 예제 제공, 쇼핑 그 이상을 제공합니다.

mechasolution.com

 

+ Recent posts