LoginSignup

This article is a Private article. Only a writer and users who know the URL can access it.
Please change open range to public in publish setting if you want to share this article with other users.

More than 3 years have passed since last update.

新潟 IoTハッカソン2020:スマートフォンでセンサータグデータを扱う

Last updated at Posted at 2020-02-01

はじめに

本コンテンツは 2020年2月22日(土)、23日(日)に開催される、新潟 IoT ハッカソンのハンズオンの記事となります。
スマートフォン用いてセンサータグのデータを取得し、enebular にセンサーデータを送信する例を示します。

準備するもの

  • PC
  • スマートフォン (iOS, Android)
  • センサータグ (CC2650STK SimpleLink SensorTag) (当日配布)

当日 Free WiFi 環境が準備されます。
スマートフォンの通信容量が気になる方は、会場の Free WiFi をご利用ください。

構成

センサータグでセンシングしたデータを、スマートフォンを使って MotionBoard Cloud へデータを転送します。
environment.png

本記事では、enebular までセンサーデータを送信できるところまでを確認します。

センサータグ

センサータグは小型でワイヤレス(BLE通信)で電池式といった特徴があるため、まずはどんなデータが集まるか確認したいといったプロトタイピングを行う場合に便利です。また、価格も安価($29)であるためハードルが低いです。

センサータグでは以下のデータが取得できます。

  • 気温
  • 物体温度
  • 湿度
  • 大気圧
  • 高度
  • 加速度、ジャイロスコープ(角速度)、地磁気 (それぞれ 3 軸)
  • 照度
  • 磁気
  • ボタン

ハンズオン

スマートフォンアプリのダウンロード

センサータグのスマートフォンアプリをダウンロードします。
アプリダウンロード先
 App Store      Google Play
sensortag_iOS.pngsensortag_Android.png

download_iOS.png

アプリのダウンロードには 100MB - 200MB 程度通信量が掛かります。
また、センサーデータの転送にも通信量が発生しますので、会場の Wifi をご利用ください。

センサータグの接続

ここからは、iOSアプリの画面で説明します。

アプリを起動し、センサータグの電源を入れると (SensorTag 2.0) というデバイスが検出されます。
会場では複数個のセンサータグが利用されます。
センサータグの側面にあるボタンを押すと、自分のセンサータグを見分けることができます。他の人のセンサータグに接続しないよう気を付けてください。
list_device01.png list_device02.png

自分のセンサータグをタップします。

Bluetooth デバイスが全く検出されない場合、スマホの Bluetooth の設定が無効化されていないか確認してください。

センサータグのデータ確認

Sensor View をタップします。(Android の場合、選択肢は表示されません)

センサーから取得した数値を確認できます。
app01.png app02.png

センサータグのデバイス情報確認

Cloud View をタップし、遷移した Config Summary 画面に表示される Device ID を控えます。(Androidの場合は ADVANCED ボタンをタップします。 )
app01.png sensortag_config.png

センサータグのデータを送信

Device ID 確認後、前の画面に戻り、Cloud View のスイッチを ON にします。
cloud.png

ここまでで、IBM Cloud の Watson IoT Platform の MQTT サーバーにセンサーデータを送信する環境が整いました。
次の章ではこのデータを enebular で取得します。

enebular フロー作成

enebular でフローを作成します。

enebular については詳しくは以下の記事を参照してください。
新潟 IoT ハッカソン2020 : enebularを活用したデータ連携
https://qiita.com/uhuru-hackathon/private/3b8b51748f1c2f98b7ca

enebular に ibmiot ノード追加

admin タブに移動し、node-red-contrib-scx-ibmiotapp を入力し、 Install をクリックします。
enebular01.png

しばらく待つと ibmiot ノードが追加されます。
enebular02.png

入力ibmiot ノードと 出力debug ノードを配置し、線でつなぎます。
enebular03.png

配置した IBM IoT ノードをダブルクリックします。
編集画面で Device Id に自分のセンサータグの Device ID を入力 完了 をクリックします。
enebular04.png

項目 入力値
Authentication Quickstart (既定値)
Input Type Device Event (既定値)
Device Id センサータグの Device ID を入力
Name (任意の値)

デプロイします。
enebular05.png

デバッグ タブより、取得したセンサーの値を確認できます。
enebular06.png

1秒ごとにデータが送られてきます。
debug ノードのボタンより、debug 表示を止めるとデータを確認しやすいです。

センサータグで取得できるデータ

センサータグで取得できるデータは以下の通りです。
iOSとAndroid でデータの名称が異なる場合があるので注意してください。

センサー iOS Android
気温 ambientTemp ambient_temp
物体温度 objectTemp -
湿度 humidity humidity
大気圧 pressure air_pressure
高度 altitude -
加速度 (X軸, Y軸, Z軸) accelX, accelY, accelZ acc_x, acc_y, acc_z
ジャイロスコープ (角速度) (X軸, Y軸, Z軸) gyroX, gyroY, gyroZ gyro_x, gyro_y, gyro_z
地磁気 (X軸, Y軸, Z軸) magX, magY, magZ compass_x, compass_y, compass_z
照度 light light
磁気 - reed_relay
ボタン key1, key2 (ボタン押下時のみ) key_1, key_2

例えば、 msg.payload.d.light で照度を取得できます。

MotionBoard Cloud での可視化

MotionBoard Cloud にデータを転送し、可視化してください。

MotionBoard Cloud については以下の記事を確認してください。

新潟 IoT ハッカソン2020:MotionBoard Cloudとenebularの接続
 https://qiita.com/wat-hattori/private/42d138fb65e275eca6e5

新潟 IoT ハッカソン2020:MotionBoardの利用
 https://qiita.com/wat-hattori/private/4d73d0f2c445eab91361
 https://qiita.com/wat-hattori/private/48fd085f38e846fbaa06

トラブルシューティング

ブラウザ版の enebular を利用している場合、60分 でタイムアウトしてしまいます。
trouble01.png

リロード後、以下のように ibmiot in が点線となっている場合、 ibmiot の再インストールが必要となります。
trouble02.png

ibmiot ノードの再インストールがうまくできない場合以下の手順を試してください。
 1. フロー内の点線となっている unknown: ibmiot in ノードのみ削除
 2. デプロイ
 3. ブラウザのリロード
 4. admin タブに移動し、node-red-contrib-scx-ibmiotapp を入力し、 Install をクリックします。
 5. 再度 ibmiot in ノードを配置し、 Device ID を設定し、デプロイ

60分ごとにこの作業が必要となるため、センサータグを利用する場合、デスクトップ版の enebular editor を使っていただくことをおすすめします。

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