соединения по https, поэтому мы используем класс WiFiClientSecure.

Код программы целиком приведен ниже.

#include <WiFi.h>

#include <WiFiClientSecure.h>

#include <time.h>

const char* ssid = "TP-LINK_AB11";

const char* password = "12345678";

WiFiClientSecure client;

void uploadData(String content) {

Serial.println("Dropbox connecting...");

if (client.connect("content.dropboxapi.com", 443)) {

Serial.println("Dropbox connected");

// Сформировать имя файла по шаблону времени

time_t now = time(nullptr);

struct tm timeinfo;

gmtime_r(&now, &timeinfo);

char file_name[64] = {0};

strftime(file_name, 64, "log-%Y-%m-%d-%H-%M-%S.txt", &timeinfo);

Serial.print("Upload "); Serial.println(file_name);

// Отправка запроса

client.println("POST /2/files/upload HTTP/1.1");

client.println("Host: content.dropboxapi.com");

client.println("Authorization: Bearer XXXXXXXXXXXXXXXXXXXXXXXXXXXX");

char dropbox_args[255] = {0};

sprintf(dropbox_args,

"{\"path\": \"/%s\", \"mode\": \"overwrite\", \"autorename\": true, \"mute\": false}", file_name);

client.print("Dropbox-API-Arg: "); client.println(dropbox_args);

client.println("Content-Type: application/octet-stream");

client.print("Content-Length: "); client.println(content.length());

client.println();

client.println(content);

delay(5000);

client.stop();

Serial.println("Disconnect");

Serial.println();

} else {

Serial.println("Error: cannot connect");

Serial.println();

}

}

void setup() {

Serial.begin(115200);

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

0

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

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