會議室大升級,動手打造智慧型會議系統

評論
評論

在許多公司裡,會議室的使用效率十分低落。這種情況有兩大原因:可能有人訂了會議室,卻從沒在排定的時間內確實開會;或是會議提早結束,然後徒留空間閒置不用。

智慧型會議室系統 (Smart Conference Room System,SCR System) 的開發即是為了解決此類問題。 SCR 系統使用了 Intel® Edison 開發板、 Arduino 擴充板、 Android* 智慧型手機、推播伺服器以及 ZigBee 感應器.─. 包括 ZigBee 光感應器、ZigBee 紅外線感應器、ZigBee 智慧型插座與 ZigBee 警報器。此系統可即時偵測會議室內的環境狀況,然後判斷房內是否有人,並通知推播伺服器重新排定使用時間表,有助加強會議室空間運用的效率及便利性。

ZigBee 是一套高等通訊協定的規格標準,用於建立私人區域網路 (以小型低功率數位無線訊號所構成)。 ZigBee 的基礎是 IEEE 802.15.4 標準。 ZigBee 協定適用於嵌入式應用程式,要求低耗電且僅容許較低的數據傳輸率。依此方式建置的網路將耗用較少電量。裝置電池壽命必須至少兩年,才能通過 ZigBee 認證。佔用感應器、智慧照明以及溫度控管等居家自動化功能即為 ZigBee 的典型運用方式。

Arduino 是一間開源電腦軟/硬體公司,也是專門設計製造微控制器型套件的專案兼使用者社群,這些套件製成的數位裝置和互動物品,能夠感測或控制實體物件。Arduino 一項重要特色在於標準接頭,這種接頭可讓使用者將 CPU 板連接各式各樣稱為「盾板 (shield)」的通用附加模組。Intel® Edison 開發板也可支援 Arduino,因此相容於上千種 Arduino 模組,包括 XBee* 的 ZigBee 模組。

XBee 是 Digi International 的品牌名稱,係指一系列外型尺寸相容的無線電模組。XBee ZB 為 XBee 系列模組之一,採用了 ZigBee PRO 網狀網路協定。

系統概觀

SCR 系統包括硬體及軟體兩大部分。硬體部份包含 Intel® Edison 開發板、Arduino 擴充板、推播伺服器、Android 智慧型手機、XBee ZB S2 ZigBee 模組、多個 ZigBee 感應器以及其他部件。軟體部份則是推播伺服器、Android 應用程式以及 Intel® Edison 開發板解決方案。

硬體概觀

螢幕截圖 2016-05-10 16.03.16

Intel® Edison 開發板與 Arduino 擴充板 Intel® Edison 開發板與 Arduino 擴充板 (如下圖) 是本系統的控制核心。Intel® Edison 開發板可相容於 Arduino,因此 XBee ZB S2 等相容於 Arduino 的裝置也可和 Intel® Edison 開發板一同運作,將裝置安裝到 Arduino 擴充板上即可。

edison-board

推播伺服器:我們的伺服器設置在 Windows 平板電腦上:Fujitsu STYLISTIC Q702,搭載 Intel® Core™ i5-3427U 處理器 @ 1.80 GHz,配備 4.00 GB RAM。

push-server

Android 智慧型手機:我們為 SCR 系統開發了 Android 應用程式,希望讓系統使用起來更方便。我們也使用了 Intel® x86 型的智慧型手機 Lenovo K900* 來測試應用程式。

android-phone

ZigBee 協調器:XBee ZB S2 是以 Arduino 擴充板為基礎的無線通訊模組,遵守 ZigBee 協定。其作用為 ZigBee 的協調器,負責管理周遭的 ZigBee 感應器。

zigbee-coordinator

ZigBee 光感應器:Z311X 是一款 ZigBee 的光感應器,可測量環境光的強度。

zigbee-light-sensor

ZigBee 紅外線感應器:Netvox ZB11D* 為紅外線輻射 (IR) 佔位感應器,作為 ZigBee 網路內的終端裝致使用。

infrared-zigbee-sensor

ZigBee 警報感應器:Netvox Z602A* 是一款警報器裝置,是在緊急狀況使用的警報音設備。此裝置依據的是 ZigBee HA 標準。

alarm-zigbee-sensor

ZigBee 智慧型插座感應器:Netvox Z809AG* 是 ZigBee 的測量與開關插座,可執行開關控制功能,用來開啟或關閉室內的電子設備。

smart-plug-zigbee-sensor

硬體基礎架構

硬體的基礎架構如下圖所示:

hardware-infastructure

本系統由四大部份構成:推播伺服器、Intel® Edison 開發板閘道、手機、ZigBee 感應器。本系統具有三大功能:

  • 狀態偵測與判斷 :ZigBee 感應器會利用光感應器和紅外線感應器即時偵測會議室內的情況,再透過 ZigBee 協定將訊息發送到 Intel® Edison 開發板。Intel® Edison 開發板會判斷房內是否有人,再藉由 Wi-Fi* 將會議室的狀態傳送給推播伺服器。
  • 會議室預訂與智慧排程 :員工能以智慧型手機的 Android 應用程式預訂狀態為「空」的會議室。若沒有合適的空房間,則可以選擇某間狀態為「使用中」的會議室,並「排隊等候」。所選擇的會議室由 Intel® Edison 開發板判斷為「空」時,Intel® Edison 開發板便會通知伺服器,伺服器再將通知傳送給應用程式。
  • 遠端存取與控制 :應用程式可以透過 Wi-Fi,經由推播伺服器詢問預訂的會議室狀態,或控制房內的各種裝置 (如照明設備),同時也可得知 ZigBee 感應器的即時狀態。

 

軟體

像會議室這類公司資源經常未以最有效率的方式使用,較大型的公司尤其如此。舉例而言,員工 A 使用公司網站登記於上午 8:00 至 10:00 使用會議室。那場會議在 9:00 結束,此時會議室已經可以開放給其他人使用。但是當員工 B 到網站上搜尋是否有可使用的會議室時,由資料庫內的狀態仍是「使用中」,他就沒辦法選擇該間。因此員工 B 被迫找尋其他會議室。

下圖為軟體解決方案的系統結構。

software-architecture

推播伺服器

本系統採用 GlassFish* Server 4.0 作為推播伺服器。伺服器架構如下圖所示。

push-server-architecture

軟體工作流程

下圖為應用程式伺服器的系統圖。本系統採用 ZigBee 感應器來偵測會議室的狀態。當 Intel® Edison 開發板偵測到狀態改變時,便會將「空」或「使用中」的狀態通知給伺服器。伺服器會更改資料庫內的會議室狀態,然後將訊息推送到智慧型手機上的 Android 應用程式,以便重新安排時間表。

system-workflow-push-server

Edison ZigBee 系統

軟體架構

Arduino 的序列埠模擬了 Intel® Edison 開發板和 XBee 協調器之間的介面,而在 Intel® Edison 開發板上執行的應用程式則是作為 ZigBee 閘道使用,我們可透過應用程式傳送指令給 ZigBee 感應器,並接收 ZigBee 感應器傳來的回應。

ZigBee 協調器也負責將感應器的數值傳送給推播伺服器,其功能為接收 ZigBee 感應器的回報。

zigbee-steps-to-edison-platform

設計 Arduino 內的 ZigBee 堆疊

我們設計了一個 Arduino 的 ZigBee 堆疊並用於評測居家自動化效能以及 ZigBee 感應器的動作。這個堆疊以協調器模式運作,可控制並管理光感應器、紅外線感應器、智慧插座與警報感應器。

螢幕截圖 2016-05-10 16.37.09

ArduinoXBee 的主要功能

ArudionoXBee 的核心類別為 XBeeCoordinator。此類別負責管理 ZigBee 感應器,其主要的功能是遠端收集感應器的狀態並發送指令,藉以遠端控制感應器的行為。

• Int getLightValue(XBeeLightSensor lightSensor)
輸入:ZigBee 光感應器物件。
傳回:0 到 65535 之的整數
功能:取得特定的 ZigBee 光感應器的光度測量值。
• bool getInfraValue(XBeeInfraSensor infraSensor);
輸入:ZigBee 佔位感應器物件。
傳回:布爾值 (True 代表有人)
功能:取得特定的 ZigBee 佔位感應器的佔位狀態。
• void turnOnAlarm(XBeeAlarm alarm);
輸入:ZigBee 警報裝置物件。
傳回:無傳回值。
功能:開啟特定的 ZigBee 警報裝置。
• void turnOffAlarm(XBeeAlarm alarm);
輸入:ZigBee 警報裝置物件。
傳回:無傳回值。
功能:關閉特定的 ZigBee 警報裝置。
• void turnOnSwitch(XBeeSmartPlug plug);
輸入:ZigBee 智慧插座裝置物件。
傳回:無傳回值。
功能:開啟特定的 ZigBee 智慧插座裝置。
• void turnOffSwitch(XBeeSmartPlug plug);
輸入:ZigBee 智慧插座裝置物件。
傳回:無傳回值。
功能:關閉特定的 ZigBee 智慧插座裝置。

Android 應用程式

系統圖

使用者打開應用程式時,可選擇制定新時間表,或管理既有時間表 (例如刪除既有時間表)。制定新時間表時,使用者可依據時間和地點來搜尋特定會議室。若會議室無人使用,使用者便能直接預訂這間會議室。若會議室有人在使用,則使用者可選擇等待該間空出。一旦 ZigBee 感應器測得指定時間內該會議室無人使用,推播伺服器就會發送通知給 SCR 系統應用程式,而使用者將收到可預訂會議室的通知。

Android 應用程式使用者介面

我們開發的 Android 應用程式名為 Smart Conference Room System,可供員工使用來預訂會議室或管理已預訂的會議室。SCR 系統的使用者介面如下所示。

android-app-ui-start

在使用者介面中,使用者可選擇左側選項來排定新時間表,也可以管理既有時間表或是帳戶。

android-app-ui-my-scheduling
使用者可使用 My Scheduling (我的時間表) 選項來預訂會議室 (藍色代表會議室目前無人使用,灰色則代表該房間有人預訂。) 若會議室尚未空出,使用者可選擇排隊等待。

使用者可檢查時間表的狀態 (藍色為成功預定,灰色為尚需等待) 並管理既有時間表。(如下圖)

notification-to-every-user

當系統測得指定房間空出時,會對每位排隊等候的使用者發出通知。使用者會在應用程式上收到訊息。

reserve-this-room

最快接收到訊息的使用者可預訂該會議室,其他使用者則會重新列入等待狀態。

總結

我們以簡單的 Arduino ZigBee 堆疊為基礎開發了 SCR 系統,本系統可偵測特定房間的即時環境狀態,並智慧地為員工安排時間表,可促進會議室的預訂工作更為輕鬆方便。

不過我們在堆疊和 SCR 系統方面都遭遇一些挑戰,例如堆疊和 SCR 系統的 API、功能上的限制以及系統穩定度等等。我們預計在下一版本提供更多功能。

關於作者

Liang Z. Zhang 是 Intel 中國開發人員關係部 (Intel PRC Developer Relationship Division) 的應用程式工程師,負責支援企業應用程式以及在 Intel® 平台上的物聯網開發人員。

更多精選文章.....

《COMPUTEX 2016 CPX 論壇》

帶領您解碼四大議題:IoT 生態系  X  未來科技  X  智慧製造  X  創新應用  

活動日期:2016.05.31-2016.06.01

活動時間:9:00-17:30

活動地點:臺北國際會議中心 3 樓宴會廳  ( 臺北市信義區信義路五段 1 號 )

活動網址:http://goo.gl/TuVI6d

歡迎加入「Inside」Line 官方帳號,關注最新創業、科技、網路、工作訊息

好友人數

精選熱門好工作

Campaign Associate 資深線上活動策劃專員

樂購蝦皮股份有限公司
臺北市.台灣

獎勵 NT$20,000

行銷企劃專員 (網站活動)

VeryBuy非常勸敗
臺北市.台灣

獎勵 NT$20,000

iOS工程師

Omlet Arcade 美商歐姆雷特
臺北市.台灣

獎勵 NT$20,000

評論