11
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

ArduinoJson Assistant

Last updated at Posted at 2018-01-23

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()等でデータを扱えます。
こういったツールで簡単にデータ構成を構築できるのはとても便利ですね。

11
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?