ZigBeeとIntel Edison:会議室の自動化プラクティス

多くの組織では、会議室は非効率的に使用されています。 この状況には、主に2つの理由があります。 1つ目は、会議室を予約した人が、指定された時間に会議室を使用できないことです。 2番目の理由-会議は予定よりも早く終了し、全員が別れましたが、部屋が必要な人はそれを知りません。









これらの問題を抱えるすべての人が対処できるように、インテリジェントな会議室予約システム(SCR)を作成しました。



一般的なレビュー



開発の助けを借りて、会議室の状況をリアルタイムで評価できます。 システムは、部屋に人がいるかどうかを判断し、人がいない場合は、予約スケジュールを変更できることをサーバーに通知します。 これにより、組織のリソースを効率的かつ便利に使用できます。



システムは、次のハードウェアコンポーネントに基づいています。





ZigBeeは、小型で低電力のデジタル送信機に基づいてパーソナルネットワークを作成するために使用される一連の高レベル通信プロトコルの仕様です。 ZigBeeプロトコルはIEEE 802.15.4規格に基づいており、低消費電力を必要とし、低データレートで正常に動作できる組み込みデバイスでの使用を目的としています。 ZigBeeに基づいて構築されたネットワークは、エネルギー消費に関して非常に経済的です。 ZigBee認定に合格するには、デバイスが少なくとも2年間バッテリーで動作している必要があります。 このようなデバイスの典型的な用途はホームオートメーションです。 たとえば、インテリジェントプレゼンスセンサー、照明システム、温度コントローラー。



Arduinoは、機器メーカーと開発者のコ​​ミュニティが形成されたオープンなハードウェアおよびソフトウェアプラットフォームです。 このプラットフォームの通常の範囲は、環境の状態を判断し、それと対話できるデバイスの開発です。



Arduinoプラットフォームの重要な側面は、標準化されたコネクタです。これにより、シールドと呼ばれる多くの交換可能な拡張モジュールをマイクロコントローラでメインユニットに接続できます。 Intel EdisonはArduinoもサポートしています。 これにより、Edisonは、XBee ZigBeeなど、Arduinoの数千のモジュールと互換性があります。



XBeeは、Digi Internationalファミリーの無線モジュールのブランド名で、標準のフォームファクターで入手できます。 XBee ZBは、メッシュネットワークを作成するためのZigBee PROプロトコルをサポートしています。



ソフトウェアの観点から見ると、システムは次の部分で構成されています。





以下は、最も一般的な用語で、スマート会議室システムの仕組みです。









SCR作業スキーム



ハードウェア



私たちのプロジェクトのベースとなっているハードウェアについて詳しく見ていきましょう。



Arduino回路基板を搭載したIntel Edisonは、システムの中核です。 EdisonはArduinoと互換性があるため、Arduinoと連携できるデバイスもEdisonに適しています。 たとえば、これはArduino拡張ボードを使用してEdisonに接続するXBee ZB S2無線モジュールです。









Intel EdisonおよびXBee Radio



プッシュサーバーとして、4 GBのRAMを搭載したIntel Core i5-3427Uプロセッサ(周波数1.80 GHz)を搭載したFujitsu STYLISTIC Q702 Windowsタブレットを使用しました。









Fujitsu STYLISTIC Q702タブレット



システムでの作業をより便利にするために、モバイルAndroidアプリケーションを作成しました。 彼のテストは、Lenovo K900スマートフォンで実行されました。 Intel Atom Z2580プロセッサー(周波数2 GHz)と2 GBのRAMを搭載しています。









スマートフォンLenovo K900



ZigBeeコーディネーターの役割は、Arduinoの拡張ボードのフォームファクターで作成され、ZigBeeプロトコルの要件を満たすXBee ZB S2無線モジュールによって果たされます。 接続されているZigBeeセンサーを制御します。









XBee ZB S2ラジオ



このプロジェクトには、光センサーNetvox Z311Xが含まれていました。 ZigBee規格の要件を満たしており、部屋の照明レベルの測定を担当します。









光センサー



Netvox ZB11D赤外線センサーは、プレゼンスセンサーとして使用されます。 また、ZigBeeプロトコルをサポートし、究極のネットワークデバイスの役割を果たします。









存在センサー



システムは、Netvox Z602Aシグナリングモジュールを使用します。 このデバイスは、音と光のアラートを組み合わせて、緊急事態で使用されます。 このモジュールは、ZigBee HA標準に基づいています。









アラーム



プロジェクトで使用されるインテリジェントなZigBeeソケットは、Netvox Z809AGです。 このデバイスは、電気計測と電気回路管理の機能を組み合わせています。 これにより、部屋のさまざまな電化製品の電源をオンまたはオフにできます。









スマートソケット



ハードウェアインフラ



これは、プロジェクトに関係するハードウェア間の接続がどのように見えるかです。









システムデバイス図



システムのハードウェアアーキテクチャは、次の4つの部分に分けることができます。





これらのハードウェアユニットは、SCRの3つの主な機能に焦点を当てています。



  1. 部屋を監視し、状況を評価する 。 リアルタイムのZigBeeライトおよびプレゼンスセンサーは、部屋の状況情報をIntel Edisonベースのゲートウェイに配信します。 ZigBeeネットワークは、センサーとゲートウェイの通信に使用されます。 エジソンは測定値を分析し、部屋に誰かがいるかどうかを判断し、Wi-Fi経由でプッシュサーバーに結果を送信します。



  2. 部屋の予約とスマートなスケジュール 。 従業員は、システムによると無料の会議室を予約できます。 これは、Androidスマートフォンを使用して行われます。 利用可能な会議室がない場合、従業員は忙しい部屋を選択し、会議室のスタンバイモードをオンにすることができます。 システム、特にIntel Edisonは、選択した部屋が空いていると判断するとすぐに、メッセージがサーバーに送信され、サーバー上の通知がスマートフォン上のアプリケーションに送信されます。



  3. リモートアクセスと管理 。 アプリケーションは、部屋のデバイスを制御するために、プッシュサーバーを介してWi-Fi経由で予約済みの部屋のステータスに関する情報を要求できます。たとえば、照明のオン/オフを切り替えたり、ZigBeeセンサーからリアルタイムで情報を受信したりできます。


ソフトウェア



既に述べたように、会議室などの多くの組織リソースは、最も効率的な方法で使用されていません。 これは特に大企業に当てはまります。 たとえば、従業員Aは、企業のWebサイトを使用して、午前8時から午前10時まで会議室を予約しました。 会議は9.00で終了しました。つまり、部屋が空いたその瞬間から、他の誰かがそれを利用することができます。 同時に、同じサイトを使用している従業員Bが無料の部屋を探しているとします。 しかし、彼は従業員Aが予約したものを選択することはできません。データベースでは、彼女は実際には無料ですが、忙しいとリストされています。 したがって、従業員Bは別のオプションを探す必要があり、空いた部屋は空になります。



下の図は、使用するソフトウェアソリューションのブロック図を示しています。









ソフトウェアアーキテクチャ



プッシュサーバー



プッシュサーバーとして、GlassFish 4.0を使用しました。 これがサーバーアーキテクチャの外観です。









サーバーアーキテクチャ



サーバーシステム図を以下に示します。 Edisonは、ZigBeeセンサーからの情報を使用して、部屋の状態が「空き」から「忙しい」、またはその逆に変化したと判断すると、サーバーに通知します。 サーバーは、データベース内の対応するレコードを順番に変更し、部屋が空の場合、Androidアプリケーションにメッセージを送信します。









プッシュサーバーワークフロー



Intel EdisonおよびZigBee



Arduinoでは、Intel EdisonとXBeeコーディネーター間のインターフェースはシリアルポートとしてエミュレートされます。 Intel Edisonで実行されるアプリケーションは、ZigBeeゲートウェイとして機能します。 これにより、コマンドをZigBeeセンサーに送信し、センサーから応答を受信できます。

ZigBeeコーディネーターは、センサー情報をプッシュサーバーに送信する役割も担います。









Arduino ZigBeeスタックデバイス



Arduino環境では、センサーとの対話に使用される単純なZigBeeスタックを設計および実装しました。 ボードはコーディネーターモードで動作し、センサーの状態を監視します。これが可能な場合は、センサーを管理できます。



ZigBeeスタッククラス

クラス

機能

XBeeAddress

ZigBeeデバイスの基本クラス

XBeeAddress64

ZigBee 64ビットIEEEアドレス

XBeeAddress16

ZigBee 16ビットネットワークアドレス

ペイロード

ZigBeeコマンドフレームペイロード

ExplicitAddressCommand

ホームオートメーション仕様で使用されるZigBeeコマンドフレーム

ExplicitAddressCommandResponse

明示的なアドレスでのコマンドへの応答

XBeeSensor

ZigBeeセンサーの基本クラス

XBeeLightSensor

ZigBee光センサー

XBeeInfraSensor

ZigBeeプレゼンスセンサー

XBeeAlarm

ZigBeeアラーム



ArduinoXBeeの主な機能



ArduinoXBeeのメインクラスはXBeeCoordinatorです。 このクラスは、ZigBeeセンサーの制御を担当します。 その主なタスクは、センサーから情報を収集し、コマンドを送信して、その動作をリモートで制御することです。 以下は、センサーを操作するために使用される機能の説明です。



Int getLightValue(XBeeLightSensor lightSensor) 。 この関数は、光センサーから情報を取得するために使用されます。 光センサーのオブジェクトはその入力に送られます;出力では、0から65535の範囲の整数を取得します。



bool getInfraValue(XBeeInfraSensor infraSensor) この機能は、プリセットプレゼンスセンサーの測定値を受け取ります。 呼び出されると、プレゼンスセンサーオブジェクトが渡され、論理値を返します。 Trueは部屋に誰かがいることを示し、False-部屋は空であることを示します。



void turnOnAlarm(XBeeAlarmアラーム)およびvoid turnOffAlarm(XBeeAlarmアラーム) 。 これらの機能は、それぞれアラームのオンとオフを切り替えます。 呼び出されると、目的のデバイスを象徴するオブジェクトが使用され、何も返されません。



void turnOnSwitch(XBeeSmartPlugプラグ)およびvoid turnOffSwitch(XBeeSmartPlugプラグ) 。 これらの機能を使用すると、スマートソケットによって電源をオンまたはオフにできます。 関数を呼び出すとき、それらはアウトレットに対応するオブジェクトを与えられます;それらは何も返しません。



Androidアプリ



ユーザーがアプリケーションを起動すると、新しいスケジュールを作成するか、既存のスケジュールを管理する、つまり削除することができます。 新しいスケジュールを作成することにより、ユーザーは時間と場所で会議室を検索できます。 部屋が無料の場合、すぐに予約できます。 部屋が混雑している場合、ユーザーは部屋が解放されるのを待つオプションを選択できます。 ZigBeeセンサーが指定された時間範囲内に部屋の解放を検出するとすぐに、プッシュサーバーはアプリケーションに通知を送信し、この通知を受け取ったユーザーは部屋を予約できます。









Androidアプリケーションシステム図



Androidアプリのユーザーインターフェイス



「Smart Conference Room System」と呼ばれるAndroidアプリケーション。 これを使用して、組織の従業員は会議室を予約し、予約済みの部屋を管理できます。 アプリケーションのメイン画面は次のようになります。









アプリケーションのホーム画面



ここでは、左側のコマンドを使用して、新しいスケジュールを作成し、既存のスケジュールを管理し、アカウントと設定を操作します。



My Schedulingコマンドを使用して、ユーザーは会議室を予約できます(青は会議室が空いていることを示すために使用され、灰色は既に予約されているものを示します)。 部屋が空いていない場合、ユーザーはその解放のためにスタンバイモードをオンにすることができます。









部屋の予約



ユーザーは予約した部屋、または解放される予定の部屋のステータスを確認できます。 正常に予約された部屋は青色で表示され、従業員が解放される予定の部屋は灰色で表示されます。 ここで、スケジュールを管理できます。









スケジュール管理



特定の部屋が空いたことをシステムが検出すると、そのリリースを待っているすべてのユーザーに通知を送信します。 通知は次のようになります。









部屋のリリース通知



最初に応答した人は、空いたばかりの部屋を予約できます。 残りは再び待機リストに分類されます。



結論



Arduino用のシンプルなZigBeeスタックに基づいたインテリジェントな会議室管理システムを開発しました。 システムは、部屋が空いているか忙しいかをリアルタイムで判断できます。 これにより、会議室の予約がより簡単になり、より便利になり、会議室の使用効率が向上します。



すでに多くのことが行われていますが、私たちはまだいくつかの困難に直面しています。 これは、システムのさまざまな側面に適用されます。 そのため、内部構造、基になるスタックについて説明すると、これらはAPIスタックと複合体全体の機能の制限です。 さらに、システムの安定性とその機能の他の側面を改善する必要があります。 スマート会議室システムの次のバージョンを作成する予定です。これは、機能性、安定性、利便性が向上します。つまり、組織内の会議室の使用を最適化するという主要なタスクをより適切に解決します。



All Articles