아두이노 윤(Yun)으로 SD카드 파일을 드롭박스에 자동 백업하기
부품 및 소모품
| 아두이노 윤 (Arduino Yun) |
1개 |
| SD 카드 (최대 32GB, 마이크로 SD + 어댑터) |
1개 |
앱 및 온라인 서비스
- 아두이노 웹 에디터
- Temboo (클라우드 서비스 연동 플랫폼)
- Dropbox 계정 (무료 생성 가능)
프로젝트 개요
아두이노 윤의 내장 SD카드 슬롯을 활용해, SD카드에 저장된 텍스트 파일을 자동으로 드롭박스에 백업하는 장치입니다. 별도의 회로 구성 없이 SD카드만 꽂으면 수 분 안에 동작하므로 매우 간편합니다.
작동 원리
이 프로젝트는 드롭박스 계정과 템부(Temboo) 계정이 필요합니다. 아두이노 윤이 SD카드에서 파일을 읽어 템부를 통해 드롭박스로 전송하는 방식입니다. 윤은 부팅 시 한 번 백업을 수행하며, 리셋 시 다시 실행됩니다.
데이터 처리 흐름
- 파일 읽기: SD카드의 지정된 파일 열기 및 내용 읽기
- 버퍼 포맷: 읽은 데이터를 문자열로 저장 후 문자 배열로 변환
- 템부 연결: 템부 서비스에 인증 및 연결
- 파일 업로드: 데이터를 드롭박스 지정 경로에 업로드 (덮어쓰기 모드)
장점
- 복잡한 설정 없이 SD카드 삽입만으로 백업 가능
- 텍스트 파일을 몇 초 만에 드롭박스에 안전하게 저장
- 별도 전원 공급 없이 USB 연결만으로 동작
구축 단계
1단계: 준비물
- 아두이노 윤 1개
- 마이크로 SD카드 및 어댑터 (최대 32GB, FAT32 포맷)
2단계: SD카드 준비
SD카드는 MS-DOS (FAT16 또는 FAT32) 포맷이어야 합니다. 백업할 텍스트 파일(datalog.txt 등)을 미리 카드에 넣어두세요.
3단계: 드롭박스 설정
- 드롭박스 개발자 콘솔에서 앱 생성
- 액세스 토큰 발급
- 업로드할 폴더 경로 지정 (예: /YunSD.txt)
4단계: 템부(Temboo) 설정
- 템부 계정 생성 및 앱 등록
- 드롭박스 연동 코레오그래피(Choreo) 선택:
/Library/Dropbox/Files/Upload
- 계정명, 앱 키, 액세스 토큰 등 인증 정보 기록
5단계: 코드 이해 및 업로드
코드는 4개 주요 섹션으로 구성됩니다:
// 1. 파일 읽기
File dataFile = FileSystem.open("/mnt/sd/datalog.txt", FILE_READ);
if (dataFile) {
while (dataFile.available()) {
dataString += (char)dataFile.read();
}
}
// 2. 버퍼 포맷 (String → char 배열)
char valueToSend[120];
dataString.toCharArray(valueToSend, 120);
// 3. 템부 연결 및 설정
TembooChoreo UploadChoreo;
UploadChoreo.begin();
UploadChoreo.setAccountName(TEMBOO_ACCOUNT);
UploadChoreo.setAppKeyName(TEMBOO_APP_KEY_NAME);
UploadChoreo.setAppKey(TEMBOO_APP_KEY);
UploadChoreo.addInput("Path", "/YunSD.txt");
UploadChoreo.addInput("FileContent", valueToSend);
UploadChoreo.addInput("ContentType", "text/plain");
UploadChoreo.addInput("AccessToken", DROPBOX_ACCESS_TOKEN);
UploadChoreo.addInput("Mode", "overwrite");
UploadChoreo.setChoreo("/Library/Dropbox/Files/Upload");
// 4. 파일 업로드 실행
UploadChoreo.run();
필수 라이브러리
- Bridge 라이브러리 (아두이노 LLC, LGPL)
- FileIO 라이브러리 (아두이노 LLC, LGPL)
- Temboo 라이브러리 (Temboo Inc., Apache 2.0)
헤더 파일 설정 (TembooAccount.h)
템부 계정 생성 시 발급받은 인증 정보를 이 파일에 입력해야 합니다.
마무리
아두이노 윤을 컴퓨터에 연결하고 코드를 업로드하세요. SD카드가 삽입된 상태에서 약 30초 후 브릿지가 로드되고 파일이 드롭박스로 업로드됩니다. 시리얼 모니터를 열어야 정상 동작합니다.
배경
이 프로젝트는 SD카드를 꽂기만 하면 자동으로 드롭박스에 백업되는 편리한 장치를 만들고자 시작되었습니다. 아두이노 윤의 내장 SD모듈을 활용한 두 번째 프로젝트입니다.