注目キーワード

【Arduino】ディスプレイ付きマイコン「M5StickC Plus」JSON形式データの取り扱い!(ArduinoJsonライブラリ)

すけろく
Pythonなどでは、JSONでデータを扱っていたが、
Arduino IDEで扱うことはできるのか?
げんろく
それなら「ArduinoJSON」ライブラリがあるぞ!
取り扱うデータで使用するメモリサイズの
計算ツールもあるから便利だ。
この記事では、Arduino IDEを使ってM5StickC PlusのプログラムでJSON形式を取り扱う方法を紹介します。
今回使用するライブラリは、「ArduinoJson」ライブラリを使用します。
ArduinoJson

ArduinoJson is a JSON library for Arduino, IoT, and any embe…

 

 

今回使用するマイコンはこちら!

M5StickC Plus
画面付きで小型のマイコンです。旧版のM5StickCから、ディスプレイサイズ、バッテリ容量が変更になっています。ブザーも実装されました。通信(WiFi/Bluetooth)機能、6軸加速度センサーも搭載されています。
Aruduino で開発できます。Amazonで確認

旧版との違いを意識してまとめて行きます。

これからはじめる方にお勧めの参考図書はこちら!

 

JSONって何?

JSONとは?

JSONとは「JavaScriptのオブジェクト記法を用いたデータ交換フォーマット」です。

Python、PHP、JavaScript、C++、Javaなど様々な言語でサポートされています。

JSONを間に挟むことで各プログラミング言語間のデータの受け渡しがとても簡単にできます。

インターネット上のWebサービスからデータを取得する際の形式もJSON形式のものが多いので、例えば、天気情報をWebサービスから取得する際に使用できます。

JSONの表記方法

JSONは以下の形式で表記されます。

[
{“id” : “1”, “name” : “tanaka”},
{“id” : “2”, “name” : “morita”}
]

 

Arduino でJSONを使用する場合、マイコンのメモリに一時ロードされるため、メモリを事前に予約する必要があります。

どのくらいメモリ確保を行えばよいかを計算できるツールがありますのでそちらを使いましょう!

 

JSONを扱う際のメモリサイズを計算する

以下のページでArduino IDEでJSONを扱う際のメモリサイズを計算できます。

ArduinoJson

The ArduinoJson Assistant is an online tool that computes th…

 

「Step1:Configuration」画面で以下の通り選択します。
 Processor  :「ESP32」
 Mode     :「Deserialize」
 Input Type    :「String」

【Next:JSON】を選択して次の画面に移ります。


「Step2:JSON」画面にて今回使いたいJSONデータを入力します。
【Next:Size】を選択して次の画面に移ります。

前の画面で入力したJSONデータをもとに必要なメモリサイズが計算され、画面に表示されます。※この例ではトータルで「96」だけ必要であることがわかります。【Next:Program】を選択して次の画面に移ります。

Arduino IDE用のプログラム例が表示されます。※先ほどの画面で必要となるサイズとして表示されていた内容をプログラムで指定する方法が記載されています。

StaticJsonDocument<96> doc;

 

 

M5StickC Plus内でJSONデータを取り扱ってみよう

それでは、実際にプログラミングしてみましょう。

今回は、プログラムの中でJSONデータを定義して、それをM5StickC Plusのディスプレイに表示させてみます。

ライブラリを追加する

今回使うライブラリ「ArduinoJSON」をインストールします。

※プログラムを実行した際の「ArduinoJSON」のバージョンは「6.19.4」です。

ライブラリのインストールは、次の記事で紹介しています。

関連記事

Arduino IDE」では、使用する機能やセンサー、ボードを使用するプログラムで使用できる有効なライブラリが公開されています。ライブラリを使用すると、効率的かつ品質を確保したプログラミングが可能です。 ここでは、Ardu[…]

 

JSON取り扱いプログラム

Arduino IDEを起動して、「ファイル」メニューから「新規ファイル」を選択し、表示されるスケッチに以下のように記述します。

 Arduino IDE スケッチ例

 

 M5StickC Plusへの書き込み

  1. 「ファイル」メニューから「名前を付けて保存」で任意の名前を付けて保存します。
  2. 「ツール」メニューから「ボード」情報を確認し、M5StickC Plusであるか確認します。
    この際、「シリアルポート」にマイコンを接続したCOMポートが指定されているかも確認します。
  3. 「ツール」メニューから「Patition Scheme」を「”No OTA(Large APP)”」にします。
    ※ここを変更しないと、スケッチが大きいというエラーになります。
  4. 「ツール」メニューから「シリアルモニタ」を選択してシリアルモニタを起動します。
  5. 「スケッチ」メニューから「マイコンボードに書き込む」を選択します。

 

 プログラム実行結果

M5StickC Plusのディスプレイに以下のとおり表示されれば成功です。

 

さて、これでJSON形式データを扱うことができるようになりました。

今回の記事は以上になります。

最後までご覧いただきありがとうございました。

 

 

 

今回使用するマイコンはこちら!

M5StickC Plus
画面付きで小型のマイコンです。旧版のM5StickCから、ディスプレイサイズ、バッテリ容量が変更になっています。ブザーも実装されました。通信(WiFi/Bluetooth)機能、6軸加速度センサーも搭載されています。
Aruduino で開発できます。Amazonで確認

旧版との違いを意識してまとめて行きます。

これからはじめる方にお勧めの参考図書はこちら!