研修用に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やスマホで見る」部分に相当します。
【詳細について】
各サブシステムの詳細については、これから、このブログで紹介する予定です

インターンの大学の先生から、(大学の)「教材に良い」とかのコメントも
もらったので、その紹介をします。
【システム概要】
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やスマホで見る」部分に相当します。
【詳細について】
各サブシステムの詳細については、これから、このブログで紹介する予定です