盧凱飛 王紀源 趙恒 李娜娜



摘? 要:針對在投籃訓練過程中計算命中率困難以及校園體育籃球考試公平性的問題,文章提出一種基于ZigBee網絡的智能籃球計數系統。系統采用CC2530硬件芯片,通過ZigBee技術搭建傳感網絡;網絡通信采用Socket技術,將上位機與服務器連接;服務器搭建基于MVC三層架構,通過Web頁面與用戶進行信息交互,系統實現了遠程投籃的進球數,發球數以及命中率的實時監控和歷史數據查詢功能,該系統具有功耗低、成本低、操作簡單便捷、可擴展性強等優點,具有一定的推廣與應用價值。
關鍵詞:ZigBee;Z-Stack;Web;實時;籃球計數;WinForm;紅外對管
中圖分類號:TP368.1? ? ? 文獻標識碼:A 文章編號:2096-4706(2021)02-0154-05
Abstract:In view of the difficulty in calculating the hit rate in shooting training and the fairness of campus sports basketball examination,this paper proposes an intelligent basketball counting system based on ZigBee network. The system uses CC2530 hardware chip to build sensor network through ZigBee technology;the network communication uses Socket technology to connect the master computer with the server;the server is built based on MVC three-tier architecture to interact with the user through the Web page. The system realizes the function of real-time monitoring and historical data inquiry of the number of goals,serve and hit rate of the long-distance shooting. The system has the advantages of low power consumption,low cost,simple operation,strong scalability,etc.,and has certain promotion and application value.
Keywords:ZigBee;Z-Stack;Web;real-time;basketball counting;WinForm;infrared antitube
0? 引? 言
隨著現代化建設進程的加快,人們對于體育運動的需求也越來越多,能夠強身健體的籃球運動也早已經進入千家萬戶。很多城市都涌現出大量的訓練機構,并且大部分高校也將籃球納入了體育考試的項目中,而在投籃訓練和考試過程中計算命中率或進球數時都需要記分員人工計算,這種人工計數的方案不僅費時費力也帶來了很多不確定的隱患。針對這一現狀,也為了給學員或學生提供更加科學、公平、準確的訓練與考試環境,迫切需要一種將數據進行存儲記錄和實時顯示的系統,方便用戶輕松便捷地查看與利用所記錄的數據。
本文提出了一種基于Web服務器的智能籃球計數系統,利用ZigBee技術的低功耗、低成本、高可靠性的優點[1]實現下位機無線采集控制組網,上位機能夠通過Socket連接與服務器資源相連從而實現數據中轉的功能,Web端作為本系統的終端能夠查看數據信息和歷史相關記錄。本系統具有使用方便、成本低廉、穩定性高、功能強大的特點。
1? 系統整體方案設計
該系統包括三大部分,分別是無線傳感控制網絡(下位機)、上位機程序和Web端。
系統下位機由搭載Z-Stack協議棧的CC2530單片機構成,其中終端節點實時收集發球和進球的數據信息,并將數據通過ZigBee無線網絡收集至協調器節點。協調器負責創建整個無線采集控制網絡并具備終端數據收集、數據展示和數據上傳功能。
上位機通過串口通信技術和Socket通信技術將系統數據從協調器轉發至服務器,作為本系統中連接因特網和ZigBee無線傳感控制網絡的“橋梁”,能夠實現完整的系統數據傳輸流程,同時也通過WinForm窗體提供了以文本文字、折線圖像等形式的數據展示功能。
Web端主要為用戶提供信息交互式服務,用戶可以通過Web頁面控制該系統的主體功能,其界面主要由用戶認證模塊、用戶模式選擇模塊、實時數據顯示模塊、歷史數據查詢模塊和學生信息管理模塊五部分構成。用戶認證模塊具有用戶的登錄、注銷、注冊與刪除等功能。用戶模式選擇模塊具有對不同模式的選擇功能。實時數據顯示模塊具有顯示發球數、命中數和命中率的功能。歷史數據查詢模塊具有查詢用戶和學生的歷史數據的功能。學生信息管理模塊具有對用戶班級的學生信息進行增、刪、改、查的功能。
系統整體以ZigBee無線網絡傳感技術為核心,整合了WinForm、JavaWeb和Android三大平臺,通過ZigBee網絡通訊、串口通信、Socket編程以及數據庫存儲等技術實現數據的完整傳輸流程,確保系統數據的有效性和實時性。其中整體無線采集控制網絡采用星型拓撲結構進行組網,各個終端以單播的形式將采集到的數據發送至協調器,協調器再通過串口通信的方式將收集到的數據轉發至上位機應用程序,管理員可以在該應用程序中查看數據,然后上位機將數據通過Socket通信上傳至Web服務器數據庫,最終用戶可通過瀏覽器軟件或手機APP等應用實時查看進球信息、歷史相關數據并能夠進行相關控制。系統整體設計方案如圖1所示。
2? 下位機的設計與實現
2.1? 下位機采用的技術
系統下位機采用支持ZigBee協議的CC2530單片機作為核心,分別組成若干個數據采集終端模塊、路由器模塊以及協調器模塊,并通過Z-Stack協議棧對ZigBee網絡中各個節點進行功能控制。其中數據采集終端模塊搭載紅外收發對管、蜂鳴器、七段數碼管和發光二極管等,分別安裝至發球處和籃筐處,當發球處和籃筐處有籃球經過時紅外收發對管能夠對其進行感知并提供給CC2530單片機串口低電平,從而觸動相關的中斷程序實現計數并通過ZigBee網絡將該數據發送給協調器。路由器模塊作為ZigBee網絡中的數據轉發節點,由于ZigBee網絡中所支持的節點傳輸距離有一定的局限性,所以當不同模塊之間的距離較長時需要使用該模塊達到數據轉發和測試連通性的功能。協調器模塊作為本系統中ZigBee網絡的核心模塊,能夠在通電后立即創建無線網絡并等待其他節點的加入,當節點全部加入后該模塊可以將網絡中終端模塊的數據信息進行收集并加以處理。在本系統中協調器模塊將終端采集到發球數和投球數的數據信息收集后上傳至上位機,并在協調器模塊的OLED顯示屏上實現數據實時顯示的功能。圖2為下位機功能實現圖。
ZigBee是一種短距離、低速率的無線網絡通信協議,在三大無線傳輸技術ZigBee、藍牙、Wi-Fi中,ZigBee以其低功耗、低成本、高可靠性、高安全性、組網能力強等特點成為物聯網領域重要的應用技術。主要應用在短距離、傳輸速率不高且節點數量較多的感知電子設備之間,由于ZigBee技術的特點與物聯網中感知層的設備特性較為貼合,目前已經在物聯網產業鏈中的M2M(Machine to Machine)[2]行業中得到了廣泛應用,如智能電網、智能樓宇、智能家居、智能交通等領域都有廣泛的應用。Z-Stack協議棧是在2015年由TI(德州儀器)公司推出的一種軟件架構[3],該架構是ZigBee協議的具體表現形式,它能夠以函數的形式將各個層的定義協議集合在一起,并提供相關應用層的API,開發人員在開發過程中只需要調用這些API便能夠實現對ZigBee網絡各個模塊的開發,極大地減少了開發人員編寫代碼的壓力,為開發ZigBee技術提供了便捷。Z-Stack協議棧采用分層架構的思想,整體由三部分構成,分別是硬件抽象層(HAL)、操作系統抽象層(OSAL)和ZigBee協議各層。但因為協議棧全部的內容是通過任務事件的方式而實現集成的,因此從整個程序運行的流程來說,硬件抽象層和操作系統抽象層是硬件相關的主要內容[4]。其中硬件抽象層提供給系統應用各種硬件模塊的驅動,操作系統抽象層則通過多任務處理機制形成了一個簡單的操作平臺。如圖3所示,Z-Stack協議棧的工作流程大體分為四部分,即啟動系統,初始化驅動,初始化OSAL以及OSAL任務輪詢主循環。
2.2? 紅外感知計數實現
本系統的籃球計數功能采用紅外線遮光的方式進行實現,采用紅外對管作為測量進球數及發球數的感知設備,平時紅外對管若沒有障礙物經過時能夠保證信號為暢通狀態,其I/O會一直保持高電平的狀態。而當紅外對管有障礙物經過時,紅外對管會出現信號阻斷的情況并通過I/O口給CC2530單片機反饋低電平,單片機通過外部I/O中斷程序以實現計數的功能。
該紅外對管傳感器分為兩部分,分別為發射極和接收極。紅外對管的發射極為紅外線發射二極管,通過使用紅外輻射率較高的材料構成PN結,當給予PN結正向電壓時能夠使載流子的擴散電流增加產生正向電流,從而激發波長為830~950 nm的紅外光。紅外對管的接收極為紅外線接收管,紅外線接收管一般有兩種,分別為紅外接收二極管和紅外光敏三極管。本系統采用的是NPN型光敏電阻三極管,當紅外對管的接收端接收到發射極的紅外信號后(未有阻礙物情況),此時NPN型光敏電阻三極管的集極會產生微小的電流從而使其處于飽和狀態,由于三極管的放大特性會使該三極管的集電極產生一個放大電流,從而使該處產生高電平的輸出電壓;當紅外對管的接收極未接收到發射極的紅外信號時(出現阻礙物情況),此時三極管處于關斷的狀態,集電極處的輸出電壓變換為低電平并觸發中斷。圖4為紅外對管電路原理圖。
3? 上位機的設計與實現
上位機采用C#語言進行WinForm窗體開發,實現上位機設計。其中C#是一門面向對象的編程語言,它由C和C++衍生而來,在繼承了C和C++強大功能的優點的同時也去除了它們特有的復雜性,成為.NETFramework應用程序開發的首選語言。WinForm(Windows Form)即Windows窗體,是微軟公司為客戶端程序設計提供的一套豐富的控件,在該控件下,開發人員能夠通過拖拉組件來實現客戶端程序的界面設計,其具有設計簡單、界面優美、維護方便等優點[5]。
本系統上位機主要實現的功能有數據交互、數據儲存、服務器轉發和數據展示四大功能。數據交互功能通過串口接收ZigBee無線網絡中上傳的數據,同時上位機能夠對ZigBee網絡中的數據進行初始化操作。數據存儲功能即能夠實現將接收到的數據以txt(文本文檔)的形式存儲至該PC機以留備份。服務器轉發功能是上位機通過Socket長連接與服務器通信,將串口接收到的數據轉發至服務器。數據展示功能是將數據展示在WinForm窗體中,同時利用Chart圖表繪制實時命中率折線圖。上位機程序流程如圖5所示。
4? Web端的設計與實現
本系統Web服務端是基于Tomcat服務器搭建的Web應用服務器,主要采用Java語言開發,使用MVC設計模式進行設計,通過Socket技術將下位機獲取的環境數據轉發至服務器,并利用MySQL數據庫存儲系統數據。通過將MVC整體理念應用到交互式軟件設計中,將該軟件設計開發劃分為模型板塊(Model)、視圖板塊(View)以及控制器板塊(Controller)三大部分。基于MVC設計理念進行的Web應用程序設計與程序開發可以提升Web應用程序的整體開發效率,進而降低Web應用程序的開發費用,除此之外還能夠使Web應用程序具有優良的維護和拓展的能力。Tomcat[6]是一個免費開源的Web輕量級應用服務器,由于它的可擴展性和安全性,使其在各種中小型系統中被廣泛應用。服務器后端采用Java語言進行設計與開發,通過MVC設計思想來搭建Web服務器的整體架構。服務器前端頁面采用HTML5+CSS搭建用戶界面并通過JavaScript、JSP技術進行動態網頁處理。
Web端主要負責與用戶交互功能的實現,在上位機通過Socket連接向Web端轉發數據后,通過MySQL數據庫對數據進行存儲。當用戶向服務器請求相關的數據信息時,Web服務器通過調用數據庫中對應信息并在Web頁面呈現給用戶。其具體功能包含五大模塊,分別為用戶認證模塊、用戶模式選擇模塊、實時數據顯示模塊、歷史數據查詢模塊和學生信息管理模塊。用戶認證模塊具有用戶的登錄、注銷、注冊與刪除等功能,該模塊控制了登錄用戶的權限,提高了系統的安全性。用戶模塊選擇模塊具有選擇不同功能的作用,并且作為本系統的主界面,能夠實現對不同用戶的分流。實時數據顯示模塊主要負責實時顯示由無線采集控制網絡采集到的數據,以方便用戶實時查看。歷史數據查詢模塊能夠根據用戶選擇的人員或編號進行精確查詢,并將查詢到的數據在頁面上展示出來。學生信息管理模塊中管理員能夠通過頁面操作按鈕,實現對MySQL數據庫中存儲的學生信息進行更改、增加和刪除等操作。手機APP端通過Socket連接技術與服務器進行通信,將前端界面的信息同手機APP進行同步,實現移動手機端的操作,更方便用戶查看操作。Web系統框架如圖6所示。
5? 系統測試
通過賬號與密碼驗證用戶身份,成功登錄后,進入到智能籃球計數系統的主頁面。在頁面主界面,分別有訓練模式,考核模式,查看歷史信息、學生信息管理和退出登錄。如圖7所示。
通過主界面的訓練模式或者考核模式按鈕,分別進入到訓練界面和考試界面。在此界面上可以選擇開始與結束。同時考試界面還能選擇考生的姓名。界面中分別描述發球數、進球數與命中率。如圖8、圖9所示。
通過點擊查看歷史信息,可以進入到歷史信息欄。界面中默認顯示學生成績歷史記錄,還可以通過點擊上方按鈕查看訓練歷史信息。用戶可通過查看或導出歷史信息直觀地了解學員的成績。如圖10所示。
通過主界面中的學生信息管理按鈕,進入到信息管理界面。界面中顯示系統錄入的學生信息,可通過排序進行區別查詢,點擊姓名可以更改學生信息,點擊增加按鈕可以在系統中添加新學生的信息。用戶可以根據對學生的信息統計進行更公平的打分。如圖11所示。
用戶還可以直接通過手機APP進行系統管理,整體功能與Web端實現的功能整體一致。如圖12所示。
6? 結? 論
本文設計的基于Web服務器的智能籃球計數系統,經過測試能夠達到預期設計目的。本系統不僅能夠將得到的發球數、進球數、命中率等數據通過OLED屏幕、網頁瀏覽器和移動設備端多維度實時展示給用戶,而且系統數據能夠通過導出等形式加以利用。本系統實現了ZigBee、本地局域網和Internet網絡的數據互聯互通,系統功能強大,并且具有安全可靠、公平公開、可隨時隨處查看等優點。可廣泛用于訓練機構、學校等場所,在智慧健身鍛煉領域具有良好的發展前景。
參考文獻:
[1] 章偉聰,俞新武,李忠成.基于CC2530及ZigBee協議棧設計無線網絡傳感器節點 [J].計算機系統應用,2011,20(7):184-187+120.
[2] 彭曉睿.物聯網中M2M技術與標準進展 [J].信息技術與標準化,2010(11): 33-35.
[3] 高翔,鄧永莉,呂愿愿,等.基于Z-Stack協議棧的ZigBee網絡節能算法的研究 [J].傳感技術學報,2014,27(11):1534-1538.
[4] 張奇松,尹航.Z-Stack剖析及其在無線測溫網絡中的應用 [J].計算機系統應用,2009,18(2):103-105.
[5] 趙春玲.NET平臺下開發三層架構WinForm應用程序簡介 [J].信息技術與信息化,2010(4):33-35.
[6] 劉震林,喻春梅.基于MVC模式的JAVA Web開發與實踐應用研究 [J].網絡安全技術與應用,2021(1):57-58.
作者簡介:盧凱飛(1999—),男,漢族,河南平頂山人,本科在讀,研究方向:物聯網技術與應用。