国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

NFC 近場(chǎng)通信課堂簽到系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

2021-04-13 05:54鄭曉東宋思琪
科技視界 2021年4期
關(guān)鍵詞:服務(wù)器功能信息

鄭曉東 宋思琪*

(三峽大學(xué)科技學(xué)院,湖北 宜昌 443002)

0 引言

高校中的曠課、遲到、早退現(xiàn)象一直存在且不能得到很好的解決。 傳統(tǒng)的人工點(diǎn)名簽到方式效率低下,而且難以確認(rèn)其準(zhǔn)確性,這個(gè)時(shí)候就需要一種既方便又能快速完成課堂簽到的方法。本課堂手機(jī)簽到系統(tǒng),可以做到僅學(xué)生手機(jī)與教師手機(jī)接觸,便可以判斷這個(gè)學(xué)生是否出勤,老師要做的僅僅是在旁邊監(jiān)督是否有學(xué)生會(huì)拿出多個(gè)手機(jī)代其他同學(xué)簽到。安卓目前是最流行的移動(dòng)開(kāi)發(fā)平臺(tái), 隨著具有NFC 功能的安卓手機(jī)越來(lái)越多,這種功能可以被利用起來(lái)以方便我們的生活和學(xué)習(xí)。

1 系統(tǒng)總體設(shè)計(jì)

1.1 基于Android 的NFC 開(kāi)發(fā)

NFC 代表“近場(chǎng)通信”,它是兼容設(shè)備之間的短程通信[1]。 NFC 需要至少一個(gè)信號(hào)發(fā)射設(shè)備和一個(gè)信號(hào)接收設(shè)備。 本系統(tǒng)采用的是NFC 三大開(kāi)發(fā)模式中的P2P 對(duì)等模式。該模式允許兩個(gè)具有NFC 功能的設(shè)備建立雙向連接,以交換聯(lián)系人信息、藍(lán)牙配對(duì)信息或任何其他類型的數(shù)據(jù)。通信時(shí)需要建立一個(gè)從連接客戶端,即NFC P2P 發(fā)起人,到一個(gè)正在搜索NFC 對(duì)等目標(biāo)主機(jī)之間的連接。本系統(tǒng)采用NFC NDEF 數(shù)據(jù)交換格式來(lái)傳輸數(shù)據(jù)[2]。 需要通信時(shí),將兩個(gè)開(kāi)啟NFC功能的手機(jī)相互碰撞, 這時(shí)兩個(gè)手機(jī)的屏幕都會(huì)縮小,當(dāng)你點(diǎn)擊其中一個(gè)屏幕時(shí),這個(gè)被點(diǎn)擊的手機(jī)便會(huì)成為發(fā)送端,并發(fā)送一條NDEF 格式的數(shù)據(jù),同時(shí)另外一個(gè)手機(jī)自然便成為了接收端。這里用到的實(shí)際上是Android Beam 通信[3-4]。

1.2 系統(tǒng)的核心架構(gòu)

系統(tǒng)模塊劃分有學(xué)生手機(jī)端App、 教師手機(jī)端App、后臺(tái)數(shù)據(jù)存儲(chǔ)和Web 端查詢服務(wù)器。 核心功能有教師開(kāi)啟簽到、學(xué)生觸碰簽到、簽到成功處理、后臺(tái)簽到數(shù)據(jù)查詢等。

課堂簽到學(xué)生端App 安裝在學(xué)生手機(jī)上,每個(gè)學(xué)生通過(guò)輸入自己的學(xué)號(hào)和相關(guān)信息從而在手機(jī)上綁定自己的ID。 上課時(shí),打開(kāi)手機(jī)上的App 和NFC 功能,與教師的手機(jī)進(jìn)行后背NFC 接觸,模擬打卡簽到[5]。

教師也是通過(guò)在手機(jī)上安裝手機(jī)簽到教師端App,然后每次上課時(shí)開(kāi)啟App,放置在桌上模擬打卡機(jī),由學(xué)生手機(jī)依次進(jìn)行NFC 接觸來(lái)實(shí)現(xiàn)簽到。 每次形成的考勤記錄都會(huì)記錄在后臺(tái)數(shù)據(jù)庫(kù)中,教師可以根據(jù)自己的ID、 密碼登錄Web 端網(wǎng)站來(lái)查詢或統(tǒng)計(jì)每次的課程考勤記錄。

學(xué)生簽到成功后的信息由學(xué)生手機(jī)發(fā)往后臺(tái)服務(wù)器,教師可以在Web 端查詢和統(tǒng)計(jì)簽到記錄。 系統(tǒng)數(shù)據(jù)流程圖如圖1 所示。

圖1 簽到系統(tǒng)數(shù)據(jù)流圖

2 手機(jī)N F C 功能詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)

本系統(tǒng)主要是利用三大模式中的P2P 模式,開(kāi)啟學(xué)生和教師雙方手機(jī)的NFC 功能以NDEF 格式進(jìn)行信息傳遞[6]。 本系統(tǒng)在Android 擁有兩個(gè)端,教師端和學(xué)生端,兩個(gè)端都搭建了簡(jiǎn)潔的界面。

(1)定義了一個(gè)checkNFCFunction()方法, 判斷NFC 功能是否開(kāi)啟,這個(gè)功能主要是強(qiáng)制開(kāi)啟NFC 功能,如果手機(jī)沒(méi)有NFC 這個(gè)功能,程序就無(wú)法運(yùn)行。

(2)定義了一個(gè)extractData()方法,解析傳輸中的NDEF 格式數(shù)據(jù)。這段數(shù)據(jù)取出的最終內(nèi)容就是學(xué)生端的信息簽到信息,包括簽到ID,學(xué)生ID,簽到時(shí)間等。

(3) 將信息整合并發(fā)送到服務(wù)器, 這里是使用HttpURLConnection 的方式發(fā)送到服務(wù)器, 最終將完整的簽到數(shù)據(jù)存儲(chǔ)在數(shù)據(jù)庫(kù)表中。

2.1 教師端設(shè)計(jì)

教師端的主要任務(wù)是模擬一個(gè)讀卡器。 首先,通過(guò)NFC 功能收集學(xué)生端的信息;其次,將收集來(lái)的信息進(jìn)行整合;最后,將簽到信息上傳到搭建好的服務(wù)器。 實(shí)現(xiàn)NFC 信息收取的具體步驟如下。

2.2 學(xué)生端設(shè)計(jì)

學(xué)生端的主要任務(wù)是模擬一張卡,將學(xué)生的簽到信息轉(zhuǎn)化為NDEF 數(shù)據(jù)格式發(fā)送。 學(xué)生端需要一個(gè)BobNdefMessage 這樣的封裝類,用于NDEF 消息的封裝。使用這個(gè)類可以很方便地實(shí)現(xiàn)封裝功能和消息發(fā)送功能,然后就可以在NFC 上實(shí)現(xiàn)傳輸。 下面代碼先是通過(guò)BobNdefMessage 進(jìn)行信息的封裝:

NdefMessage message=BobNdefMessage.getNdefMsg_from_RTD_TEXT(“學(xué)生的簽到信息”,false,false);

然后是發(fā)送代碼的設(shè)置。 只有這一條代碼執(zhí)行,手機(jī)碰撞后才會(huì)發(fā)送上面封裝好的NDEF 信息數(shù)據(jù):

mNfcAdapter.setNdefPushMessage(message, Main Activity.this);

3 We b 服務(wù)器端設(shè)計(jì)與實(shí)現(xiàn)

3.1 服務(wù)器端數(shù)據(jù)庫(kù)詳細(xì)設(shè)計(jì)

手機(jī)端簽到成功后, 簽到數(shù)據(jù)會(huì)被發(fā)送到Web服務(wù)器并存儲(chǔ)到數(shù)據(jù)庫(kù)服務(wù)器。 同時(shí),在Web 服務(wù)器上可以方便地分析和統(tǒng)計(jì)歷史簽到數(shù)據(jù)。數(shù)據(jù)庫(kù)使用的是Oracle 11g,表設(shè)計(jì)有教師表、學(xué)生表、課程表、課程安排表、學(xué)生課程表、學(xué)生簽到考勤記錄表等。

教師表主要針對(duì)學(xué)校所有的教師, 包含姓名、編號(hào)、入職日期、以及一些個(gè)人信息。學(xué)生表主要針對(duì)學(xué)校所有的學(xué)生,包含姓名、學(xué)號(hào)、年齡以及一些個(gè)人信息。課程表包含了學(xué)校所有課的基本屬性,例如,課程名、課程編號(hào)、課程時(shí)長(zhǎng),等等。 課時(shí)安排表包含了學(xué)年度每一次課的安排,例如,一次課程安排的課程名,所對(duì)應(yīng)的教師編號(hào),所對(duì)應(yīng)的日期時(shí)間,以及此次安排應(yīng)到的人數(shù)。學(xué)生課程表包含了學(xué)生個(gè)人在被安排在每一次的到課情況,其中有學(xué)生學(xué)號(hào),課程安排的ID,已經(jīng)是否出勤該堂課。 學(xué)生考勤記錄表包含了學(xué)生與課程的ID,學(xué)生ID 每一次簽到的記錄。

3.2 服務(wù)器端與手機(jī)端的整合

Web 端主要功能是接收手機(jī)端發(fā)來(lái)的消息并存儲(chǔ),然后為教師的簽到記錄查詢和分析統(tǒng)計(jì)提供操作界面。Web 服務(wù)器端是學(xué)生簽到成功后發(fā)送數(shù)據(jù)的接收方, 這里使用的是HTTP 通信協(xié)議。 教師端利用HttpURLConnection 連接上服務(wù)器,在簽到過(guò)程中,也就是學(xué)生機(jī)觸碰教師機(jī)后, 教師手機(jī)端通過(guò)NFC 對(duì)學(xué)生簽到信息進(jìn)行采集, 并負(fù)責(zé)將簽到信息如簽到ID、學(xué)生ID、教師和課程信息、簽到日期和時(shí)間等上傳到服務(wù)器以便處理。 服務(wù)器根據(jù)上傳的信息,解析出簽到的人員與課程,改寫(xiě)簽到信息,將考勤記錄設(shè)置成已簽到。 需要使用簽到查詢功能時(shí),教師輸入自己的教師工號(hào)和密碼即可登錄Web 服務(wù)器, 然后進(jìn)行相應(yīng)操作。

4 結(jié)語(yǔ)

簽到作為高校課堂的一個(gè)必要環(huán)節(jié),使用新的技術(shù)可以提高其效率和準(zhǔn)確性。NFC 近場(chǎng)通信技術(shù)能在短距離內(nèi)與兼容設(shè)備進(jìn)行識(shí)別和數(shù)據(jù)交換,NFC 在門禁、公交、手機(jī)支付等領(lǐng)域內(nèi)發(fā)揮著巨大的作用。本文利用NFC 實(shí)現(xiàn)了一個(gè)結(jié)合Android 手機(jī)的課堂點(diǎn)名簽到系統(tǒng), 使用本系統(tǒng)的技術(shù)可以大大縮短簽到時(shí)間。 在實(shí)現(xiàn)上,本文已經(jīng)解決了數(shù)據(jù)交換與存儲(chǔ)的核心功能,在數(shù)據(jù)查詢統(tǒng)計(jì)上可以進(jìn)一步完善。 從應(yīng)用角度來(lái)看,本系統(tǒng)具有很強(qiáng)的實(shí)用性。

猜你喜歡
服務(wù)器功能信息
通信控制服務(wù)器(CCS)維護(hù)終端的設(shè)計(jì)與實(shí)現(xiàn)
關(guān)于非首都功能疏解的幾點(diǎn)思考
中國(guó)服務(wù)器市場(chǎng)份額出爐
得形忘意的服務(wù)器標(biāo)準(zhǔn)
計(jì)算機(jī)網(wǎng)絡(luò)安全服務(wù)器入侵與防御
中西醫(yī)結(jié)合治療甲狀腺功能亢進(jìn)癥31例
辨證施護(hù)在輕度認(rèn)知功能損害中的應(yīng)用
健康信息
健康信息(九則)