Запрос PUT с ESP8266 + NodeMCUv3 с данными JSON на сервер NodeJS (локальная сеть)
Я пытаюсь отправить данные со своего датчика освещенности с помощью ESP8266 и обновить "значение" датчика на моем сервере. К сожалению, я работал столько часов, но у меня ничего не работает...
Считывание данных с датчика и подключение к сети выполнено и работает.
Интересующий нас код:
#include <ESP8266WiFi.h>
#include <ESP8266HTTPClient.h>
#include "ArduinoJsonv6.cpp"
#include <WiFiClient.h>
// Server parameters
const char* Server_ID = "192.168.1.32";
const int port = 8080;
String URL = "/pi/Rooms/LivingRoom/sensors/Light/5dec517737d254014be8f766"; //ID of the sensor
void loop() {
// Reading data from the sensor
unsigned long Lux;
String Lux_string = "";
tsl.TSL2581_Read_Channel();
Lux = tsl.calculateLux(2, NOM_INTEG_CYCLE);
Read_gpio_interrupt(2000, 50000);
delay(50);
StaticJsonDocument<200> doc;
doc["value"] = Lux;
serializeJson(doc, Serial);
if(WiFi.status()== WL_CONNECTED){
WiFiClient client;
HTTPClient http;
http.begin(Server_ID + ":" + port + URL); // (1) How can I pass here my parameters?
http.addHeader("Content-Type", "application/json");
int httpResponseCode = http.PUT(HOW CAN I PASS HERE MY JSON - DOC???); // (2) Passing here the json is like black magic...
String response = http.getString();
Serial.println(httpResponseCode);
Serial.println(response);
http.end();
delay(5000);
}
}
Основные проблемы:
(1) - как перейти на http.begin параметры моего сервера?
(2) - передача моего json в запрос PUT - это кажется очень простым, но это не так.
если кто-то может решить эту проблему с другой библиотекой, это тоже хорошее решение для меня. К сожалению, на каждом веб-сайте есть решение, использующее разные библиотеки, что очень сбивает с толку. Спасибо за любую помощь