Seeed Wio 3GからSORACOM Harvestに加速度データを送信して可視化

この記事はSeeed UG Advent Calendar 2018の14日目の記事です。

f:id:mia_0032:20181213135521j:plain
Seeed Wio 3G

概要

Seeed Wio 3GからSORACOM Harvestにデータを送って可視化してみます。

Seeed Wio 3GはSIMを挿すことで3G回線でインターネットに接続できるマイコンボードです。Arduino IDEで開発できるので手軽にIoTデバイスを作成することができます。 またGroveというセンサーなどが簡単に接続できるモジュールに対応しており、はんだ付け無しでいろいろな機能を実現できます。

SORACOM Harvestはデータの蓄積・可視化を行えるサービスです。デバイスにSORACOMのSIMを組み合わせることで利用できます。

今回はマイコンボードSeeed Wio 3GにSORACOMのSIMカードを挿し、Groveの加速度センサーの値をSORACOM Harvestに送ってみます。

Arduino IDEの設定

Wiki/setup-ja.md at master · SeeedJP/Wiki · GitHub を参照してWio 3Gの開発環境を構築します。

Harvestの利用設定

SORACOM Harvest でデバイスのデータをクラウドで収集・取得・可視化する | Getting Started | SORACOM Developers を参照してSIMグループおよびHarvestの開始手続きを行います。

Groveモジュールの接続とライブラリの読み込み

Wio 3GのI2CコネクタにGrove 3-Axis Digital Accelerometer(±1.5g)を接続します。

f:id:mia_0032:20181213151436j:plain
Wio 3GにGrove加速度センサーを取り付け

加速度センサーのライブラリとして GitHub - Seeed-Studio/Accelerometer_MMA7660: Seeed 3-Axis Digital Accelerometer(±1.5g) library を使いたいのですが、Wio 3GではWireクラスがWireI2Cになっていたりして、そのままでは使えません。

forkしてWio 3Gに対応したものを GitHub - mia-0032/Accelerometer_MMA7660_Wio_3G: Seeed 3-Axis Digital Accelerometer(±1.5g) library に置いていますのでZipでダウンロードして、ArduinoIDEにライブラリをインクルードしてください。

コードの書き込み

以下のコードをWio 3Gに書き込みます。Harvestのサンプルコードに加速度センサーの読み込み処理をつけたコードになってます。

可視化されたデータを見る

Wio 3Gを起動してしばらく立つとHarvestにデータが貯まっていきます。Harvestに送信されたデータは SORACOMのコンソール→SIM管理→SIMを選択→データを確認 という手順で見れます。

f:id:mia_0032:20181213172241p:plain
harvest

センサーを動かすと出力される値が動けば成功です。定期的に振ると上のようなグラフになります。

製作上でハマったところ

  • 通常のArduinoのクラス名とは異なるクラスが使われているのでそのままでは動かないライブラリもある。
  • しばらく経つとHarvestへの書き込みが止まってしまう。
    • これは原因がわかっていない。

まとめ

SORACOMのマネージドサービスのHarvestを使ってお手軽にセンサーデータの可視化ができました。

Wio 3Gは3G回線が使えるので、SIMだけ挿せばネットワークにつながる*1のが楽で良いですね。

*1:SIMが挿せるボードは未発売です。今回は販売前の製品をお借りすることができました。