상세 컨텐츠

본문 제목

ESP32-CAM 사용해보기

embedded/ESP Module

by ZelKun 2022. 6. 26. 22:02

본문

반응형

ESP32-cam 제품을 써보려고 사놓고 까먹고 있다가..

MKR 1310 테스트하다 발견해서 이제서야 꺼내봤습니다..

출처 :  https://randomnerdtutorials.com/esp32-cam-video-streaming-face-recognition-arduino-ide/

가지고 있는 제품은  사진과 같이 usb포트가 없어 USB-TTL  사용해야

소스를 올릴수 있네요

 

출처 :  https://randomnerdtutorials.com/esp32-cam-video-streaming-face-recognition-arduino-ide/

GPIO0 - GND 연결은 소스 업로드를 위해 연결하는거라, 업로드 후에는 제거하면 됩니다

그리고 업로드 시작하면 RST 버튼을 눌러줘야 업로드가 됩니다

 


ESP32 Board 추가

추가적인 보드 매니저에 ESP32 추가를 위해 URL 추가해주고

https://dl.espressif.com/dl/package_esp32_index.json

보드추가 참고: 031. Arduino 아두이노 - 보드 추가하기(Adding Arduino Boards)

 예제를 불러옵니다


ESP32 CameraWebServer

예제에서 수정할 부분은

#define CAMERA_MODEL_WROVER_KIT // Has PSRAM  주석처리하고

#define CAMERA_MODEL_AI_THINKER // Has PSRAM  주석을 풀어 카메라를 바꾸고

WiFi 연결을 위해 SSID, PASSWORD 넣어줬습니다

변경할게 별로 없으니 바로 컴파일 해봅니다

 

제를 컴파일하니 에러가..

아두이노:1.8.12 (Mac OS X), 보드:"DOIT ESP32 DEVKIT V1, 80MHz, 921600, None"


"WiFi.h"를 위한 복수개의 라이브러리가 발견되었습니다
 사용됨: /Users/admin/Library/Arduino15/packages/esp32/hardware/esp32/1.0.6/libraries/WiFi
사용되지 않음: /Applications/Arduino.app/Contents/Java/libraries/WiFi
exec: "python": executable file not found in $PATH
보드 DOIT ESP32 DEVKIT V1 컴파일 에러.


이 리포트는 파일 -> 환경설정에 "컴파일중 자세한 출력보이기"
활성화하여 더 많은 정보를
보이게 할 수 있습니다.
 

2가지가 한번에.. 

라이브러리 중복은 보드를 바꿔보니 사라지긴 했는데...

파이썬에러... MacOS 업데이트를 했더니.. Python 없어졌네요...

python 다시 설치해줬는데 (python2, python3)

 

그래도 에러가 나서 찾아보니

터미널에서 아래 명령을 실행하면 에러가 없어진다고 하네요

python error

sed -i -e 's/=python /=python3 /g' ~/Library/Arduino15/packages/esp32/hardware/esp32/*/platform.txt

출처: https://stackoverflow.com/questions/71143707/exec-python-executable-file-not-found-in-path-on-arduino-ide

 

다시 컴파일을 했는데

Timed out for packet header 라고 에러메시지가 달라졌어요

아두이노:1.8.12 (Mac OS X), 보드:"AI Thinker ESP32-CAM, 240MHz (WiFi/BT), QIO, 80MHz"
스케치는 프로그램 저장 공간 2594374 바이트(82%)를 사용. 최대 3145728 바이트.
전역 변수는 동적 메모리 56256바이트(17%)를 사용, 271424바이트의 지역변수가 남음.  최대는 327680 바이트. 
esptool.py v3.0-dev
Serial port /dev/cu.usbserial-1420
Connecting........
Chip is ESP32-D0WDQ6 (revision 1)
Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None
WARNING: Detected crystal freq 41.01MHz is quite different to normalized freq 40MHz. Unsupported crystal in use?
Crystal is 40MHz
MAC: 24:62:ab:f2:ee:d4
Uploading stub...
Running stub...
Stub running...
Changing baud rate to 460800
Changed.
Configuring flash size...
A fatal error occurred: Timed out waiting for packet header
A fatal error occurred: Timed out waiting for packet header
이 리포트는 파일 -> 환경설정에 "컴파일중 자세한 출력보이기"
활성화하여 더 많은 정보를
보이게 할 수 있습니다.

좀더 찾아보니 보드를 다른걸 쓰는 예제도 있네요

보드를 바꿔봤습니다

 

컴파일 성공, 드디어 업로드가 되는데

 

아두이노:1.8.12 (Mac OS X), 보드:"DOIT ESP32 DEVKIT V1, 80MHz, 921600, None"
스케치는 프로그램 저장 공간 2530138 바이트(193%)를 사용. 최대 1310720 바이트.
전역 변수는 동적 메모리 55812바이트(17%)를 사용, 271868바이트의 지역변수가 남음.  최대는 327680 바이트. 
스케치가 너무 큼; 이것을 줄이기 위해 다음을 참고하세요. http://www.arduino.cc/en/Guide/Troubleshooting#size
text section exceeds available space in board
보드 DOIT ESP32 DEVKIT V1 컴파일 에러.
이 리포트는 파일 -> 환경설정에 "컴파일중 자세한 출력보이기"
활성화하여 더 많은 정보를
보이게 할 수 있습니다.

Partition Scheme 쪽은 용량관련 에러가 나서, 찾아보니 메모리 문제라고...

몇개 바꿔보니 컴파일오류가 사라졌어요 troubleshooting-guide 4번 항목입니다

 

업로드 완료

시리얼 모니터를 열면 접속한 IP주소를 확인할 수 있습니다

브라우저로 접속해줍니다


브라우저 접속

캡처한 화면은 캠이 켜있는데, 하단 Get Still(사진), Start Stream(실시간)

버튼을 눌러야 화면이 나오네요

Stream 이지만, 스크린샷이라 차이가 없네요

 

시리얼모니터를 보면 이미지 파일명이랑, 프레임 정보등이 나오는듯 해요

 

Stream을 켜고, http://192.168.0.42:81/stream 으로 접속하니 캠화면만 나오네요

이제 이걸 어디다 써야할지 고민해 봐야겠어요

 

 

참고

반응형

관련글 더보기

댓글 영역