Arduino:
Trabajando con JSON
Cómo:
Para trabajar con JSON en Arduino, la biblioteca ArduinoJson
es una opción popular debido a su facilidad de uso y eficiencia. Permite parsear cadenas JSON, modificarlas y serializar objetos de nuevo en cadenas JSON. Aquí te mostramos cómo usarla:
Instalar la biblioteca ArduinoJson: Utiliza el Gestor de Bibliotecas en el IDE de Arduino e instala “ArduinoJson”.
Deserializar una cadena JSON: Aquí te mostramos cómo parsear una cadena JSON y extraer valores.
#include <ArduinoJson.h>
const char* json = "{\"sensor\":\"gps\",\"time\":1351824120,\"data\":[48.756080,2.302038]}";
void setup() {
Serial.begin(9600);
StaticJsonDocument<200> doc; // Ajusta el tamaño de acuerdo con el documento JSON
DeserializationError error = deserializeJson(doc, json);
if (error) {
Serial.print(F("deserializeJson() falló: "));
Serial.println(error.f_str());
return;
}
const char* sensor = doc["sensor"]; // "gps"
long time = doc["time"]; // 1351824120
float latitud = doc["data"][0]; // 48.756080
float longitud = doc["data"][1]; // 2.302038
Serial.println(sensor);
Serial.println(time);
Serial.println(latitud, 6);
Serial.println(longitud, 6);
}
void loop() {
// Bucle vacío
}
Salida de ejemplo:
gps
1351824120
48.756080
2.302038
- Serializar a una cadena JSON: Aquí te mostramos cómo crear una cadena JSON a partir de datos.
#include <ArduinoJson.h>
void setup() {
Serial.begin(9600);
StaticJsonDocument<200> doc; // Ajusta el tamaño de acuerdo con los datos
doc["sensor"] = "gps";
doc["time"] = 1351824120;
JsonArray datos = doc.createNestedArray("data");
datos.add(48.756080);
datos.add(2.302038);
serializeJson(doc, Serial);
}
void loop() {
// Bucle vacío
}
Salida de ejemplo (formateada para legibilidad):
{"sensor":"gps","time":1351824120,"data":[48.756080,2.302038]}
Usar efectivamente la biblioteca ArduinoJson
permite que los proyectos Arduino comuniquen estructuras de datos complejas en un formato legible por humanos, facilitando el desarrollo e integración con servicios web.