ESP32 (BLE +WIFI) OV2640 CAM 개발보드의 사용법을 알아보고 WIFI 웹서버 스트리밍을 해보고
카메라로 사진을 촬영해서 마이크로 SD카드 메모리에 저장해 보는 프로젝트입니다
ESP32 (BLE + WIFI) 기반의 개발보드로 OV2640 카메라를 장착해서 WIFI 웹서버 스트리밍을 할 수 있으며
마이크로 SD카드 슬롯이 장착되어 있어 이미지 촬영 후 SD카드에 저장을 할 수 있습니다
CH340 통신 보드가 포함 되어 있으므로 업로드 및 통신하는데 별도로 UART 모듈이나 TTL 모듈이 필요없습니다
카메라 촬영시 플래시 효과를 낼수 있는 LED가 장착되어 있습니다
Espressif
ESP 32 Forum WebPage
<ESP32 (BLE + WIFI) OV2640 CAM 개발보드 이미지>
<ESP32 (BLE + WIFI) OV2640 CAM 개발보드 상세사양>
사용된 부품
ESP32 (BLE + WIFI) OV2640 CAM 개발보드
초기세팅 방법
ESP32 (BLE + WiFi) OV2640 CAM 개발보드에 포함된 통신모듈은 CH340 SERIAL DRIVER 를 사용하기 때문에
일단 장치인식을 위해서 드라이버를 설치해 줍니다
자신의 OS에 맞는 드라이버를 다운로드 받아서 설치해 줍니다
(윈도우용을 첨부하였습니다 CH340 설치를 했는데 장치관리자에 인식이 안된다면 CH341 드라이버를 설치해 보세요)
CH341SER.ZIP
드라이버 설치가 끝나고 보드를 마이크로 USB케이블로 연결하면 PC의 장치관리자에 CH340 로 COM포트가 확인됩니다
기본적으로 아두이노 통합 개발환경 아두이노 IDE 를 설치해야 합니다 (Arduino.cc 의 IDE 를 설치합니다
Arduino.org 의 IDE 와는 호환 되지 않습니다)
https://www.arduino.cc/en/Main/Software
github 에서 esp32 라이브러리와 툴을 다운 받습니다
https://github.com/espressif/arduino-esp32
arduino-esp32-master.zip 파일을 압축 해제한 다음 폴더명을 편의상 esp32 로 변경해 줍니다
C:\Program Files (x86)\Arduino\hardware 이 경로에 hardware 폴더안에 espressif 폴더를 새로 만들어 줍니다
C:\Program Files (x86)\Arduino\hardware\espressif 이렇게 경로가 되고 espressif 폴더안에 esp32 폴더를 넣어주면 됩니다
그리고 마지막으로 C:\Program Files (x86)\Arduino\hardware\espressif\esp32\tools 경로의
tools 폴더안에 get.exe 를 관리자 권한으로 실행시켜 주면 됩니다
위와 같은 창이 뜨는데 모든 설치가 정상적으로 끝나면 창이 자동으로 닫히니 정상적으로 설치가 종료 될 때까지 기다립니다
윈도우 10은 경로가 틀릴수 있는데 윈도우10 은 C:\Users\Administrator\Documents\Arduino\hardware 경로로 설치하면 됩니다
*아두이노 IDE 최신 버전을 설치하였거나 위 과정이 번거롭다면*
아래 이미지 처럼 아두이노 IDE 도구 메뉴에서 보드 매니저를 클릭후 ESP32로 검색후
esp32 by Espressif Systems 를 설치해 주면 됩니다
버전은 2.0.9 버전으로 설치 하고 테스트 후 출고 하고 있기 때문에 2.0.9 버전을 권장합니다
Arduino IDE 를 실행한 다음 툴 메뉴를 확인해 보면 ESP32 패밀리가 추가된 것을 확인할 수 있습니다
ESP32 커뮤니티 및 라이브러리 설치 후 프로페서는 ESP32 Wrover Module 로 세팅합니다
Partition Scheme: Huge APP (3MB No OTA/1MB SPIFFS) 로 세팅합니다
물론 사전에 CH340 드라이버 정상적으로 설치되어 포트가 확인 되어야 합니다
사용된 예제파일
테스트 방법
먼저 WIFI 웹서버로 스트리밍을 해보는 방법입니다
ESP32 커뮤니티 및 라이브러리가 정상적으로 설치되었으면 아두이노 IDE 실행후
파일--->예제--->ESP32--->Camera--->CameraWebServer 순으로 클릭해서 예제를 불러 옵니다
#include "esp_camera.h"
#include <WiFi.h>
위와 같은 라이브러리를 사용합니다
// Select camera model
#define CAMERA_MODEL_WROVER_KIT // Has PSRAM
//#define CAMERA_MODEL_ESP_EYE // Has PSRAM
//#define CAMERA_MODEL_M5STACK_PSRAM // Has PSRAM
//#define CAMERA_MODEL_M5STACK_V2_PSRAM // M5Camera version B Has PSRAM
//#define CAMERA_MODEL_M5STACK_WIDE // Has PSRAM
//#define CAMERA_MODEL_M5STACK_ESP32CAM // No PSRAM
//#define CAMERA_MODEL_AI_THINKER // Has PSRAM
//#define CAMERA_MODEL_TTGO_T_JOURNAL // No PSRAM
ESP32 모듈 버전에 따라 모델이 틀린데 컴파일 에러나 카메라 모듈 인식이 안되는 경우 모델을 확인 후
WROVER_KIT 이 부분을 AI_THINKER 로 변경해 줍니다
만약 AI_THINKER 로 변경후 WIFI.h 라이브러리 중복 발견 컴파일 에러 메세지가 나오는 경우
내컴퓨터 C:드라이브--> Program file (x86) --> Arduino --> Library --> Wifi 폴더 (백업 후 삭제)
로 컴파일 에러를 해결합니다
const char* ssid = "*********";
const char* password = "*********";
연결 된 자신의 WIFI 아이디와 비밀번호를 입력해 줍니다
void setup() {
Serial.begin(115200);
Serial.setDebugOutput(true);
Serial.println();
수정후 예제를 업로드 한 다음 아두이노 IDE 시리얼 모니터를 실행합니다 (이때 보드레이트는 115200 으로 세팅합니다)
ESP32 OV2640 CAM 개발보드가 연결 된 IP 주소 192.168.0.11 를 확인할 수 있습니다
인터넷 웹 브라우저를 열고 주소창에 연결 된 IP 주소 192.168.0.11 를 입력 합니다
웹 브라우저로 밝기 해상도등 여러가지 세팅을 수정하면서 스트리밍을 해볼 수 있습니다
두번째 OV2640 카메라로 사진 촬영후 SD카드 메모리에 저장해 보는 방법입니다
포스팅 위쪽에 있는 "ESP32 OV2640 CAM_SD 테스트" 예제코드를 다운로드해서 업로드 해 줍니다
#include "esp_camera.h"
#include "Arduino.h"
#include "FS.h" // SD Card ESP32
#include "SD_MMC.h" // SD Card ESP32
#include "soc/soc.h" // Disable brownour problems
#include "soc/rtc_cntl_reg.h" // Disable brownour problems
#include "driver/rtc_io.h"
#include <EEPROM.h> // read and write from flash memory
위와 같은 라이브러리를 사용합니다 (ESP32 커뮤니티를 설치하면 기본적으로 설치되어 있습니다)
Serial.begin(115200);
//Serial.setDebugOutput(true);
//Serial.println();
예제 업로드 후 시리얼 모니터를 실행합니다 (이때 보드레이트는 115200 으로 세팅합니다)
ESP32 보드나 통신모듈의 RST 버튼을 눌러주면 잠시 후 카메라로 이미지 촬영을 시작합니다
시리얼 모니터로 SD카드 메모리에 저장된 이미지 파일의 파일명을 확인 할 수 있습니다
SD카드를 SD카드 리더등을 사용해서 컴퓨터나 노트북등에 연결해서 저장 된 이미지 파일을 확인하면 됩니다
프로젝트 동영상 (ESP32 (BLE + WIFI) OV2640 CAM 보드를 사용해서 웹서버에 영상 스트리밍 해 보기)
프로젝트 동영상 (ESP32 (BLE + WIFI) OV2640 CAM 보드를 사용해서 사진 활영후 SD카드에 저장해 보기)
SP32 (BLE +WIFI) OV2640 CAM 개발보드의 사용법을 알아보고 WIFI 웹서버 스트리밍을 해보고
카메라로 사진을 촬영해서 마이크로 SD카드 메모리에 저장해 보는 방법을 알아 보았습니다
본 포스팅에서 사용한 CH340 통신모듈이 없다면 가지고 있는 UART 모듈이나 TTL 모듈을 사용해서
아래 포스팅을 참조해서 테스트 할수 있습니다 (물론 로직전압이나 전원이 불안정해서 업로드나 통신이 잘 안되는 경우가 빈번히 발생할 수 있으므로 초보자는 본 포스팅 처럼 CH340 통신모듈을 같이 구매하는것을 권장합니다)
https://randomnerdtutorials.com/esp32-cam-video-streaming-web-server-camera-home-assistant/
댓글