馬博文,喬宏飛,李剛
(湖北文理學(xué)院物理與電子工程學(xué)院,湖北襄陽,441053)
如今,在物聯(lián)網(wǎng)的概念的傳播,并且在互聯(lián)網(wǎng)基礎(chǔ)上的擴(kuò)展和延伸,使得“人-物-物-人”的交互更加頻繁,更加便利。在校園中,各大高校都把加強(qiáng)學(xué)生體測管理放在首位,并把鍛煉體測作為學(xué)生綜合素質(zhì)考核的一個重要指標(biāo)。本文提出一種“基于RFID的高校體測系統(tǒng)”,該套系統(tǒng)基于信息安全的互聯(lián)網(wǎng)云存儲技術(shù),通過云服務(wù)器上的MySQL數(shù)據(jù)庫,記錄并儲存學(xué)生的信息和體測管理,并使用STM32單片機(jī)進(jìn)行與服務(wù)器的相互通信,同時將體測信息進(jìn)行交互。此系統(tǒng)與傳統(tǒng)的體測打卡系統(tǒng)相比,該系統(tǒng)可以在云端實(shí)時監(jiān)測、更新,并且實(shí)時上傳到網(wǎng)絡(luò),便于學(xué)生查詢自己的成績,此系統(tǒng)的上位機(jī)與終端交互的更加靈活,并且提高了體測錄入和查詢、學(xué)生信息識別等的自動化程度。
基于RFID的高校體測系統(tǒng)的研究內(nèi)容分為軟件處理(上位機(jī))、硬件控制(下位機(jī))兩個部分。軟件處理的含有與服務(wù)器的信息交互、與硬件的信息傳輸、學(xué)生信息的識別和管理等。該軟件需要進(jìn)過net平臺通過QT應(yīng)用程序語言開發(fā)進(jìn)行編程,并且傳輸?shù)綌?shù)據(jù)庫進(jìn)行動態(tài)儲存。硬件需STM32作為主控芯片,把通過RFID技術(shù)把智能卡的信息傳輸?shù)椒?wù)器,并且在屏幕上顯示。以下是對該套架構(gòu)的詳細(xì)介紹。
如圖1所示,上位機(jī)在服務(wù)器上注冊好學(xué)生的基本信息后,進(jìn)行與磁卡的映射。每當(dāng)磁卡從終端射頻掃描后將信息記錄上傳到服務(wù)器,對服務(wù)器進(jìn)行自動同步并把信息更新網(wǎng)絡(luò)服務(wù)器的頁面,之后把更新后的體測的信息同步到上位機(jī)軟件上。此時,學(xué)生在體測之后,可以立即通過賬號進(jìn)入網(wǎng)頁進(jìn)行體測記錄查詢,并且管理員可以將全體學(xué)生體測記錄直接導(dǎo)出到Excel文件中,省去了人工輸入的不便。
下位機(jī)就是服務(wù)終端,下位機(jī)模塊包括高性能的單片機(jī)控制系統(tǒng)、RFID射頻控制模塊、射頻控制模塊、安全的藍(lán)牙模塊,在上位機(jī)編輯學(xué)生的卡號信息,通過射頻控制模塊與磁卡接近采集學(xué)生數(shù)據(jù),并記錄體測信息,經(jīng)過單片機(jī)系統(tǒng)的高效信息處理后,通過藍(lán)牙模塊將體測記錄上傳到云端服務(wù)器。
圖1 上位機(jī)軟件功能拓?fù)鋱D
(1)上位機(jī)主界面顯示的設(shè)計(jì)與實(shí)現(xiàn)
本文中上位機(jī)軟件是由核心多平臺的C++為Qt語言為程序框架編寫創(chuàng)建的。本文通過“ui->textBrowser->setOpenExternalLinks(true);”函數(shù)進(jìn)行服務(wù)器的連接,管理員打開上位機(jī)界面,彈出對話框,在輸入之前設(shè)定的用戶名和密碼后,進(jìn)入上位機(jī)的界面,選擇相應(yīng)的串口號,選擇“連接”后,便能將終端錄入的體測記錄上傳到上位機(jī),從而進(jìn)行記錄、儲存。連接服務(wù)器彈窗如圖2。當(dāng)終端將體測記錄上傳到服務(wù)器后,通過函數(shù)“bool LinkServerDial og::createConnection();”建立云數(shù)據(jù)庫連接,并且實(shí)時更新顯示學(xué)生體測信息。
圖2 連接服務(wù)器彈窗
上位機(jī)體測記錄的有效性通過函數(shù)“void Details Dialog::query();”進(jìn)行檢測,通過函數(shù)“void Details Dialog::exportFile();”來導(dǎo)出報(bào)表,并生成Excel文件。
主界面部分代碼如下:
ui->setupUi(this); // 顯示界面
void MainWindow::studentManage();
//打開學(xué)生管理對話框
void MainWindow::studentManageClosed();
//關(guān)閉學(xué)生管理對話框
(2)上位機(jī)部分功能的設(shè)計(jì)與實(shí)現(xiàn)
該上位機(jī)具有查詢體測記錄、記錄打卡次數(shù)、導(dǎo)出體測報(bào)表等功能,部分功能的主要程序如下:
void MainWindow::detailsQuery() // 打卡查詢對話框
{DetailsDialog dialog(this);
dialog.exec();}
void MainWindow::recordStart() // 開始記錄
{QSqlQuery query;
query.exec(“begin”);}
void MainWindow::saveFile() // 保存文件
{ QStringfileName = QFileDialog::getSaveFileName(this, tr(“Excel file”),
qApp->applicationDirPath (), tr(“Excel Files(*.xlsx)”));
if (fileName.isEmpty())
{return;}
ExcelEngine excel(fileName);
excel.Open();
excel.SaveDataFrTableView(ui->tableView);
//導(dǎo)出報(bào)表
excel.Close();}
圖3 位機(jī)終端系統(tǒng)結(jié)構(gòu)圖
通過硬件設(shè)計(jì)將在服務(wù)器編輯學(xué)生信息,同步添加并保存學(xué)生卡的信息,通過RFID控制模塊進(jìn)行采集、記錄后,將學(xué)生體測記錄通過服務(wù)器上傳到上位機(jī)。該系統(tǒng)硬件部分為操場起點(diǎn)和終點(diǎn)的無人監(jiān)管平臺設(shè)計(jì),低功耗以及穩(wěn)定性和安全性是我們要考慮的實(shí)現(xiàn)部分,如圖3是下位機(jī)終端系統(tǒng)結(jié)構(gòu)圖,主要包含以下幾個部分。
由圖可知,本文單片機(jī)控制系統(tǒng)選用STM32F103CBT6單片機(jī),此單片機(jī)基于ARM Cortex-M3內(nèi)核微控制器性能出色,在同類產(chǎn)品中性能突出。該芯片能提供強(qiáng)大的計(jì)算和控制能力,同時消耗很低的能量,并為整套系統(tǒng)需要低功耗的升降壓管理方案。體測卡使用射頻控制模塊RC522RFID讀卡模塊讀取,MFRC522是非接觸式通信中高集成度讀寫卡芯片,也是低電壓、體積小、性價比高芯片。對于觸屏控制系統(tǒng)是選用HMI組態(tài)串口屏,并將做好的界面通過串口與終端設(shè)備進(jìn)行交互,再由單片機(jī)系統(tǒng)控制,從而在組態(tài)屏顯示出來。再通過設(shè)計(jì)的按鍵控制選項(xiàng),選項(xiàng)包括打開界面、項(xiàng)目信息、團(tuán)隊(duì)信息,如圖4所示。
互聯(lián)網(wǎng)網(wǎng)頁設(shè)計(jì)是基于Apache,云服務(wù)器用于提供管理員管理學(xué)生體測信息,也可以學(xué)生通過互聯(lián)網(wǎng)登陸查詢自己的打卡信息。通過MySQL數(shù)據(jù)庫與軟件端的遠(yuǎn)程訪問,并且可將服務(wù)器的信息表現(xiàn)在網(wǎng)站上。服務(wù)器功能介紹如圖5所示。
圖4 下位機(jī)主界面
圖5 服務(wù)器功能介紹
(1)網(wǎng)頁賬號登錄頁面的設(shè)計(jì)與實(shí)現(xiàn)
學(xué)生使用網(wǎng)絡(luò)瀏覽器查詢信息進(jìn)入系統(tǒng)登錄界面,通過輸入賬號和密碼進(jìn)行登錄,網(wǎng)頁源碼通過判斷賬號和密碼是否匹配,若匹配則進(jìn)入查詢界面,若不匹配則提示“密碼錯誤”。登錄界面代碼如下: