狠狠撸

狠狠撸Share a Scribd company logo
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
温湿度計
BrokerOpenBlocks
USB
MQTT
Pub
(送信)
通知
観測点
WebSocket
Client
(画面)
計測 データ送付 データ処理?可視化
7
オフィス温湿度計測システムの概要(詳細)
いざ、実装!!
8
USBRH
温湿度計
BrokerOpenBlocks
USB
MQTT
Pub
(送信)
通知
観測点
WebSocket
Client
(画面)
計測 データ送付 データ処理?可視化
9
データ取得~データ送信まで
まずココ
詰まりポイント①
温湿度計(USBRH)のドライバが動かない
10
USBRH
温湿度計
BrokerOpenBlocks
USB
MQTT
Pub
(送信)
通知
観測点
WebSocket
Client
(画面)
計測 データ送付 データ処理?可視化
11
詰まりポイント①
温湿度計(USBRH)のドライバが動かない
ココ
USBRHとは
? USBでつながる温湿度計
? 値段4980円
? Windowsは専用ソフトつきだが、Linuxは公式のドライバがない。
Windowsでの出力結果
12
詰まりポイント①
温湿度計(USBRH)のドライバが動かない
? 購入前にVirtualBox上のCentOS7で動くことを確認したが
OpenBlocks(Debian)だと動かない。。。
? 幸運にも別のドライバが見つかり、温度湿度を出力してくれた!
機器購入前に実際の環境を正しく構築してテストしましょう(^-^;
13
詰まりポイント②
ネットワークの初期設定で、てこずる
14
USBRH
温湿度計
BrokerOpenBlocks
USB
MQTT
Pub
(送信)
通知
観測点
WebSocket
Client
(画面)
計測 データ送付 データ処理?可視化
15
詰まりポイント②
ネットワークの初期設定で、てこずる
ココ
詰まりポイント②
ネットワークの初期設定で、てこずる
? Wifi環境の認証方式の関係で、ネットワーク設定で失敗。
→端末UIにアクセスできなくなり、初期化。。。
? コンソールからネットワーク設定
→繰り返し試し、つながる設定を確認してから端末UIで設定した。
16
USBRH
温湿度計
BrokerOpenBlocks
USB
MQTT
Pub
(送信)
通知
観測点
WebSocket
Client
(画面)
計測 データ送付 データ処理?可視化
17
ココ
計測データ送信
計測データ送信
? OpenBlocksにmosquitte(MQTTクライアントツール)をインストール
? ひとつのサーバ(Broker)へ測定値送信(publish)
? サーバは社内にたてたもの。(実際はAWSとかでOK!)
18
USBRH
温湿度計
BrokerOpenBlocks
USB
MQTT
Pub
(送信)
通知
観測点
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
温湿度計
BrokerOpenBlocks
USB
MQTT
Pub
(送信)
通知
観測点
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

More Related Content

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