Quantcast
Channel: コンピューターの勉強会・研修ネタ
Viewing all articles
Browse latest Browse all 66

研修用のIoTシステム概要

$
0
0
研修用にIoTシステムをインターンに作ってもらった(↓)のですが、

インターンの大学の先生から、(大学の)「教材に良い」とかのコメントも
もらったので、その紹介をします。

【システム概要】
 2つのボタンのON/OFFの状態を画面に表示します。
※実際に想定しているシステムは、いくつかのセンサー情報を、現地でいったん集積し、
 必要な情報をクラウド上のサーバーにおき、それをWebやスマホで見るものですが、
 今回は簡略化しています。どのように簡略化したかは、後述します。


【システム構成】
 以下のように、端末にスイッチをつけ、それを、ゲートウェイで集約し、サーバーに送り、
 Webブラウザから見るシステムになっています。

 各サブシステムの概要と想定システムとの関係は、以下の通りです。

・端末部分
 Arduino+XBeeで実装しています。
 ボタンのON/OFFをGPIOを通じてArduinoで取得し、その情報を、
XBee(プロトコルはZigBee)で、ゲートウェイに送信しています。

 想定しているシステムでは、「いくつかのセンサー」の部分に
相当します。

・ゲートウェイ(GW)
 Raspberry PI+XBeeで実装しています。
 端末からのボタンON/OFF情報をXBee(ZigBee通信)から
受け取り、その情報をもとに、サーバーのREST APIを呼び出して
います。

 想定しているシステムでは「現地でいったん集積し」の部分に
相当します

・サーバー
 Spring Bootで実装しました。
 GWから呼ばれるAPIと、表示画面から呼ばれるAPIがあります。
 GWから呼ばれるAPI
   状態登録 各ボタンのON/OFF状態を設定
 表示画面から呼ばれるAPI
   状態取得 各ボタンのON/OFF状態を設定
   全部ON すべてのボタンがONになっているか
   ON時刻 全部ONになったときの時刻

 なお、全部ONになった時に動く機械があるとして、この研修は進めています。

 想定しているシステムでは、「必要な情報をクラウド上のサーバーにおき」
の部分に相当します。つまり、このサーバー部分は、本当はクラウド上におく
ものを考えています(一方、GWは、ローカルにある)。

・表示画面
 HTML+CSS+Javascript(JQuery,AJAX)で実装しました。
 サーバーのREST APIをAJAXで呼出し、状態を取得し、その内容をWebブラウザ
に表示します。

 想定しているシステムでは、「Webやスマホで見る」部分に相当します。


【詳細について】
 各サブシステムの詳細については、これから、このブログで紹介する予定です

Viewing all articles
Browse latest Browse all 66