fbpx

JSON dla IoT

Opublikowane przez Jerzy Wickowski w dniu

Znaczna część komunikacji w internecie odbywa się przy użyciu formatu JSON. Jest on prosty, lekki i czytelny. W związku z tym, jeżeli chcę, aby moje urządzenie było otwarte na świat, muszę wspierać ten format. Mógłbym sam bawić się w parsowanie JSONa do obiektu i na odwrót, ale rozsądniejszym wydaje się być użycie gotowej biblioteki. Zatem zapraszam do lektury wstępnego opisu biblioteki JSON dla IoT czyli ArdunioJson.

Jak zacząć

Instalacja może odbywać się na dwa sposoby. Pierwszym jest użycie LibraryManagera dla Arduino IDE. Jednak jak już kiedyś pisałem, że zdecydowałem się na inne środowisko programistyczne. Drugim natomiast jest pobranie odpowiedniego pliku ZIP, a następnie rozpakowanie go do katalogu lib w projekcie. Możesz go pobrać z tej strony lub bezpośrednio stąd(v5.11.1).

Następnym krokiem jest zaimportowanie biblioteki oraz zadeklarowanie bufora.

#include "ArduinoJson.h"
StaticJsonBuffer<200> jsonBuffer;

Jest on punktem startowym, na którym można wywoływać odpowiednie metody. Najważniejszymi są:

  • parseObject() – parsuje obiekt, przykładowo : „{’firstname': 'Jerzy', 'lastname': 'Wickowski'}”.
  • parseArray() – parsuje tablicę, przykładowo: „[’hallo',’world']”.
  • createObject() – tworzy obiekt pozwalający na stworzenie obiektu JSON.
  • createArray() – tworzy obiekt pozwalający na stworzenie tablicy JSON.

Parsowanie

#include "ArduinoJson.h"
StaticJsonBuffer<200> jsonBuffer;

char* json = "{'isBusy':true,'deviceId':7,'comment':'foo'}";
JsonObject& root = jsonBuffer.parseObject(json);
    
bool isBusy= root["isBusy"];
int deviceId= root["deviceId"];
const char* comment = root["comment"];
      
Serial.println(isBusy);
Serial.println(deviceId);
Serial.println(comment);

Serializacja

StaticJsonBuffer<200> jsonBuffer;
JsonObject &root = jsonBuffer.createObject();

root["isBusy"] = false;
root["deviceId"] = 13;
root["comment"] = "bar";

char *output = (char *)malloc(100);
root.printTo(output, 100);
Serial.println(output); //{"isBusy":false,"deviceId":13,"comment":"bar"}

Zakończenie

Jak widzisz, dzięki użyciu ArduinoJson, bliblioteki JSON dla IoT, świat otwiera swoje cyfrowe drzwi. Powyżej opisałem tylko jak zacząć używać tej biblioteki. Więcej informacji można znaleźć na oficjalnej stronie projektu.



Czy to był wartościowy artykuł? Zapisz się, a wyślę Ci dwa ebooki o czystym kodzie oraz będę informował Cię o nowych postach

0 Komentarzy

Dodaj komentarz

Twój adres email nie zostanie opublikowany.

Witryna wykorzystuje Akismet, aby ograniczyć spam. Dowiedz się więcej jak przetwarzane są dane komentarzy.

[contact-form-7 404 "Nie znaleziono"]

Zapisz się

Wyślę Ci dwa dokumenty mówiące o jakości kodu. Dodatkowo będę Cię informował o nowych postach i nowościach.