کتابخانه JSON در آردوینو و نحوه استفاده

همانطور که در مقاله قبلی بلوک انتقال داده JSON شرح داده شد، به نحوه استفاده از آن در کامپایلر آردینو خواهیم پرداخت .

دانلود و نصب کتابخانه JSON در آردوینو

برای نصب آردوینو را باز کنید، در قسمت SKetch و کتابخانه ها Manage Library را باز کنید مطابق شکل زیر :

در پینجر باز شده در قسمت جستجو تایپ کنید JSON و منتظر بمانید تا کتابخانه نمایش داده شود ، اخرین ورژن را انتخاب و روی دکمه Install کلیک کنید تا کتابخانه Json نصب شود، مطابق شکل زیر :

بعد از نصب کتابخانه در پروژه خود وارد کنید :

//Include JSON LIB for Arduino ##HAsani.M.#IOTPLUS.IR
#include <Arduino.h>
#include <ArduinoJson.h>

void setup() {
  // put your setup code here, to run once:

}

void loop() {
  // put your main code here, to run repeatedly:

}

مثال و کاربرد توابع

فرض کنید یک رشته حرفی را نیاز دارید تا پارامتر های آنرا شناسایی کنید، رشته حرفی به شکل زیر می باشد :

{“id”:”app”,”temp”:”100″,”sw”:”1″}

برای شناسایی و خواندن پارامتر های ابتدا باید یک متغییر json تعریف کنید سپس توسط دستور deseriailize آنرا شناسایی کنید، به شکل کد زیر انجام دهید :

// Web IOT Platform iotplus.ir

#include <ArduinoJson.h>

String s="{\"id\":\"app\",\"temp\":\"100\",\"sw\":\"1\"}";

void setup() {
Serial.begin(9600);
DynamicJsonDocument root(200); 

//This function parse variables to root
deserializeJson(root,s);

//print id
  Serial.print("ID : "); Serial.print(root["id"]); 

//print temp
  Serial.print("Temp : "); Serial.print(root["temp"]); 

  //print sw
  Serial.print("SW : "); Serial.print(root["sw"]); 
}

void loop() {
  // put your main code here, to run repeatedly:

}

افزودن پارامتر به متغییر json

در صورت نیاز ممکن است بخواهید به پارامتر json یک متغییر با مقدار مشخص اضافه نمایید، به مثال زیر توجه نمایید :

//Json for Arduino 
//By M.Hasani 
//Web IOT Platform www.iotplus.ir

#include <ArduinoJson.h>

String s="{\"id\":\"app\",\"temp\":\"100\",\"sw\":\"1\"}";

void setup() {
Serial.begin(9600);
DynamicJsonDocument root(200); 

//This function parse variables to root
deserializeJson(root,s);

//print id
  Serial.print("ID : "); Serial.print(root["id"]); 

//print temp
  Serial.print("Temp : "); Serial.print(root["temp"]); 

  //print sw
  Serial.print("SW : "); Serial.print(root["sw"]);

   //Add the new Variable 
   root["message"]="salam";
   
}

void loop() {
  // put your main code here, to run repeatedly:

}

دقت کنید که در تعریف پارامتر Json بیشترین سایز آنرا حتما بایستی مشخص باشد، اگر بیشترین سایز بلوک 500 باشد به شکل زیر تعریف می شود :

//Json for Arduino 
//By M.Hasani 
//Web IOT Platform www.iotplus.ir

#include <ArduinoJson.h>

DynamicJsonDocument root(500);

اما اگر شما یک متغییر json داشته باشید و بخواهید برای انتقال آن ابتدا به رشته حرفی تبدیل کنید و سپس ارسال کنید به شکل زیر نوشته می شود :

//Json for Arduino 
//By M.Hasani 
//Web IOT Platform www.iotplus.ir

#include <ArduinoJson.h>

 


String st;

void setup() {
Serial.begin(9600);
DynamicJsonDocument root(200); 

root["id"]="arduino";
root["temp"]="102";

//Here Convert to String  root = > st
  serializeJson(root,st);

  Serial.println(st);
}

void loop() {
  // put your main code here, to run repeatedly:

}

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *