• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      SpringMVC框架技術在無線答題系統(tǒng)中的應用

      2017-09-27 15:33:16陳騫黃辰
      物聯(lián)網(wǎng)技術 2017年9期
      關鍵詞:串口通信

      陳騫 黃辰

      摘 要:文中設計了一款軟硬件結合的無線答題系統(tǒng),軟件部分為基于SpringMVC實現(xiàn)的Web系統(tǒng),硬件包含接收器,電子答題器等。硬件通過串口與PC上的Web系統(tǒng)通信,實現(xiàn)所需要的系統(tǒng)功能。

      關鍵詞:SpringMVC;答題系統(tǒng);串口通信;Web

      中圖分類號:TP311 文獻標識碼:A 文章編號:2095-1302(2017)09-0-03

      0 引 言

      隨著網(wǎng)絡和多媒體技術發(fā)展逐漸完善,多媒體授課,網(wǎng)絡授課在學生的課堂中扮演著越來越重要的角色。分析了目前學校課堂的信息化程度后發(fā)現(xiàn),如果有一種無線答題系統(tǒng)能夠方便老師課堂上通過題庫選擇題目,學生當場通過設備作答,可以大大提高教師和學生之間的溝通互動,使得該系統(tǒng)擁有廣闊的市場前景[1]。

      本文根據(jù)此背景,設計了一種可進行課堂教學評價和師生無線答題的系統(tǒng),該系統(tǒng)將學生的答題器連接到接收機和計算機軟件,由老師控制軟件實現(xiàn)互動。

      1 系統(tǒng)功能設計

      本系統(tǒng)具有題目、人員信息導入,硬件配置,選擇題作答,答題結果統(tǒng)計等功能。題目類型分為單選、多選,支持同一題目多次作答,系統(tǒng)會記錄每次作答的結果,同時還可實現(xiàn)統(tǒng)計所有題目的作答情況。

      教師通過系統(tǒng)出多道選擇題(包括單選和多選),軟件后臺通過接收器下發(fā)作答指令,學生作答后提交答案,接收器將學生的作答答案及提交時間上傳到后臺,由后臺軟件進行數(shù)據(jù)處理,可統(tǒng)計出提交答案人數(shù)、正確人數(shù)、錯誤人數(shù)和正確率等。

      2 系統(tǒng)總體架構

      本系統(tǒng)涉及的硬件包含接收器,答題器,服務器。服務器充當答題器上位機和軟件系統(tǒng)的角色,軟件部分為基于Java Web技術實現(xiàn)的Web系統(tǒng),電子答題器通過2.4 G網(wǎng)絡與接收器通信,數(shù)據(jù)通過接收器透傳給服務器,其擁有17個物理按鍵和1個人機交互顯示屏,采用2.4 G免費頻段通信,支持遠距離考勤最大距離為50 m,支持多終端同時并發(fā)120個數(shù)。接收器通過USB與多媒體計算機連接,主要收集答題器的數(shù)據(jù),匯總后發(fā)送給中間件,同時將上層的配置指令等發(fā)送給下層答題器。系統(tǒng)邏輯圖如圖1所示。

      圖1 系統(tǒng)邏輯圖

      本系統(tǒng)軟件部分在SpringMVC框架的基礎上進行開發(fā),SpringMVC是目前Java Web體系中非常流行的MVC框架,軟件系統(tǒng)包含View層、Pipe層、Logic層、Data層,其中View層包含了Web端,是“前端”的一部分,實現(xiàn)了用戶可觀看的軟件或網(wǎng)站界面;其他三層均為“服務端”部分,具有向前端傳遞數(shù)據(jù),提供HTTP接口,處理業(yè)務邏輯等功能[2]。本系統(tǒng)軟件體系結構如圖2所示。

      圖2 軟件體系結構圖

      (1)View層負責實現(xiàn)網(wǎng)站或軟件頁面展示與前端簡單邏輯展示。

      (2)Pipe層負責處理數(shù)據(jù)請求的發(fā)送,規(guī)定了所有端口基于何種協(xié)議與服務器進行交互,以及數(shù)據(jù)類型的規(guī)范,對請求進行安全驗證。

      (3)Logic層進行整個程序業(yè)務邏輯請求的處理,將處理結果通過HTTP接口的形式使用戶可通過URL地址調(diào)用。Logic層在SpringMVC框架中在具體實現(xiàn)時包括Controller層和Service層。

      (4)Data層包括訪問數(shù)據(jù)庫或其他數(shù)據(jù)源等,具體有對數(shù)據(jù)庫中表的查詢、修改、刪除等功能,供Service層調(diào)用。Data層在MyBatis框架中的實現(xiàn)包括Mapper層和POJO層[3]。

      本系統(tǒng)選擇JSON數(shù)據(jù)格式+HTTP協(xié)議作為系統(tǒng)前端后臺的接口方案。在具體實現(xiàn)過程中,利用Jackson框架將后臺Java對象轉換成JSON對象。在Controller層接口返回Response,經(jīng)springMVC的@ResponseBody注解封裝,通過Jackson轉換成JSON字符串,服務器再利用HTTP協(xié)議返回給前端AJAX接口調(diào)用者。

      3 題目作答模塊設計

      題目作答模塊實現(xiàn)了學生通過答題器向系統(tǒng)發(fā)送數(shù)據(jù),頁面實時展示,后臺存儲相關數(shù)據(jù)等功能。

      為實現(xiàn)上述功能,該模塊的Controller層需向View層提供的HTTP接口如圖3所示。View層需要向Controller層發(fā)送所有請求序列,完成該題目的一次答題活動。

      3.1 視圖層實現(xiàn)

      作答需點擊“開始”,通過調(diào)用開始答題、開始發(fā)送題目、開始接受數(shù)據(jù)HTTP接口與電子答題器進行交互,循環(huán)調(diào)用刷新HTTP接口以展示當前投票情況,結束時,調(diào)用停止接收數(shù)據(jù)、結束答題HTTP接口結束與答題器的交互。

      3.2 邏輯層實現(xiàn)

      HTTP接口實現(xiàn)方法可封裝在ChoiceQuestionController類中,開始答題接口首先獲得最新的答題次數(shù),并添加新的答題記錄,開啟答題的硬件指令,接收答題器數(shù)據(jù)。

      實時答題數(shù)據(jù)接口方法負責開始答題后,動態(tài)刷新答題率、答題人數(shù)等數(shù)據(jù)。此接口由前端自動循環(huán)調(diào)用100 ms刷新間隔,因此邏輯必須精煉,且運行時長越短越好,數(shù)據(jù)庫操作應去除查詢?nèi)哂嘧侄?,獲取總人數(shù)及當前已作答人數(shù),并計算百分比,以圖形形式返回展示。

      答題結束的接口方法計算結束作答后的統(tǒng)計數(shù)據(jù)并作持久化處理。作答結束后,更新本次作答記錄,將結束時間添加進去,作為一條完整作答記錄存儲。所有答案在串口線程運行時已寫入Answer表,通過Service層方法得到相關數(shù)據(jù),進行統(tǒng)計計算并進行持久化處理。

      4 串口通信模塊設計

      為了實現(xiàn)Java與串口硬件通信,本文采用RXTX項目提供的Java串口通信包API。在此系統(tǒng)中,通信內(nèi)容包括服務端下發(fā)給接收機的指令和答題器通過接收機透傳給服務端的數(shù)據(jù),可以設計一個SerialPortDataController類來處理相關通信內(nèi)容。endprint

      下發(fā)指令部分,設計一個SendCommand方法來處理諸如答題器匹配,白名單開啟,清屏,發(fā)送開始答題指令等。將指令數(shù)據(jù)通過COM參數(shù)設置的端口號,以指定的波特率發(fā)送。具體程序流程如圖4所示。

      接收答題器數(shù)據(jù)的部分,由于該過程是持續(xù)性的工作,不同于一次性的指令,所以需設計一個線程類SerialThread,采用多線程運行。

      (1)開啟串口,打開輸入流,循環(huán)檢查輸入流中的數(shù)據(jù),并進行讀取、緩存。

      (2)根據(jù)線程調(diào)用相關信息,確定報文類型(選擇,判斷),利用checksum函數(shù)對數(shù)據(jù)進行異或差錯校驗,再分別選擇協(xié)議解析,將解析出來的數(shù)據(jù)轉換成對象,然后進行數(shù)據(jù)持久化處理。

      作答數(shù)據(jù)解析流程如圖5所示。

      5 系統(tǒng)測試

      圖6展示了當前正在作答的人數(shù)以及所占總人數(shù)的百分比,且隨時可結束作答。

      點擊“停止”后,顯示答題結果,預期只有一個人正確,兩人錯誤,一人未作答,統(tǒng)計結果如圖7所示,與預期相符。

      6 結 語

      本文主要介紹了SpringMVC框架技術在無線答題系統(tǒng)中的應用,圍繞核心題目作答功能模塊闡述了HTTP接口設計、視圖層、邏輯層設計與關鍵通信技術。設計的系統(tǒng)滿足了預期的功能需求,系統(tǒng)能促進教學過程中教師學生的互動,使得老師對學生的成績管理數(shù)據(jù)歸檔有據(jù)可依,充分體現(xiàn)了當代課程改革的理念。

      參考文獻

      [1]李強.基于nRF24le1及uC/OS-II操作系統(tǒng)的智能無線答題系統(tǒng)的設計[D].長春:吉林大學,2016.

      [2]韓森,鄧停東,張占強.SpringMVC+Hibernate框架的應用研究[J].軟件導刊,2009(6):44-45.

      [3]吳婉楠.基于SpringMVC和MyBatis框架的炒股比賽系統(tǒng)的設計與實現(xiàn)[D].南京:南京大學,2016.

      [4]溫小清,潘永才,劉海龍,等.基于SSH2的電子監(jiān)管平臺的設計與實現(xiàn)[J].物聯(lián)網(wǎng)技術,2015,5(1):64-66.

      [5]Linux下ARM和CC2530的串口通信[J].物聯(lián)網(wǎng)技術,2016,6(1):34-36.

      [6]翟高粵,魏娜.一種基于MVC框架的校園管理系統(tǒng)的設計[J].計算機時代,2010(8):40-42.

      [7]于慧勇,樊丹丹.WebService技術在數(shù)據(jù)共享中的應用研究[J].電腦編程技巧與維護,2016(24):53-54.

      [8]張籍.使用答題器組織有效課堂教學[J].學園:學者的精神家園,2014(18):99-100.endprint

      猜你喜歡
      串口通信
      基于Android的電解質(zhì)分析儀設計與實現(xiàn)
      軟件導刊(2017年1期)2017-03-06 23:40:30
      基于Qt和Flash的嵌入式Linux軟件架構設計
      串口通信在智能家居監(jiān)控系統(tǒng)中的應用
      基于Python實現(xiàn)設備控制臺的集中控制和管理
      基于OpenCV的室內(nèi)照明智能控制系統(tǒng)設計與實現(xiàn)
      科技視界(2016年13期)2016-06-13 22:01:19
      基于Qt5的MODBUS協(xié)議編程與實現(xiàn)
      基于MSP430單片機的窄帶無線數(shù)據(jù)傳輸模塊的設計
      便攜式數(shù)傳電臺測試系統(tǒng)的設計與實現(xiàn)
      基于MFC的AUV多傳感器數(shù)據(jù)采集系統(tǒng)設計及測試
      基于LabVIEW的溫度測量系統(tǒng)設計
      鹤壁市| 西盟| 宝兴县| 兖州市| 兴城市| 塔河县| 永宁县| 盐津县| 靖江市| 綦江县| 苍梧县| 皋兰县| 鄱阳县| 牟定县| 隆化县| 且末县| 平谷区| 抚顺市| 高清| 黄平县| 旬邑县| 常宁市| 大同市| 凌海市| 通渭县| 云林县| 白玉县| 台湾省| 澄江县| 仁布县| 兰坪| 扎囊县| 丰原市| 从化市| 博爱县| 黑山县| 巴东县| 吴川市| 威信县| 湟源县| 资溪县|