Arduino:
JSON के साथ काम करना

कैसे:

Arduino में JSON के साथ कार्य करने के लिए, ArduinoJson लाइब्रेरी इसके उपयोग की सहजता और दक्षता के कारण एक लोकप्रिय विकल्प है। यह JSON स्ट्रिंग्स को पार्स करने, उनमें संशोधन करने, और वस्तुओं को वापस JSON स्ट्रिंग्स में सिरियलाइज़ करने की अनुमति देता है। इसका उपयोग कैसे करें, निम्न है:

  1. ArduinoJson लाइब्रेरी को इंस्टॉल करें: Arduino IDE में लाइब्रेरी मैनेजर का उपयोग करें और “ArduinoJson” को इंस्टॉल करें।

  2. एक JSON स्ट्रिंग को डिसेरियलाइज करें: यहाँ बताया गया है कि कैसे एक JSON स्ट्रिंग को पार्स किया जाए और मूल्यों को निकाला जाए।

#include <ArduinoJson.h>

const char* json = "{\"sensor\":\"gps\",\"time\":1351824120,\"data\":[48.756080,2.302038]}";

void setup() {
  Serial.begin(9600);
  StaticJsonDocument<200> doc; // JSON दस्तावेज़ के अनुसार आकार समायोजित करें
  DeserializationError error = deserializeJson(doc, json);

  if (error) {
    Serial.print(F("deserializeJson() failed: "));
    Serial.println(error.f_str());
    return;
  }

  const char* sensor = doc["sensor"]; // "gps"
  long time = doc["time"]; // 1351824120
  float latitude = doc["data"][0]; // 48.756080
  float longitude = doc["data"][1]; // 2.302038
  
  Serial.println(sensor);
  Serial.println(time);
  Serial.println(latitude, 6);
  Serial.println(longitude, 6);
}

void loop() {
  // खाली loop
}

नमूना आउटपुट:

gps
1351824120
48.756080
2.302038
  1. एक JSON स्ट्रिंग में सिरियलाइज करें: यहाँ बताया गया है कि कैसे डेटा से एक JSON स्ट्रिंग बनाई जाए।
#include <ArduinoJson.h>

void setup() {
  Serial.begin(9600);

  StaticJsonDocument<200> doc; // डेटा के अनुसार आकार समायोजित करें
  doc["sensor"] = "gps";
  doc["time"] = 1351824120;
  JsonArray data = doc.createNestedArray("data");
  data.add(48.756080);
  data.add(2.302038);

  serializeJson(doc, Serial);
}

void loop() {
  // खाली loop
}

नमूना आउटपुट (पढ़ने के लिए स्वरूपित):

{"sensor":"gps","time":1351824120,"data":[48.756080,2.302038]}

ArduinoJson लाइब्रेरी का प्रभावी उपयोग Arduino प्रोजेक्ट्स को एक मानव-पठनीय प्रारूप में जटिल डेटा संरचनाओं को संवाद करने की अनुमति देता है, वेब सेवाओं के साथ विकास और एकीकरण को सुविधाजनक बनाता है।