#include <ArduinoJson.h>
String temp = "";
String humi = "";
String file = "";
uint8_t tempMinute[60];
uint8_t humiMinute[60];
uint8_t lengthDataMinute = 120;
uint8_t minuteMax = 60;
void initializeArray(uint8_t source[], int length) {
for (int i = 0; i < length; i++) {
source[i] = 0xFF;
}
}
JsonObject createDoc(DynamicJsonDocument& doc, String date) {
JsonObject hourDoc = doc.createNestedObject(date);
size_t hourMax = 24;
for (size_t i = 0; i < hourMax; i++) {
JsonArray minuteDoc = hourDoc.createNestedArray(String(i));
String tempFixed = "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff";
String humiFixed = "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff";
minuteDoc.add(tempFixed);
minuteDoc.add(humiFixed);
}
return hourDoc;
}
void setup() {
Serial.begin(115200);
Serial.println("Hello, ESP32!");
//create doc
/////////////////////////////////////////////////////////////
DynamicJsonDocument doc(8000);
// JsonObject root = doc.to<JsonObject>();
// JsonObject root = doc.to<JsonArray>();
JsonObject date = createDoc(doc, "20240226" );
// JsonObject date = doc.createNestedObject("20240226");
// for (int i = 0 ; i < hourMax; i++)
// {
// JsonArray data = date.createNestedArray(String(i));
// data.add(tempFixed);
// data.add(humiFixed);
// }
file = "";
if (serializeJson(doc, file) == 0) {
Serial.println(F("Failed to write to file"));
}
Serial.println(file);
Serial.println(file.length());
//////////////////////////////////////////////////////////////
String temp = "";
String humi = "";
for (int j = 15; j < minuteMax; j++) {
byte fahrenheit = random(20, 25) * 1.8 + 32;
tempMinute[j] = fahrenheit;
char temp_m[3];
sprintf(temp_m, "%x", tempMinute[j]);
temp += temp_m;
}
Serial.print("temp: ");
Serial.println(temp.length());
for (int j = 15; j < minuteMax; j++) {
byte humidity = random(50, 60);
humiMinute[j] = humidity;
char humi_m[3];
sprintf(humi_m, "%02x", humiMinute[j]);
humi += humi_m;
}
Serial.print("humi: ");
Serial.println(humi.length());
if (temp.length() != lengthDataMinute)
{
byte timeMiss = (lengthDataMinute - temp.length()) / 2;
String compensate = "";
for (int j = 0; j < timeMiss; j++)
{
char timeMiss_m[3];
sprintf(timeMiss_m, "%02x", 0xff);
compensate += timeMiss_m;
}
temp = compensate + temp;
humi = compensate + humi;
}
// date.clear();
doc.clear();
// doc.remove("20240226");
// date.remove("");
/////////////////////////////////////////////////////////
// for (int i = 0 ; i < hourMax; i++)
// {
date = createDoc(doc, "20240227" );
JsonArray data = date.createNestedArray(String(8));
data.add(temp);
data.add(humi);
// }
/////////////////////////////////////////////////////////
file = "";
if (serializeJson(doc, file) == 0) {
Serial.println(F("Failed to write to file"));
}
Serial.println(file);
Serial.println(file.length());
// serializeJsonPretty(doc, Serial);
}
void loop() {
delay(10);
}