李泳君,楊懷港,鄭浩鑫,陶 銘
(東莞理工學院 計算機科學與技術學院,廣東 東莞 523808)
體育館建設是體育運動設施建設中的重要一環(huán),同時也體現(xiàn)了城市居民的生活質量水平。隨著生活水平的日益提高,人們對體育館的需求越來越大,體育館的數(shù)量也在不斷增加,但存在管理體系復雜等問題,導致體育館場地不能夠高效利用。因此,設計并開發(fā)了一種高效、智能的基于物聯(lián)網(wǎng)技術的體育館管理系統(tǒng),以提高體育館場地的利用率和管理水平。
本系統(tǒng)的設計主要包括5部分功能:
(1)硬件部分采用STM32和ESP8266相結合的設計方案,通過MQTT通信協(xié)議對體育館場地設備進行控制;
(2)服務器端主要對系統(tǒng)運行過程中產(chǎn)生的數(shù)據(jù)進行存??;
(3)基于Bootstrap框架的系統(tǒng)管理員后臺主要實現(xiàn)體育館管理員、用戶信息和體育館場地信息的管理,以及體育館設備管理、訂單查看以及消息推送等功能;
(4)基于Android的體育館用戶APP客戶端主要實現(xiàn)用戶獲取體育館信息以及對體育館場地進行預約。
本系統(tǒng)后端采用的框架主要由SSM架構與三層架構組成。SSM架構是指Spring框架、SpringMVC框架和MyBatis框架。三層架構是指將系統(tǒng)項目按照職責不同劃分為數(shù)據(jù)訪問層、業(yè)務邏輯層和交互層,其中界面層用到了SpringMVC框架,數(shù)據(jù)訪問層使用MyBatis框架,而Spring框架則用于全部層次之中。SpringMVC框架使用MVC軟件設計模式,其中M代表模型(Model)、V代表視圖(View)、C代表控制器(Controller)。前端使用Web網(wǎng)頁、安卓APP和PyQt5桌面應用。系統(tǒng)架構如圖1所示。
圖1 系統(tǒng)架構
體育館管理員模塊的功能分為四大類:體育館訂單管理功能、體育館場地管理功能、體育館推送管理功能和體育館工作日設置功能。主要功能為體育館訂單管理功能,如圖2所示,包括:添加體育館訂單、查看體育館訂單信息、取消體育館訂單。
圖2 體育館訂單管理功能時序圖
體育館用戶模塊的功能有三大類:用戶賬戶管理功能、體育館場地預約功能和控制已下單的場地功能。主要功能為體育館場地預約功能,如圖3所示,包括:用戶通過該功能實現(xiàn)對體育館場地的預約。
圖3 體育館場地預約功能時序圖
本文設計了一種場地分配算法來更加智能地滿足體育館用戶的場地預約請求,具體算法描述如下:
(1)預約場地訂單的開始時間是當天:在這種情況下,場地分配算法會先查找符合預約類型的場地,然后再查找這些場地當天的場地訂單,接著對每個場地的所有訂單按照開始時間從小到大進行遍歷,查看有無新訂單插入的位置,如果有,則預約成功,否則預約失敗。
(2)預約場地訂單的開始時間不是當天:在這種情況下,場地分配算法會先查找符合預約類型的場地,然后再查找與預約訂單同一天開始的同類型訂單,接著給每個符合預約類型的場地設置最后結束時間,并且把這些場地按照最后結束時間從小到大排序,形成有序的場地集合。把與預約訂單同一天開始的同類型訂單合成訂單集合,并按照開始時間從小到大排序。最后遍歷訂單集合,對于每一個遍歷到的訂單,取場地集合中的第一個場地,如果第一個場地的開始時間小于訂單的開始時間,則說明該訂單無法分配場地,預約失敗。如果第一個場地的開始時間大于訂單的開始時間,則該訂單可以被分配場地,然后更新該訂單的場地信息和該場地的最后結束時間,并對場地集合重新排序,接著遍歷下一個訂單。如果訂單集合都能分配場地,則預約成功。
據(jù)實體對象的屬性設計本系統(tǒng)各實體對象之間的關系模型。系統(tǒng)關系模型如下(單下劃線用來表示“主鍵”,雙下劃線用來表示“外鍵”):
(1)系統(tǒng)管理員(,名稱,賬號,密碼);
(2)體育館管理員(,郵箱,密碼,手機號碼,體育館名稱,體育館狀態(tài),體育館地址,體育館工作日,體育館開始時間,體育館關閉時間,注冊時間,羽毛球場價格,籃球場價格);
(3)體育館用戶(,郵箱,名稱,手機號碼,密碼,注冊時間);
(4)體育館場地(,,場地名稱,場地類型,場地空閑狀態(tài),場地設備狀態(tài),場地燈光狀態(tài),場地使用狀態(tài));
(5)體育館訂單(,訂單名稱,創(chuàng)建時間,開始時間,時長,價格,訂單狀態(tài),,,);
(6)體育館推送(,,創(chuàng)建時間,推送內(nèi)容);
(7)體育館假期(,,假期時間)。
打開安卓APP輸入賬戶、密碼登錄成功后,進入體育館用戶主界面。APP用戶端的重點功能為場地預約和設備控制,體育館用戶查看場地信息后,可對場地進行預約,使用指定場地預約時,用戶可以看到該場地的使用時間線,然后根據(jù)使用時間線進行場地預約,如圖4所示。體育館用戶下單后,可對已下單場地進行控制,如圖5所示。勾選設備和燈光鍵后,對應場地的設備將被打開。原型系統(tǒng)中燈光開啟效果如圖6所示。
圖4 訂單信息
圖5 勾選設備
圖6 打開場地燈光
本文設計并實現(xiàn)了一種基于物聯(lián)網(wǎng)技術的智慧體育館管理系統(tǒng)。硬件部分采用STM32+ESP8266,并采用MQTT傳輸場地設備控制指令。后端基于SSM架構,同步開發(fā)了體育館用戶Android APP、基于PyQt5框架的體育館管理員桌面應用客戶端和基于Bootstrap框架的Web管理后臺,以及設計了一種場地分配算法,能夠更加智能地滿足體育館用戶場地預約請求。本系統(tǒng)雖然實現(xiàn)了智能體育館的基本功能,但仍有許多不足之處,需進一步完善。