ものづくりIoTブログ

B-EN-GのIoTのスペシャリストが
IoT関連の先端技術及び最新トピックについての
取組みをご紹介します。

ブログのトップ画像

monozukuri-iot's topics

AWS 

AWSIoTによるリアルタイムモニタの作成

2016/06/07 ・記事をシェアする

AWS IoTとMQTT over Websocket

今回、ご紹介するのは、AWSIoTに向けて送信した模擬センサーデータをMQTT over Websocketを利用してリアルタイムにモニタリングできる画面をWebに作るというものです。 AWSIoTはご存知の方も多いと思いますが、AWSが提供するデバイスをクラウドで簡単に管理、コントロールできるサービスで、これを活用すれば、工場内の設備の稼働状況などをクラウドに簡単に接続して管理することができます。

また、各種センサーデータの内容をリアルタイムにクラウド経由で見ることができるので、遠方の工場に設置されたセンサーのデータを中央管理室でモニタリングするなどの用途で用いることができます。

MQTT over Websocketの例

それでは、早速、進めていきます。

まずデータの流れですが、
① センサーデータをNode.jsで取得し、AWSIoTへ送信(Publish)
② AWSIoTで受け取ったセンサーデータを受け取って(Subscribe)する
③ センサーデータをWebでグラフ表示する
となります。

AWSIoTへのデータの送信ですが、今回はセンサーデータではなく、それを模した0-100のランダムデータをプログラムで作成し、AWSIoTへ送信します。 データの送信にはNode.jsのAWSIoT Device SDKを利用します。

データをSubscribeしてWeb画面に表示するためにWebSocketを利用しています。 AWSIoTにおけるWebscketについては下記に詳細があります。

MQTT Over the WebSocket Protocol

書かれているようにHTML側で署名を作成し、AWSIoTのブローカーにSubscribeしに行きます。

取得した表示するリアルタイムグラフですが、今回使用しているのは、D3,jsをベースにしたEpochというライブラリです。 このライブラリではUNIXタイムが必要なので、Publishデータにはそれも加えています。

データをグラフに表示できるように加工し、グラフを表示すると下記のように表示されます。

まとめ

いかがでしたか?

IoTではインターネットを活用することで遠隔地であっても、データをリアルタイムに可視化し、活用することができます。

今回のケースではAWSIoTをMQTTのブローカーとしてのみ使用していますが、AWSIoTではDeviceShadowにより、デバイスの状態(ステータスなど)を管理したり、S3やRedshiftにデータを保管したり、lambdaに連携し、外部サービスと連携したりすることもできます。

これらにより、データの可視化と保存を同時に実行できるという点でかなり有用ではないかと思います。是非ご活用ください。

About Me

ビジネスエンジニアリング株式会社の
「ものづくりIoT(Internet of Things)」の
取り組みを発信する公式サイトです。

"すべては変革のために"

ものづくりIoTに取り組むお客様の成功を
支援いたします!