Приветствую, нужна доработка скетча стандартной библиотеки "ESP8266HTTPClient" для esp8266, а именно требуется реализация отправки (авторизация и запись) данных с датчика (рандомное значение с аналогового пина для примера) на сервер appwrite (аналог firebase) по средствам HTTP (POST и PATCH) запросов REST API в базу данных реального времени, сервер уже развернут на vps, данные для подключения к серваку вышлю в личке, на данный момент реализовано чтение данных из базы и разбор json
Код:
#include <ESP8266WiFi.h>
#include <ESP8266HTTPClient.h>
#include <ArduinoJson.h>
const char* ssid = "";
const char* password = "";
HTTPClient http;
WiFiClient client;
void setup()
{
Serial.begin(115200);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED)
{
delay(1000);
Serial.println("Connecting...");
}
}
void loop()
{
if (WiFi.status() == WL_CONNECTED)
{
HTTPClient http; //Object of class HTTPClient
http.begin(client, "http://185.255.133.227/v1/databases/62fdeda7285ebec29a32/collections/62fdedc95e45df47985d/documents/62ff24876fb623d661df");
http.addHeader("Content-type", "application/json");
http.addHeader("X-Appwrite-Project", "62f4fe452ce19040b645");
int httpCode = http.GET();
if (httpCode > 0)
{
const size_t bufferSize = JSON_OBJECT_SIZE(2) + JSON_OBJECT_SIZE(3) + JSON_OBJECT_SIZE(5) + JSON_OBJECT_SIZE(8) + 370;
DynamicJsonBuffer jsonBuffer(bufferSize);
JsonObject& root = jsonBuffer.parseObject(http.getString());
int id = root["id"];
const char* data = root["data"];
const char* lol = root["lol"];
const char* test = root["test"];
Serial.print("data:");
Serial.println(data);
Serial.print("lol:");
Serial.println(lol);
Serial.print("test:");
Serial.println(test);
Serial.print("-------------------------");
}
http.end(); //Close connection
}
delay(2000);
}