OpenBlocks IoTで温湿度を可視化してみた

27
OpenBlocks IoT で ででででででででででで 柳柳柳柳 Acroquest Technology Co., Ltd.

Transcript of OpenBlocks IoTで温湿度を可視化してみた

Page 1: OpenBlocks IoTで温湿度を可視化してみた

OpenBlocks IoTで温湿度を可視化してみた柳原英樹

Acroquest Technology Co., Ltd.

Page 2: OpenBlocks IoTで温湿度を可視化してみた

やりたいこと

2 年目でいろいろ学んできたし、 IoT に初チャレンジ!

簡単簡単ってみんな言うけど、実際どうなの?

2

Page 3: OpenBlocks IoTで温湿度を可視化してみた

ある冬の日の社内

温湿度監視して、見てみよう。

実際のところ

どうなの?

暑いから暖房消そう!!寒いから暖房つけよう!!

VS

3

Page 4: OpenBlocks IoTで温湿度を可視化してみた

使ったもの

OpenBlocks IoT EX1 設定が簡単 小さくて軽量 様々な規格に対応

http://openblocks.plathome.co.jp/products/obs_iot/ex1/  4

IoT って名前に入ってるし使いやすそう!

Page 5: OpenBlocks IoTで温湿度を可視化してみた

OpenBlocks IoT EX1 を詳しく

3G 、 Wi-Fi 、 Bluetooth の無線モジュールを標準搭載した IoT ゲートウェイ

SIM を挿してこれだけで通信ができる ( SORACOM Air なら安価ですぐに始められる!)

いろいろなインターフェースに対応

中身は Linux ( Debian )なので自由に 開発できる。

Bluetooth 接続、 AWS IoT や Lambda へのデータ投入設定も WebUI で簡単に行える

端末 UI :様々な通信設定、クラウドへの接続などを UI で行える。

5

Page 6: OpenBlocks IoTで温湿度を可視化してみた

オフィス温湿度計測システムの概要

Broker Client(画面)

温湿度観測点①

計測 データ送付 データ処理・可視化

温湿度計 送信機器

温湿度観測点②

温湿度観測点③

・・・

通信プロトコルにはMQTT を使用

6

WebScoket

Page 7: OpenBlocks IoTで温湿度を可視化してみた

USBRH

温湿度計

BrokerOpenBlocksUSB

MQTTPub(送信)

通知

観測点

WebSocket Client

( 画面 )

計測 データ送付 データ処理・可視化

7

オフィス温湿度計測システムの概要(詳細)

Page 8: OpenBlocks IoTで温湿度を可視化してみた

いざ、実装!!

8

Page 9: OpenBlocks IoTで温湿度を可視化してみた

USBRH

温湿度計

BrokerOpenBlocksUSB

MQTTPub(送信)

通知

観測点

WebSocket Client

( 画面 )

計測 データ送付 データ処理・可視化

9

データ取得~データ送信までまずコ

Page 10: OpenBlocks IoTで温湿度を可視化してみた

詰まりポイント①温湿度計( USBRH )のドライバが動かな

10

Page 11: OpenBlocks IoTで温湿度を可視化してみた

USBRH

温湿度計

BrokerOpenBlocksUSB

MQTTPub(送信)

通知

観測点

WebSocket Client

( 画面 )

計測 データ送付 データ処理・可視化

11

詰まりポイント①温湿度計( USBRH )のドライバが動かな

ココ

Page 12: OpenBlocks IoTで温湿度を可視化してみた

USBRHとは

USBでつながる温湿度計 値段 4980 円 Windows は専用ソフトつきだが、 Linux は公式のドライバ

がない。

Windowsでの出力結果12

Page 13: OpenBlocks IoTで温湿度を可視化してみた

詰まりポイント①温湿度計( USBRH )のドライバが動かな

購入前に VirtualBox 上の CentOS7 で動くことを確認したが

OpenBlocks ( Debian )だと動かない。。。

 

幸運にも別のドライバが見つかり、温度湿度を出力してくれた!

 

機器購入前に実際の環境を正しく構築してテストしましょう (^-^;

13

Page 14: OpenBlocks IoTで温湿度を可視化してみた

詰まりポイント②ネットワークの初期設定で、てこずる

14

Page 15: OpenBlocks IoTで温湿度を可視化してみた

USBRH

温湿度計

BrokerOpenBlocksUSB

MQTTPub(送信)

通知

観測点

WebSocket Client

( 画面 )

計測 データ送付 データ処理・可視化

15

詰まりポイント②ネットワークの初期設定で、てこずる

ココ

Page 16: OpenBlocks IoTで温湿度を可視化してみた

詰まりポイント②ネットワークの初期設定で、てこずる

Wifi 環境の認証方式の関係で、ネットワーク設定で失敗。  →端末 UI にアクセスできなくなり、初期化。。。

  

コンソールからネットワーク設定

→ 繰り返し試し、つながる設定を確認してから端末 UI で設定した。  

16

Page 17: OpenBlocks IoTで温湿度を可視化してみた

USBRH

温湿度計

BrokerOpenBlocksUSB

MQTTPub(送信)

通知

観測点

WebSocket Client

( 画面 )

計測 データ送付 データ処理・可視化

17

ココ

計測データ送信

Page 18: OpenBlocks IoTで温湿度を可視化してみた

計測データ送信

OpenBlocks に mosquitte ( MQTT クライアントツール)をインストール

ひとつのサーバ( Broker )へ測定値送信( publish )

サーバは社内にたてたもの。(実際は AWS とかで OK !)

 

18

Page 19: OpenBlocks IoTで温湿度を可視化してみた

USBRH

温湿度計

BrokerOpenBlocksUSB

MQTTPub(送信)

通知

観測点

WebSocket Client

( 画面 )

計測 データ送付 データ処理・可視化

19

データ取得

ココ

Page 20: OpenBlocks IoTで温湿度を可視化してみた

計測値をサーバから取得

Mosquitte.js (ブラウザ上で MQTT を扱えるようにするClient )を使って、簡単取得。

  

// 接続 (WebSocket な Broker への URL) var client = mqtt.connect(ws://127.0.0.1:8083/mqtt '); // 購読する Topic を指定

client.subscribe('mqtt/demo'); client.on(‘message’, function(topic, payload) { ~~~

20

Page 21: OpenBlocks IoTで温湿度を可視化してみた

USBRH

温湿度計

BrokerOpenBlocksUSB

MQTTPub(送信)

通知

観測点

WebSocket Client

( 画面 )

計測 データ送付 データ処理・可視化

21

詰まりポイント③可視化

ココ

Page 22: OpenBlocks IoTで温湿度を可視化してみた

詰まりポイント③可視化

計測値を、いかに見やすく、使い勝手よくするかが大変

①heatmap.js を使用

( map を格子状に区切り、値設定している)

② 計測点以外の格子点の温湿度は

  計算して補完してグラデーションにする。

③ センサはドラッグドロップで簡単追加

④ 温湿度切り替え可能

センサ

22

Page 23: OpenBlocks IoTで温湿度を可視化してみた

デモ

23

センサ一覧

Page 24: OpenBlocks IoTで温湿度を可視化してみた

さらに追加でやってみた

温湿度の複雑な処理は Torrentio と連携する。

Torrentio: プログラミングレスの IoT アプリケーションプラットフォーム

http://www.site.torrentio.tech/torrentio/

24

Page 25: OpenBlocks IoTで温湿度を可視化してみた

データ処理Broker

MQTT

Client(画面)

Pub(送信)

観測点

Torrentio連携

USBRH

OpenBlocks

データ量が増えても処理できるように、画面ではなく、 Torrentio で以下の処理を行う。・ 温湿度から不快度指数を計算・ 不快度指数から、空調の ON/OFF  タイミングを判断して通知

計測 データ送付 データ処理・可視化25

WebScoket

通知

Page 26: OpenBlocks IoTで温湿度を可視化してみた

まとめ

簡単に IoT アプリケーション出来た!

 →データ取得~ MQTT 送受信~可視化の流れを理解できた。柔軟性が高い分、他機器との連携部分は事前のテストが重要。取得したデータの解析、見せ方がさらに重要。

(データ取得してからの可視化が大変だった)

26

Page 27: OpenBlocks IoTで温湿度を可視化してみた

みなさんも IoT を使ったアプリケーションをつくってみましょう!

ご清聴ありがとうございました27