OpenBlocks IoTで温湿度を可視化してみた
-
Upload
hideki-yanagihara -
Category
Technology
-
view
878 -
download
0
Transcript of OpenBlocks IoTで温湿度を可視化してみた
OpenBlocks IoTで温湿度を可視化してみた柳原英樹
Acroquest Technology Co., Ltd.
やりたいこと
2 年目でいろいろ学んできたし、 IoT に初チャレンジ!
簡単簡単ってみんな言うけど、実際どうなの?
2
ある冬の日の社内
温湿度監視して、見てみよう。
実際のところ
どうなの?
暑いから暖房消そう!!寒いから暖房つけよう!!
VS
3
使ったもの
OpenBlocks IoT EX1 設定が簡単 小さくて軽量 様々な規格に対応
http://openblocks.plathome.co.jp/products/obs_iot/ex1/ 4
IoT って名前に入ってるし使いやすそう!
OpenBlocks IoT EX1 を詳しく
3G 、 Wi-Fi 、 Bluetooth の無線モジュールを標準搭載した IoT ゲートウェイ
SIM を挿してこれだけで通信ができる ( SORACOM Air なら安価ですぐに始められる!)
いろいろなインターフェースに対応
中身は Linux ( Debian )なので自由に 開発できる。
Bluetooth 接続、 AWS IoT や Lambda へのデータ投入設定も WebUI で簡単に行える
端末 UI :様々な通信設定、クラウドへの接続などを UI で行える。
5
オフィス温湿度計測システムの概要
Broker Client(画面)
温湿度観測点①
計測 データ送付 データ処理・可視化
温湿度計 送信機器
温湿度観測点②
温湿度観測点③
・・・
通信プロトコルにはMQTT を使用
6
WebScoket
USBRH
温湿度計
BrokerOpenBlocksUSB
MQTTPub(送信)
通知
観測点
WebSocket Client
( 画面 )
計測 データ送付 データ処理・可視化
7
オフィス温湿度計測システムの概要(詳細)
いざ、実装!!
8
USBRH
温湿度計
BrokerOpenBlocksUSB
MQTTPub(送信)
通知
観測点
WebSocket Client
( 画面 )
計測 データ送付 データ処理・可視化
9
データ取得~データ送信までまずコ
コ
詰まりポイント①温湿度計( USBRH )のドライバが動かな
い
10
USBRH
温湿度計
BrokerOpenBlocksUSB
MQTTPub(送信)
通知
観測点
WebSocket Client
( 画面 )
計測 データ送付 データ処理・可視化
11
詰まりポイント①温湿度計( USBRH )のドライバが動かな
い
ココ
USBRHとは
USBでつながる温湿度計 値段 4980 円 Windows は専用ソフトつきだが、 Linux は公式のドライバ
がない。
Windowsでの出力結果12
詰まりポイント①温湿度計( USBRH )のドライバが動かな
い
購入前に VirtualBox 上の CentOS7 で動くことを確認したが
OpenBlocks ( Debian )だと動かない。。。
幸運にも別のドライバが見つかり、温度湿度を出力してくれた!
機器購入前に実際の環境を正しく構築してテストしましょう (^-^;
13
詰まりポイント②ネットワークの初期設定で、てこずる
14
USBRH
温湿度計
BrokerOpenBlocksUSB
MQTTPub(送信)
通知
観測点
WebSocket Client
( 画面 )
計測 データ送付 データ処理・可視化
15
詰まりポイント②ネットワークの初期設定で、てこずる
ココ
詰まりポイント②ネットワークの初期設定で、てこずる
Wifi 環境の認証方式の関係で、ネットワーク設定で失敗。 →端末 UI にアクセスできなくなり、初期化。。。
コンソールからネットワーク設定
→ 繰り返し試し、つながる設定を確認してから端末 UI で設定した。
16
USBRH
温湿度計
BrokerOpenBlocksUSB
MQTTPub(送信)
通知
観測点
WebSocket Client
( 画面 )
計測 データ送付 データ処理・可視化
17
ココ
計測データ送信
計測データ送信
OpenBlocks に mosquitte ( MQTT クライアントツール)をインストール
ひとつのサーバ( Broker )へ測定値送信( publish )
サーバは社内にたてたもの。(実際は AWS とかで OK !)
18
USBRH
温湿度計
BrokerOpenBlocksUSB
MQTTPub(送信)
通知
観測点
WebSocket Client
( 画面 )
計測 データ送付 データ処理・可視化
19
データ取得
ココ
計測値をサーバから取得
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
USBRH
温湿度計
BrokerOpenBlocksUSB
MQTTPub(送信)
通知
観測点
WebSocket Client
( 画面 )
計測 データ送付 データ処理・可視化
21
詰まりポイント③可視化
ココ
詰まりポイント③可視化
計測値を、いかに見やすく、使い勝手よくするかが大変
①heatmap.js を使用
( map を格子状に区切り、値設定している)
② 計測点以外の格子点の温湿度は
計算して補完してグラデーションにする。
③ センサはドラッグドロップで簡単追加
④ 温湿度切り替え可能
センサ
22
デモ
23
センサ一覧
さらに追加でやってみた
温湿度の複雑な処理は Torrentio と連携する。
Torrentio: プログラミングレスの IoT アプリケーションプラットフォーム
http://www.site.torrentio.tech/torrentio/
24
データ処理Broker
MQTT
Client(画面)
Pub(送信)
観測点
Torrentio連携
USBRH
OpenBlocks
データ量が増えても処理できるように、画面ではなく、 Torrentio で以下の処理を行う。・ 温湿度から不快度指数を計算・ 不快度指数から、空調の ON/OFF タイミングを判断して通知
計測 データ送付 データ処理・可視化25
WebScoket
通知
まとめ
簡単に IoT アプリケーション出来た!
→データ取得~ MQTT 送受信~可視化の流れを理解できた。柔軟性が高い分、他機器との連携部分は事前のテストが重要。取得したデータの解析、見せ方がさらに重要。
(データ取得してからの可視化が大変だった)
26
みなさんも IoT を使ったアプリケーションをつくってみましょう!
ご清聴ありがとうございました27