delay(10);

Serial.print("Connecting to "); Serial.println(ssid);

while (WiFi.status() != WL_CONNECTED) {

delay(500);

WiFi.begin(ssid, password);

Serial.print(".");

}

Serial.println("");

Serial.println("IP address: ");

Serial.println(WiFi.localIP());

// Установка времени через SMTP

Serial.print("Setting time using SNTP");

configTime(8*3600, 0, "pool.ntp.org", "time.nist.gov");

time_t now = time(nullptr);

while (now < 8 * 3600 * 2) {

delay(500);

Serial.print(".");

now = time(nullptr);

}

Serial.println("done");

// Загрузка данных #1

uploadData(String("Data from ESP32 - this is a test 1"));

delay(5000);

// Загрузка данных #2

uploadData(String("Data from ESP32 - this is a test 2"));

delay(5000);

// Загрузка данных #3

uploadData(String("Data from ESP32 - this is a test 3"));

}

void loop(){

}

Как можно видеть, мы создали функцию uploadData, которую можно вызывать нужное число раз (имеет смысл делать это не очень часто, например раз в 5 или 30 минут). В данном примере функция вызывается только из setup(), чтобы файлы не создавались постоянно.

Вместо XXXXXXXXXXXXXXXXXXXXXXXXXXXX нужно будет вставить свой токен, полученный в панели управления https://www.dropbox.com/developers/apps.

Результат - запускаем программу, и через некоторое время видим в папке Dropbox 3 файла.

При использовании в реальном приложении, целесообразно отправлять лог лишь по каким-то редким событиям (например срабатывание датчика открывания двери). Если же нужно отправлять лог постоянно, имеет смысл накапливать данные в буфере памяти объемом несколько килобайт, и отправлять данные лишь по мере заполнения буфера.

Добавить отзыв
ВСЕ ОТЗЫВЫ О КНИГЕ В ИЗБРАННОЕ

0

Вы можете отметить интересные вам фрагменты текста, которые будут доступны по уникальной ссылке в адресной строке браузера.

Отметить Добавить цитату