PHASE A·B 상세 가이드 — 실제 자동차 검증 (펌웨어·연결·브링업)

대상: 검증_체크리스트의 PHASE A(단계3 폰 직접 조종)·PHASE B(STA 브링업).
환경: Windows 11 + AI-Thinker ESP32-CAM + FTDI 프로그래머.

⚠️ 모든 주행 첫 실행은 바퀴를 책 위에 올려 공중(벤치)에서, 손가락은 항상 정지키 위.

0. 사전 준비 (한 번만)

0-1. Arduino IDE 보드·라이브러리 설치

https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json

0-2. ESP32-CAM ↔ FTDI 배선 (업로드용)

FTDIESP32-CAM
5V5V
GNDGND
TXU0R (RX)
RXU0T (TX)
GNDIO0 (업로드할 때만 연결 = 플래시 모드)

FTDI 점퍼는 5V로. IO0–GND는 "업로드 시에만" 연결.

0-3. Arduino IDE 보드 설정

0-4. 업로드 절차 (공통)

  1. IO0–GND 연결(플래시 모드) → RST 버튼 한 번
  2. Arduino IDE 업로드(→) 클릭, "Connecting…" 뜨면 진행
  3. 업로드 완료 후 IO0–GND 분리 → RST 한 번 (정상 실행 모드)
  4. 시리얼 모니터 115200으로 부팅 로그 확인

PHASE A — AP 펌웨어 (단계3: 폰 직접 조종)

이 단계에서는 자동차 자체가 Wi-Fi(AP)를 만들고 폰이 거기에 접속합니다. 노트북 핫스팟은 끄세요.

A-1. 펌웨어 업로드

파일: esp32_cam/firmware_AP_phone/firmware_AP_phone.ino

0-4 절차로 업로드 → 시리얼에 다음 표시:

AP 활성 — SSID: Auto_Car_01
         보안: 개방형 (비밀번호 없음)
         AP IP: 192.168.4.1

A-2. 폰 접속

  1. 폰 Wi-Fi 설정 → Auto_Car_01 선택 (비번 없음, "인터넷 없음" 경고는 "그대로 연결")
  2. 폰 브라우저 → http://192.168.4.1
  3. 조종 페이지 + 영상이 뜨면 성공

A-3. 동작 확인 (벤치)

끝나면 PHASE B로 가기 위해 STA 펌웨어로 교체 (아래).

PHASE B — STA 펌웨어 (노트북 허브 브링업)

이제 노트북이 Wi-Fi(핫스팟)를 만들고, 자동차가 거기에 접속합니다. 이후 모든 파이썬 프로그램이 이 구조를 씁니다.

B-0. 노트북 모바일 핫스팟 켜기

B-1. STA 펌웨어 업로드

파일: esp32_cam/firmware_STA_python/firmware_STA_python.ino

0-4 절차로 업로드.

B-2. 자동차 IP 확인 (핵심)

방법 1 — 시리얼 모니터(권장): 업로드 후 IO0 분리 → RST → 시리얼 115200:

WiFi 연결 중...
WiFi connected. IP: 192.168.137.45      ← 이 값이 자동차 IP

방법 2 — 노트북 핫스팟 설정의 "연결된 장치"에 ESP32와 IP 표시
방법 3 — 브라우저 http://192.168.137.45/stream 접속해 영상 보이면 IP 맞음

B-3. config.json 갱신

{ "esp32": { "ip": "192.168.137.45", "stream_port": 80, "udp_port": 4210 } }

B-4. 프리플라이트 (매 세션 반복)

B-5. 브링업 테스트 (순서대로, 벤치)

cd D:\data\study\AI\Fab-Lab\CAR\Program\auto_car

여기까지 통과하면 하드웨어·통신·영상·구동이 모두 정상 → PHASE C(기초 9단계)로 진행.

빠른 문제 해결

증상점검
업로드 실패("Connecting…" 멈춤)IO0–GND 연결 후 RST 눌렀나 / TX-RX 교차 / 5V·GND / 업로드 속도 낮추기
STA가 핫스팟에 연결 안 됨SSID/비번 정확(대소문자)·2.4GHz·핫스팟 ON / 펌웨어 ssid·password 일치
IP가 안 보임시리얼 115200 맞나 / 부팅 직후 로그 / 핫스팟 "연결된 장치" 확인
Car connection failedconfig.json IP·--ip가 실제 IP와 같나 / 자동차 LED·전원
영상 안 나옴브라우저로 http://<IP>/stream 직접 / 카메라 케이블 / CameraWebServer 업로드로 단독점검
UDP는 가는데 안 움직임모터 전원·배터리 / speed 80 이상인가 / L298N 배선
바퀴가 자꾸 한쪽으로init_servo로 중립 보정 / 서보 혼 각도 재조립

안전 체크