Edited at

ArduinoJson Assistant

More than 1 year has passed since last update.

Arduinoの開発環境でJsonを扱うライブラリは何種類かあるようですが、私は「Prototyping Lab」でも出てきたので、ArduinoJsonライブラリを使用しています。

Jsonフォーマットのデータ構成をプログラムするのですが、データがネストしてくると確認が面倒になってきます。

ArduinoJson Assistantという公式ツールを使うと、このあたりの準備が簡単にできたので、ここにメモしておきます。

ArduinoJsonの基本的な使い方は公式サイトを参考にしてください。 → http://arduinojson.org/doc/

ArduinoJsonを使用する際に必要な準備は以下となりますが、ArduinoJson Assistantを使うことでコードが自動で生成できます。

ArduinoJsonの準備手順


  1. ヘッダインクルード

  2. JsonObject用のメモリー確保

  3. JsonObjectの作成(以下のどちらか)


    1. JsonファイルをパースしてObjectを作成する方法

    2. JsonObjectを作成して、要素を追加していく方法
        



以下のSample.Jsonファイルから、ArduinoJson Assitantを使用してコードを生成してみます。


Sample.json

{

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

・まずはArduinoJson Assistantを開きます。

http://arduinojson.org/assistant/

・開いたページの[Input]という欄に先ほどのJsonファイルをコピペします。(今回のデータは公式サンプルなので最初から入っています。)

image.png

入力すると、[JsonBuffer size]、[Parsing program]、[Serializing program] の中に必要な情報が出てきます。

image.png

それぞれ

[JsonBuffer size]   確保すべきメモリー量

[Parsing program]   JsonフォーマットからJsonObjectを生成するコード 最初に書いた手順の(3.1)に相当するコード

[Serializing program] JsonObjectから、データ構成を生成するコード 最初に書いた手順の(3.2)に相当するコード

ここで生成されたコードを組み込めば、ArduinoJsonでデータを扱う準備ができます。

データの構成ができたら、「API Reference」などを参考に、set(),get()等でデータを扱えます。

こういったツールで簡単にデータ構成を構築できるのはとても便利ですね。