馬博文,喬宏飛,李剛
(湖北文理學院物理與電子工程學院,湖北襄陽,441053)
如今,在物聯網的概念的傳播,并且在互聯網基礎上的擴展和延伸,使得“人-物-物-人”的交互更加頻繁,更加便利。在校園中,各大高校都把加強學生體測管理放在首位,并把鍛煉體測作為學生綜合素質考核的一個重要指標。本文提出一種“基于RFID的高校體測系統”,該套系統基于信息安全的互聯網云存儲技術,通過云服務器上的MySQL數據庫,記錄并儲存學生的信息和體測管理,并使用STM32單片機進行與服務器的相互通信,同時將體測信息進行交互。此系統與傳統的體測打卡系統相比,該系統可以在云端實時監測、更新,并且實時上傳到網絡,便于學生查詢自己的成績,此系統的上位機與終端交互的更加靈活,并且提高了體測錄入和查詢、學生信息識別等的自動化程度。
基于RFID的高校體測系統的研究內容分為軟件處理(上位機)、硬件控制(下位機)兩個部分。軟件處理的含有與服務器的信息交互、與硬件的信息傳輸、學生信息的識別和管理等。該軟件需要進過net平臺通過QT應用程序語言開發進行編程,并且傳輸到數據庫進行動態儲存。硬件需STM32作為主控芯片,把通過RFID技術把智能卡的信息傳輸到服務器,并且在屏幕上顯示。以下是對該套架構的詳細介紹。
如圖1所示,上位機在服務器上注冊好學生的基本信息后,進行與磁卡的映射。每當磁卡從終端射頻掃描后將信息記錄上傳到服務器,對服務器進行自動同步并把信息更新網絡服務器的頁面,之后把更新后的體測的信息同步到上位機軟件上。此時,學生在體測之后,可以立即通過賬號進入網頁進行體測記錄查詢,并且管理員可以將全體學生體測記錄直接導出到Excel文件中,省去了人工輸入的不便。
下位機就是服務終端,下位機模塊包括高性能的單片機控制系統、RFID射頻控制模塊、射頻控制模塊、安全的藍牙模塊,在上位機編輯學生的卡號信息,通過射頻控制模塊與磁卡接近采集學生數據,并記錄體測信息,經過單片機系統的高效信息處理后,通過藍牙模塊將體測記錄上傳到云端服務器。

圖1 上位機軟件功能拓撲圖
(1)上位機主界面顯示的設計與實現
本文中上位機軟件是由核心多平臺的C++為Qt語言為程序框架編寫創建的。本文通過“ui->textBrowser->setOpenExternalLinks(true);”函數進行服務器的連接,管理員打開上位機界面,彈出對話框,在輸入之前設定的用戶名和密碼后,進入上位機的界面,選擇相應的串口號,選擇“連接”后,便能將終端錄入的體測記錄上傳到上位機,從而進行記錄、儲存。連接服務器彈窗如圖2。當終端將體測記錄上傳到服務器后,通過函數“bool LinkServerDial og::createConnection();”建立云數據庫連接,并且實時更新顯示學生體測信息。

圖2 連接服務器彈窗
上位機體測記錄的有效性通過函數“void Details Dialog::query();”進行檢測,通過函數“void Details Dialog::exportFile();”來導出報表,并生成Excel文件。
主界面部分代碼如下:
ui->setupUi(this); // 顯示界面
void MainWindow::studentManage();
//打開學生管理對話框
void MainWindow::studentManageClosed();
//關閉學生管理對話框
(2)上位機部分功能的設計與實現
該上位機具有查詢體測記錄、記錄打卡次數、導出體測報表等功能,部分功能的主要程序如下:
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);
//導出報表
excel.Close();}

圖3 位機終端系統結構圖
通過硬件設計將在服務器編輯學生信息,同步添加并保存學生卡的信息,通過RFID控制模塊進行采集、記錄后,將學生體測記錄通過服務器上傳到上位機。該系統硬件部分為操場起點和終點的無人監管平臺設計,低功耗以及穩定性和安全性是我們要考慮的實現部分,如圖3是下位機終端系統結構圖,主要包含以下幾個部分。
由圖可知,本文單片機控制系統選用STM32F103CBT6單片機,此單片機基于ARM Cortex-M3內核微控制器性能出色,在同類產品中性能突出。該芯片能提供強大的計算和控制能力,同時消耗很低的能量,并為整套系統需要低功耗的升降壓管理方案。體測卡使用射頻控制模塊RC522RFID讀卡模塊讀取,MFRC522是非接觸式通信中高集成度讀寫卡芯片,也是低電壓、體積小、性價比高芯片。對于觸屏控制系統是選用HMI組態串口屏,并將做好的界面通過串口與終端設備進行交互,再由單片機系統控制,從而在組態屏顯示出來。再通過設計的按鍵控制選項,選項包括打開界面、項目信息、團隊信息,如圖4所示。
互聯網網頁設計是基于Apache,云服務器用于提供管理員管理學生體測信息,也可以學生通過互聯網登陸查詢自己的打卡信息。通過MySQL數據庫與軟件端的遠程訪問,并且可將服務器的信息表現在網站上。服務器功能介紹如圖5所示。

圖4 下位機主界面

圖5 服務器功能介紹
(1)網頁賬號登錄頁面的設計與實現
學生使用網絡瀏覽器查詢信息進入系統登錄界面,通過輸入賬號和密碼進行登錄,網頁源碼通過判斷賬號和密碼是否匹配,若匹配則進入查詢界面,若不匹配則提示“密碼錯誤”。登錄界面代碼如下: