아두이노 메가로 사진 촬영 및 구글 드라이브 자동 업로드하기
필요한 부품 및 소모품
| 아두이노 메가 2560 (Arduino Mega 2560) |
1개 |
| PHPoC 와이파이 쉴드 2 (PHPoC WiFi Shield 2) |
1개 |
| Seeed Grove 시리얼 카메라 키트 |
1개 |
| Seeed Grove 베이스 쉴드 |
1개 |
| 버튼 |
1개 |
프로젝트 소개
시연
버튼을 누르면 카메라로 사진을 찍고 구글 드라이브에 자동 업로드됩니다.
작동 원리
- OAuth 2.0 로그인: PHPoC 쉴드 웹 인터페이스를 통해 구글 계정 로그인 →
access_token 획득
- 촬영 및 업로드: 버튼 누름 → 카메라에서 사진 가져오기 →
access_token으로 구글 드라이브 API 호출하여 업로드
구현 단계
- 구글 개발자 콘솔에서 프로젝트 생성 →
GOOGLE_CLIENT_ID, GOOGLE_CLIENT_SECRET 발급
- 아두이노 코드에 클라이언트 ID/시크릿 입력
login.php 파일을 PHPoC 쉴드에 업로드
- 아두이노 코드 컴파일/업로드
- 시리얼 모니터에서 PHPoC 쉴드 IP 확인
- 브라우저에서
https://IP/login.php 접속 → 구글 로그인
- 버튼 눌러 촬영 → 2초 후 구글 드라이브에서 사진 확인
기타 하드웨어 플랫폼
다른 하드웨어 플랫폼용 동일 프로젝트도 제공됩니다.
초보자를 위한 최고의 아두이노 스타터 키트
아두이노 키트 추천 가이드 링크 제공
함수 레퍼런스
Serial.begin/println, delay, millis, for/while/if-else, loop/setup, String 메서드 등
코드
ArduinoGoogleDrive (메인 아두이노 코드)
PHPoC 라이브러리, Arduino_JSON 라이브러리, grove_camera.h 사용. OAuth 디바이스 코드 플로우로 access_token 획득, 멀티파트 업로드로 구글 드라이브에 JPEG 전송. 버튼 디바운싱 처리 포함.
login.php (PHPoC 쉴드용 웹 UI)
웹소켓으로 아두이노와 통신. 구글 로그인 페이지 표시, 사용자 코드 입력 안내, 성공 시 완료 메시지 표시.
grove_camera.h (그로브 카메라 라이브러리)
시리얼 카메라 초기화, JPEG 촬영, 패킷 단위 데이터 읽기 기능 제공.
회로도
회로도 이미지 제공 (아두이노 메가 + PHPoC 쉴드 + 그로브 베이스 쉴드 + 카메라 + 버튼)