LoginSignup
11
4

More than 5 years have passed since last update.

enebular スターターキット開封の儀!ノンコーディングで始めるIoT〜データの可視化まで

Last updated at Posted at 2019-01-21

2019年1月17日に enebular developer Meetup Vol.7みんなのラズパイコンテスト2018 enebular賞の賞品「IoTスターターキット」をいただきましたので、さっそく開封の儀を行なった。ググっても プレスリリース に写真が載っている程度しか情報が無い中で始める完全に人柱な開封の儀。(´・ω・`)
IMG_6606.JPG

気になるキットの中身

  • Raspberry Pi 3 Model B+? x 1

袋のシールには Raspberry Pi 3 Model B+ と記載されていましたが、実際の中身は Raspberry Pi 3 Model B でした。RJ-45コネクタの上には S/N が記載されたシールが貼られていましたが、何に使用するのか不明でした。
また、16GB の microSD カード (UHS-1) が付属していました。OS は Raspbian Stretch がインストールされていました。
IMG_6607.JPG

  • 電源アダプタ、ON/OFFスイッチ付きUSBケーブル

IMG_6615.JPG

  • アクリル板 x 2

IMG_6608.JPG

  • ナット M2.6 x 4、ねじ M2.6 x 4、ゴム足 x 4 + ナット回し用アクリル板

IMG_6609.JPG

  • スペーサー 5mm x 8、7mm x 4、16mm x 4

IMG_6616.JPG

  • 光センサ x 1

Grove Light sensor v1.1
IMG_6610.JPG

  • LED x 1

Grove LED Socket kit →青色のLEDが付属していました。
IMG_6612.JPG

  • 温湿度・気圧センサ BME280 x 1

Grove Barometer Sensor (BME280)
IMG_6613.JPG

  • 拡張ボード GroovyIoT x 2、USBケーブル x 2

大宮技研の Groovy-IoT が付いていました。後述しますが、既に kikori がインストールされていましたので、enebular からは標準のHTTP リクエストノードでデバイスのデータを取得したり、LED の点滅を制御することができました。
IMG_6614.JPG

  • 説明書

IMG_6617.JPG
IMG_6618.JPG

セットアップ (組み立て) の注意点

ラズパイと Groovy-IoT を組み立てる時にスペーサーの長さに注意が必要です。
IMG_6621.jpg

最初、7mm のスペーサーを使用したところ、Groovy-IoT の Grove ピン (裏側) がラズパイの HDMI コネクタとミニピンジャックに干渉して "浮き" が発生しました。また、HDMI コネクタの外側は金属のため、最悪の場合、Grove ピンがショートする可能性があります。
IMG_6619.JPG

Grove ピン (裏側) をニッパー等で切り落とせば問題は解消しますが、後で USB ケーブルを配線するので、16mm のスペーサーを使用して余裕を持たせた方が安心です。
IMG_6623.JPG
IMG_6626.JPG
IMG_6629.JPG
IMG_6630.JPG

最後にアクリル板とゴム足を付けて完成です。

ナット回し用アクリル板

ナットを締める際にアクリル板を使用します。
IMG_6633.JPG

センサーデバイス、LED の接続

  • Groovy-IoT I2C → 温湿度・気圧センサ BME280
  • Groovy-IoT GPIO1 → LED
  • Groovy-IoT GPIO2 → 光センサ

IMG_6634.JPG

コマンドラインから動作確認

ラズパイの電源を入れて OS が立ち上がった後、ターミナル画面から以下のコマンドを入力してセンサーデバイス、LED が正常に動作することを確認しました。

# 温湿度・気圧センサ BME280
$ curl -s http://localhost:3000/sensor?ids=BME0 | jq .
{
  "BME0": {
    "pressure": 1001.4135853684872,
    "temperature": 21.738644699100405,
    "humidity": 38.775639836016786
  }
}

# 光センサ
$ curl -s 'http://localhost:3000/read?target=ADC2&type=mean&sampling=128' | jq .
{
  "result": "success",
  "value": 92.9921875,
  "target": "ADC2",
  "type": "mean",
  "sampling": "128"
}

# LED (ON)
$ curl -s 'http://localhost:3000/write?target=GP0&value=1' | jq .
{
  "result": "success",
  "target": "GP0",
  "value": "1"
}

# LED (OFF)
$ curl -s 'http://localhost:3000/write?target=GP0&value=0' | jq .
{
  "result": "success",
  "target": "GP0",
  "value": "0"
}

(LED を点灯させたところ)
IMG_6635.JPG

enebular から動作確認

構成図

名称未設定.png

ラズパイには既に enebular AWS IoT agent がインストールされていたが、自分のアカウント (AWS IoT 上のモノ (管理) と証明書 (安全性)) に紐付けるために以下のページを参照して enebular AWS IoT agent を再インストールする。
https://qiita.com/kitazaki/items/ffd50396cb09d6ab7050

今回は [モノの名前] は

  • enebular-starter-kit-01

[Region] は

  • ap-northeast-1 (アジアパシフィック(東京))

で作成した。

Firebase DataSource の作成 (Firebase Console 画面)

firebase.png
firebase2.png
firebase3.png

Firebase DataSource の作成 (enebular Web App 画面)

datasource.png
datasource2.png

フローの作成 (Node-RED)

enebular Web App または enebular editor でフローを作成します。
スクリーンショット 2019-01-20 19.48.43.png

定期的 (例えば 5 分毎) にセンサーからデータを取得し Firebase へ格納します。センサーデバイスは 2 種類 (データは 4種類) あるので、データを結合・整形して Firebase へ格納しています。

(定期実行)
スクリーンショット 2019-01-20 19.53.54.png
(温湿度・気圧センサ BME280)
スクリーンショット 2019-01-20 19.50.28.png
(光センサ)
スクリーンショット 2019-01-20 19.50.51.png
(データ結合)
スクリーンショット 2019-01-20 19.52.08.png
(データ整形)
スクリーンショット 2019-01-20 19.52.27.png
スクリーンショット 2019-01-20 19.52.53.png

{
    "timestamp": $toMillis($now()),
    "value": {
        "ts": $toMillis($now()),
        "id": "starter-kit-01",
        "temperature": msg.payload.BME0.temperature,
        "humidity": msg.payload.BME0.humidity,
        "pressure": msg.payload.BME0.pressure,
        "light": msg.payload.value
    }
}

(Firebase へデータ格納)
スクリーンショット 2019-01-20 19.53.10.png
(Firebase Console 上の画面)
スクリーンショット 2019-01-20 21.03.56.png

また、LED の点灯 / 消灯は手動操作で行います。
(LED点灯)
スクリーンショット 2019-01-20 19.51.17.png
(LED消灯)
スクリーンショット 2019-01-20 19.51.50.png

参考としてフローを公開しました。
https://enebular.com/discover/flow/78d335b7-c2b3-48a8-8c4a-efee0833bff9

データの可視化 (InfoType の作成)

InfoMotion 作成の前に InfoType 作成を実施する必要がある。今回はサンプルで用意されている linechart をダウンロードして使用する。
https://docs.enebular.com/ja/_asset/sample/linechart.zip
infotypes.png
infotypes2.png
スクリーンショット 2019-01-21 10.24.43.png

データの可視化 (InfoMotion の作成)

(全体画面)
スクリーンショット 2019-01-21 12.41.31.png
(グラフの追加)
スクリーンショット 2019-01-20 21.02.18.png
(温度グラフ)
スクリーンショット 2019-01-20 21.02.42.png
(湿度グラフ / 気圧グラフ / 照度グラフ)
スクリーンショット 2019-01-20 21.03.04.png スクリーンショット 2019-01-20 21.03.18.png スクリーンショット 2019-01-20 21.03.29.png

enebular agent の dev-mode オプション有効化

enebular editor からラズパイ上のフローの動作を確認したり、フローを操作する場合、enebular agent を —dev-mode オプション付きで起動する必要がある。フロー上から LED を ON/OFF するために必要。
https://qiita.com/kitazaki/items/ffd50396cb09d6ab7050#4-enebular-agent-%E3%82%92-enebular-editor-%E3%81%A8%E9%80%A3%E6%90%BA

スクリーンショット 2019-01-20 21.20.50.png
スクリーンショット 2019-01-20 21.21.57.png
スクリーンショット 2019-01-20 21.22.11.png

まとめ

IoT スターターキットと enebular の機能を組み合わせることで、IoT の手始めからセンサーデータの可視化までノンコーディングで行うことができました。IoT がどんどん身近になって行くと良いですね。
みなさんも 良き enebular ライフを!

11
4
3

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
4