/*☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄
☄                                                                            ☄
☄      ☘ DATOS GENERALES:                                                    ☄
☄      NOMBRE:      Uso de librería JSON.                                    ☄
☄      FECHA:       21 de febrero de 2024.                                   ☄
☄      VERSIÓN:     1.0.                                                     ☄
☄                                                                            ☄
☄      AUTOR:       M. en C. Esli Castellanos Berján.                        ☄
☄      E-MAIL:      [email protected].                                ☄
☄      COMPAÑÍA:    Universidad de Colima - Facultad de Telemática.          ☄
☄                                                                            ☄
☄      uC:          ESP32-D0WD Dual Core.                                    ☄
☄      Nombre:      ESP32-S.                                                 ☄
☄                                                                            ☄
☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄
☄                                                                            ☄
☄      ☘ DESCRIPCIÓN DEL PROGRAMA:                                           ☄
☄      Arquitectura de software para el uso de documentos JSON.              ☄
☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄
☄                                                                            ☄
☄      ☘ NOTAS:                                                             ☄
☄      ESP32 requiere instalar el driver para el USB Bridge                  ☄
☄      (depende del modelo).                                                 ☄
☄      Cuando no sube automáticamente el código hay que dejar presionado     ☄
☄      el botón "boot" cuando aparezca la barra de "connecting".             ☄
☄                                                                            ☄
☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄*/
  
#include <ArduinoJson.h>     /*~ Nombre de la librería en el gestor de descargas "ArduinoJson"~*/
String SalidaString = "";

void setup ( void ) {

  
  DynamicJsonDocument JSON ( 1024 );         /* Objeto donde se alamcenará el JSON */
  JSON [ "Temperatura_ambiente" ] = 27.5;             /* Almacena números enteros o flotantes */         
  JSON [ "Luminosidad" ] = 30;           /* Almacena texto, ya sea cadena o string */         
  JSON [ "Presencia" ] = 0;
  JSON [ "Humedad_suelo" ] = 80;
  JSON [ "Luminosidad" ] = 30;
  JsonObject actuadores  = JSON.createNestedObject("Actuadores");
  actuadores["Motor"] = 0;
  actuadores["Lampara_led"] = 0;
   
  serializeJsonPretty( JSON, SalidaString );                /* Transformar json a string */
  // put your setup code here, to run once:
  Serial.begin ( 115200 );
  Serial.println ( F ( "Json anidados:" ) );
  Serial.println ( SalidaString );
}

void loop ( void ) {
  // put your main code here, to run repeatedly:
  delay(10); // this speeds up the simulation
}