

ESP32-CAM은 Wi-Fi와 Bluetooth 기능을 갖춘 소형 마이크로컨트롤러로, 거주 지역에 따라 약 $10에 구입할 수 있습니다. ESP32-CAM에는 OV2640 카메라 렌즈가 장착되어 있어 사진과 동영상 스트림을 Discord와 같은 웹 서버로 직접 전송할 수 있습니다.
일반적으로 ESP32-CAM에는 온보드 USB 커넥터가 없으므로 코드를 업로드하려면 외부 FTDI 프로그래머와 추가 배선이 필요합니다. 하지만 걱정하지 마세요. FTDI 프로그래머는 필요하지 않습니다. 이 프로젝트를 더 쉽게 진행할 수 있도록 제가 사용한 ESP32-CAM에는 micro USB 포트가 미리 설치되어 있었습니다.

구성품 부품 사양 수량 작동 전압 비용 (SGD)
Micro USB 포트가 있는 ESP32-CAM - ESP32-CAM (AI-Thinker) - Micro USB를 통한 5V - 20.00
카메라 모듈 - OV2640 카메라 센서 - 3.3V - 포함
3.0m Micro USB 케이블 - Micro-USB - 5V - $9.00

OV2640(렌즈) 카메라 리본 케이블을 연결하거나 분리하기 전에 micro USB 케이블을 뽑으세요. 전원이 켜진 상태에서 발생하는 정전기는 보드의 3.3V 수명을 영구적으로 단축할 수 있습니다.
ESP32 마이크로컨트롤러와 Wi-Fi는 높은 처리 부하를 발생시키며 사진 촬영 중 온도가 60°C를 넘을 수 있습니다. 작동 중에는 칩을 만지지 말고, 환기 없이 보드를 완전히 밀폐하지 마세요.
보드에 USB 어댑터가 내장되어 있으므로 이 프로젝트의 하드웨어 설정은 어렵지 않습니다.
1) 카메라 렌즈 연결: ESP32-CAM 보드의 리본 커넥터에 있는 검은색 클립을 조심스럽게 들어 올리고, OV2640 카메라 리본 케이블을 슬롯에 조심스럽게 삽입합니다(렌즈가 바깥쪽을 향하도록). 그런 다음 아래로 눌러 고정합니다.
2) 부품 결합: ESP-CAM-MB를 ESP32-CAM의 커넥터에 맞춰 조심스럽게 삽입합니다.
3) micro USB 케이블을 ESP32-CAM에 연결: micro USB 케이블을 ESP32-CAM에 연결합니다.
4) 노트북에 연결: micro USB 케이블을 노트북에 연결합니다(노트북 모델에 따라 어댑터가 필요할 수 있습니다). 빨간색 불이 켜져야 합니다.
안내 영상 YouTube 링크 https://youtube.com/shorts/uf7ePZpk-JU?feature=share

설정 단계:
1) Arduino IDE 다운로드: 컴퓨터에 Arduino IDE를 설치하고 실행합니다.
2) ESP32 Board Manager 링크 추가: File > Preferences로 이동한 다음 Espressif 보드 매니저 URL을 "Additional Boards Manager URLs" 필드에 붙여 넣습니다: https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json (Espressif URL)(MacBook을 사용하는 경우에는 약간 다릅니다. Arduino IDE > Settings로 이동하면 "Additional Boards Manager URLs"가 표시됩니다.)
3) ESP32 보드 패키지 설치: Tools > Board > Boards Manager로 이동하여 Espressif Systems의 esp32를 검색한 다음 Install을 클릭합니다. 이 단계가 성공했는지 확인하려면 Boards Manager 목록에서 "esp32 by Espressif Systems" 옆의 패키지 상태가 INSTALLED로 표시되는지 확인하세요.
4) 보드 선택: Tools > Board > esp32 > Select AI Thinker ESP32-CAM으로 이동합니다(표시하려면 아래로 스크롤해야 할 수 있습니다).
메모리: Tools > Partition Scheme > Select Huge APP (3MB No OTA)로 이동합니다. (이 설정은 이미지 처리를 위한 플래시 메모리를 확보하고 Wi-Fi 업로드 중 충돌을 방지합니다.)
포트 선택: Tools > Port로 이동하여 Windows에서는 COM3 또는 COM4와 같은 이름으로 표시되는 옵션을, Mac에서는 /dev/cu.usbserial-xxx를 선택합니다.
5) 보드 패키지를 설치한 후 사진을 스트리밍하는 코드를 업로드해야 합니다.
문제는 고해상도 JPEG를 한 번에 Wi-Fi로 전송하면 ESP32 RAM에 과부하가 걸린다는 것입니다. 이로 인해 마이크로컨트롤러가 충돌하거나 카메라 연결이 끊길 수 있습니다.
해결 방법은 코드에서 사용자 지정 for 루프가 사진의 전체 크기를 측정한 다음 1KB 크기의 작은 청크로 나누도록 하는 것입니다.
6) 코드 업로드 방법
micro-USB 케이블을 사용하여 ESP32-CAM을 노트북에 연결합니다.
Tools > Board 및 Tools > Port에서 AI Thinker ESP32-CAM과 포트를 선택합니다.
ESP32 코드를 다운로드하여 Arduino IDE 스케치 창에 붙여 넣습니다.
"YOUR_WIFI_NAME"과 "YOUR_WIFI_PASSWORD"를 실제 Wi-Fi 이름과 비밀번호로 바꿉니다.
소스 코드:

촬영한 사진을 확인하려면 ESP32-CAM이 Webhook URL 또는 Discord 채널을 사용하여 서버에 연결됩니다.
파트 A:
데스크톱에서 Discord를 엽니다.
서버 설정으로 이동하거나 사진을 전송할 텍스트 채널 옆의 Edit Channel(톱니바퀴 아이콘)을 클릭합니다.
왼쪽 메뉴에서 Integrations를 클릭합니다.
Webhooks를 클릭한 다음 New Webhook을 선택합니다.
봇 이름(ESP32-Camera)을 지정하고 채널을 선택합니다.
Copy Webhook URL을 클릭합니다.
파트 B: 코드에 Webhook 추가
Arduino IDE에서 코드를 엽니다.
상단 근처에서 webhook 변수 줄을 찾습니다: Stringwebhook="https://discord.com/api/webhooks/YOUR_WEBHOOK_URL_HERE;
Upload 버튼(Arduino 왼쪽 상단의 오른쪽 화살표 아이콘)을 클릭합니다.

Wi-Fi 상태 코드: 6
원인: 카메라가 연결하기에 충분한 전력을 공급받지 못하고 있거나 휴대폰이 카메라를 차단하고 있습니다.
해결 방법: USB 케이블을 노트북에서 뽑아 일반 벽면 콘센트 충전기에 연결하세요. 그런 다음 iPhone에서 설정 > 개인용 핫스팟으로 이동하여 호환성 최대화를 켜세요.
카메라 초기화 실패
원인: 카메라 렌즈 칩이 단단히 연결되지 않았거나 전원을 공급받지 못하고 있습니다.
해결 방법: 보드의 작은 검은색 걸쇠를 위로 젖히고, 리본 케이블을 슬롯에 평평하게 밀어 넣은 다음 걸쇠를 다시 눌러 닫으세요.

Discord에서는 이렇게 표시됩니다. 이제 사진을 즐겨 보세요! :) 감사합니다!
원문: https://www.instructables.com/How-to-Make-a-Workable-ESP32-Camera-That-Sends-Pho/