見出し画像

LPWAでオフィス環境を可視化せよ!(前編)

先般の投稿で、LoRaWAN の GPS Trackerである Dragino LGT92 が追尾できるか?のご報告させていただきました。

1. はじめに

今回は、LoRaWANノード、EnOceanセンサーを使ったオフィス環境の可視化を題材に、センサーデータの可視化方法について触れてみたいと思います。

と言っても、「センサーデータの可視化」なんて記事は、巷にはごまんとありまして、秀逸な記事が数多あります。

この記事の特徴は、次の通りです。

i. 可視化サービスとして、日本語情報が少ないTago.ioを利用
ii. LoRaWANノード、EnOceanノードを混在させていること

この特徴に興味がない方は、数多ある記事と同様の読後感となるかと思います。ご容赦ください。

さらに、どこまで細かく記載するのか?今この時点で決められていないので、本タイトルについて、何度かに分けて説明していきたいと思っています。

2. 可視化したダッシュボード画面

まずは、結果から。こんな塩梅。

スクリーンショット 2020-10-22 14.49.30

見えているものは、「温度、湿度、照度、ドア開閉(2種類)、人感センサ、センサーの電池容量」です。(右上は、おまけ的に、”時計”)

人感センサー(動作検知センサー)のみが、EnOceanデバイスです。その他は、全てLoRaWANデバイスです。

2. 全体構成・利用するもの

上述の可視化を実現している全体構成図(非常にラフですが)です。

スクリーンショット 2020-10-27 11.46.00

オフィス側には、(基本購入により入手することになる)センサノードとGateway/Hubがあります。Gateway/Hubから(ISPを通じて)インターネットの世界に出て、クラウド側で、TTN(The Things Network)Tago.ioを利用します。

LoRaWANノードは、そのプロトコル仕様上、LoRaWANサーバを経由しなければいけません。直接、Tago.ioには接続できません。ここでは、LoRaWANプラットフォームとして、無償利用できるTTN(The Things Network)を活用しています。

EnOceanノードは、中継Hubとなっているラズパイから、Tago.ioが用意するmqtt brokerに対して、mqttパケットをpublishしています。

[ ノード類 ]
- 温度・湿度・照度 : Dragino LHT65 w/ illumination sensor (fwをv1.7に更新したもの)
- ドア開閉(Do): Dragion LDS01
- ドア開閉(Ne): NetVox R718LB (IP65)
- 人感: Optex DPI-J(WH) ・・・これが、EnOceanデバイス
 [ Gateway / 中継Hub 類 ]
- LoRaWAN Gateway: Dragino LPS8 (LoRa Pico Station) ・・・屋内向けLoRaWAN Gateway
- EnOcean Hub: Rapberry Pi 4 + ROHM USB400J ・・・ラズパイにUSBタイプのEnOcean受信モジュール(ROAM製)を接続
[ サーバ側 ]
- LoRaWAN Server: TTN(The Things Network)
- 可視化サービス: Tago.io

ちなみに、Tago.ioはフリーミアムモデルを採用しているため、ある程度までは無償利用できます。「登録できるデバイスは5つまで」というのが、無償枠の制約としては、一番気になるところかもしれません。

だって、
可視化でき始めると、
いろいろやりたくなっちゃうから、
5つじゃ足りないもの・・・
ってなるはず

3. (Tago.ioにたどり着くまでの)事前準備

Tago.ioをいじる前に、やはりいくつかの事前準備が必要です。

なんだか、こう書くと、可視化まで道のりが遠いように思ってしまうかもしれません。が、一つ一つは難し事ではなく、慣れて仕舞えばあっという間に終わる事です。ご容赦を。

ざっくり、流れは以下の通りです。

[ LoRaWAN側 ]
1. 何はともあれ、TTNにアカウントを作成
2. コンソール画面で、Gatewayを登録
3. コンソール画面で、Applicationを作成。今回は、LoRaWANノード毎に分けて、3つのApplicationを作っています。
4. Applicationを作成したら、LoRaWANノードを登録。
5. Application毎に、「インテグレーション」でTago.ioを選択し、(後ほどTago.io側で取得する)Tokenの値などを設定し、Tago.ioへデータが流れるようにしてあげます。
[ EnOcean側 ]
i. ラズパイでEnOceanデバイスのデータを取得できるようにプログラミング
ii. 取得したデータを(必要に応じて整形して)、Tago.ioの仕様に従ってMQTTでデータをPublishする

上述の"5番"と"ii番"は、Tago.io側の操作・設定が必要な部分であり、この部分については後述したいと思います。

それ以外の部分は、数多ある秀逸な記事・情報で代替できるものと思います。大変申し訳ないですが、ここでは割愛をします。ご了承ください。

で、今回は、ここまでとします。次は、Tago.ioの操作・設定について触れていきたいと思います。(おそらく、次で、完結できるはず)


いいなと思ったら応援しよう!