Автоматическое резервное копирование SD-карты в Dropbox на Arduino Yun
Компоненты и материалы
- Arduino Yun — 1 шт.
- SD-карта (до 32 ГБ, формат FAT16/32) — 1 шт.
Приложения и онлайн-сервисы
- Arduino Web Editor
- Temboo (бесплатный аккаунт для работы с API Dropbox)
- Dropbox (бесплатный аккаунт)
О проекте
Обзор
Устройство автоматически загружает текстовые файлы с SD-карты в Dropbox. Никакой пайки не требуется — просто вставьте карту и включите питание. Загрузка происходит один раз при старте (или после сброса).
Функциональность
Процесс состоит из четырёх этапов:
- Read File — чтение файла
/mnt/sd/datalog.txt. - Format Buffer — преобразование строки в char-массив (требуется Temboo).
- Connect Temboo — инициализация хореографии (Choreo) с учётными данными аккаунта.
- Upload File — отправка данных в Dropbox (перезапись файла
/YunSD.txt).
Важно: SD-карту можно извлекать только после завершения загрузки. Монитор последовательного порта должен быть открыт.
Подготовка SD-карты
Отформатируйте карту в FAT16/32 (на macOS — через «Дисковую утилиту», на Windows — через контекстное меню). Поместите на неё один или несколько текстовых файлов.
Настройка Dropbox и Temboo
Создайте приложение в Dropbox App Console с правами доступа к файлам. Получите Access Token. Зарегистрируйтесь на Temboo, создайте приложение и скопируйте TEMBOO_ACCOUNT, TEMBOO_APP_KEY_NAME, TEMBOO_APP_KEY в заголовочный файл TembooAccount.h.
Основной скетч (фрагменты)
// Read File
File dataFile = FileSystem.open("/mnt/sd/datalog.txt", FILE_READ);
if (dataFile) {
while (dataFile.available()) {
dataString += (char)dataFile.read();
}
}
// Format Buffer
char valueToSend[120];
dataString.toCharArray(valueToSend, 120);
// Connect Temboo
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");
// Upload File
UploadChoreo.run();
Библиотеки
- Bridge (GNU LGPL)
- FileIO (GNU LGPL)
- Temboo (Apache 2.0)
Запуск
- Вставьте SD-карту в Yun.
- Подключите Yun к компьютеру, загрузите скетч.
- Откройте Serial Monitor (9600 бод).
- Через ~30 секунд файл появится в Dropbox.
Проект идеален для автоматического бэкапа логов, заметок или конфигураций без участия ПК.
Производственный процесс
- Сборка Bluetooth-робота-шпиона на Arduino с управлением с телефона
- FlickMote: жестовое IR-пульт для умного дома на Arduino 101 и ультразвуковом датчике
- DIY Arduino TV-B-Gone: универсальный пульт для выключения любого телевизора
- Создание пользовательских LED-часов с будильником — видно с 12 метров
- Find Me: Умный поисковик вещей на Arduino и Bluetooth
- Автоматическое резервное копирование SD-карты в Dropbox на Arduino Yun
- Оптимизированные решения питания для проектов на Arduino
- Крестики-нолики на Arduino с матрицей MAX7219 и картонным корпусом
- Пошаговое руководство: сборка умного четырёхногого робота на Arduino
- Своё рулевое управление (джойстик) для игр на Arduino