教學(xué)用無線答題統(tǒng)計(jì)系統(tǒng)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
摘要 設(shè)計(jì)一款教學(xué)用無線答題器,取代原始的舉手答題,并具有統(tǒng)計(jì)答案的功能,為中小學(xué)生教育帶來了方便。文中采用TI公司新推出的支持IEEE 802.15.4標(biāo)準(zhǔn)的SOC—CC2530,制定了適合無線答題器網(wǎng)絡(luò)的通信協(xié)議,分析了整個(gè)無線通訊數(shù)據(jù)收發(fā)過程,給出具體的硬件設(shè)計(jì)和軟件設(shè)計(jì)要點(diǎn)。試驗(yàn)表明,該系統(tǒng)能較好地滿足教學(xué)的需要,并具有較高的穩(wěn)定性和可靠性。
關(guān)鍵詞 CC2530;無線答題器;統(tǒng)計(jì)系統(tǒng);通訊協(xié)議;IEEE 802.15.4
隨著無線局域網(wǎng)的發(fā)展,無線技術(shù)自身的優(yōu)勢(shì)不斷在應(yīng)用中體現(xiàn)出來。目前國(guó)內(nèi)教學(xué)課堂答題方式還停留在原始的口頭答題,老師無法進(jìn)行準(zhǔn)確的答案統(tǒng)計(jì)。準(zhǔn)確的答案統(tǒng)計(jì),對(duì)于老師了解學(xué)生知識(shí)掌握情況和教學(xué)是有益的。本文采用TI公司的ZigbeeCC2530芯片,內(nèi)部集成了一個(gè)8051處理器和一個(gè)無線射頻模塊,設(shè)計(jì)了一款教學(xué)用無線答題系統(tǒng),方便了學(xué)生在課堂中回答問題,也解決了教學(xué)中答案準(zhǔn)確統(tǒng)計(jì)問題。具有構(gòu)建成本低,使用方便等特點(diǎn)。
1 系統(tǒng)概述
1.1 系統(tǒng)組成
該無線答題統(tǒng)計(jì)系統(tǒng)由上位機(jī)、教師模塊(父節(jié)點(diǎn))、學(xué)生模塊(子節(jié)點(diǎn))3部分組成,如圖1所示。上位機(jī)是基于Windows的串口通信程序,它通過電腦串口和父節(jié)點(diǎn)連接,父節(jié)點(diǎn)和子節(jié)點(diǎn)都是無線通信模塊。各模塊功能如圖1所示。
上位機(jī)功能:(1)負(fù)責(zé)向父節(jié)點(diǎn)發(fā)送命令;(2)接受父節(jié)點(diǎn)發(fā)來的答題數(shù)據(jù);(3)對(duì)收集的數(shù)據(jù)進(jìn)行統(tǒng)計(jì)顯示。
父節(jié)點(diǎn)功能:(1)接受上位機(jī)發(fā)來的命令;(2)向子節(jié)點(diǎn)發(fā)送相應(yīng)的命令;(3)收集子節(jié)點(diǎn)答題信息。
子節(jié)點(diǎn)功能:(1)接受父節(jié)點(diǎn)發(fā)來的命令;(2)將信息發(fā)給父節(jié)點(diǎn)。
硬件實(shí)物圖如圖2所示。圖2是父節(jié)點(diǎn)的硬件布局:(1)是程序下載口;(2)是電源開關(guān);(3)是電池供電接口;(4)是跳針,戴上跳線帽時(shí)允許電池供電,摘下跳線帽時(shí)不允許電池供電;(5)是USB供電接口。(6)是RS232接口。
圖3是子節(jié)點(diǎn)的硬件布局:(1)是程序下載口;(2)是電源開關(guān);(3)是電池供電接口;(4)是跳針,戴上跳線帽時(shí)允許電池供電,摘下跳線帽時(shí)不允許電池供電;(5)是USB供電接口;(6)是液晶顯示器;(7)是按鍵和LED燈。[!--empirenews.page--]
1.2 系統(tǒng)基本流程
系統(tǒng)初始化后,上位機(jī)向父節(jié)點(diǎn)發(fā)送“在線查詢”命令,父節(jié)點(diǎn)接收命令,并向子節(jié)點(diǎn)廣播該“在線查詢”命令,子節(jié)點(diǎn)接收到命令后將自己的節(jié)點(diǎn)號(hào)和在線狀態(tài)回復(fù)給父節(jié)點(diǎn),父節(jié)點(diǎn)接收到子節(jié)點(diǎn)的狀態(tài)回復(fù)后,也向子節(jié)點(diǎn)回復(fù)“收到確認(rèn)”信號(hào),同時(shí)父節(jié)點(diǎn)向上位機(jī)上傳各子節(jié)點(diǎn)的在線情況。這就完成了“在線查詢”命令。
上位機(jī)向父節(jié)點(diǎn)發(fā)送“開始答題”命令,父節(jié)點(diǎn)接受命令,并向子節(jié)點(diǎn)廣播該“開始答題”命令,子節(jié)點(diǎn)接收到命令后答題允許指示燈亮,這時(shí)子節(jié)點(diǎn)可以選擇答案“A,B,C,D”其中一個(gè),然后按確認(rèn)鍵將自己的節(jié)點(diǎn)號(hào)和答案發(fā)送給父節(jié)點(diǎn),父節(jié)點(diǎn)收到后將收到的信號(hào)原封不動(dòng)地作為確認(rèn)信號(hào)回發(fā)給子節(jié)點(diǎn),子節(jié)點(diǎn)收到確認(rèn)信號(hào)后,對(duì)應(yīng)的答案燈會(huì)亮,表示確認(rèn)你選的是哪個(gè)答案。譬如,子節(jié)點(diǎn)選的是“A”,父節(jié)點(diǎn)確認(rèn)后,A燈亮。
流程圖如圖4所示。
2 設(shè)計(jì)原理
系統(tǒng)的基本流程如上所述,下面具體闡述各模塊的設(shè)計(jì)原理。
2.1 上位機(jī)
上位機(jī)為一般的串口通信程序,它有3個(gè)功能:
(1)通過串口向父節(jié)點(diǎn)發(fā)送命令。上位機(jī)命令只有兩個(gè):在線查詢命令和答題允許命令。這兩個(gè)命令均由3 Byte組成,本文定義在線查詢命令格式為,其中xx為任意數(shù)。答題允許命令格式為。
(2)接收父節(jié)點(diǎn)傳來的數(shù)據(jù)。當(dāng)父節(jié)點(diǎn)收集了子節(jié)點(diǎn)發(fā)來的數(shù)據(jù)后,便會(huì)定時(shí)向上位機(jī)發(fā)送數(shù)據(jù),數(shù)據(jù)格式如圖5所示。當(dāng)上位機(jī)接收到以0xA0開頭的數(shù)據(jù),便是節(jié)點(diǎn)在線情況回復(fù)數(shù)據(jù),以0xEE結(jié)束;當(dāng)接收到以0xA5開頭的數(shù)據(jù),便是節(jié)點(diǎn)答題數(shù)據(jù),以0xEE結(jié)束。
(3)統(tǒng)計(jì)接收到的數(shù)據(jù)。上位機(jī)將接受到的答案數(shù)據(jù),以圓柱圖形統(tǒng)計(jì)顯示出來。[!--empirenews.page--]
2.2 父節(jié)點(diǎn)
父節(jié)點(diǎn)是連接子節(jié)點(diǎn)和上位機(jī)的紐帶,其具有3個(gè)功能:
(1)接收上位機(jī)發(fā)來的命令;
(2)向子節(jié)點(diǎn)發(fā)送相應(yīng)的命令和回復(fù)。當(dāng)父節(jié)點(diǎn)接收到上位機(jī)的在線查詢命令時(shí),首先判斷xx是廣播命令還是單播命令,如果是廣播命令,便將發(fā)送地址設(shè)為0xFFFF,載荷為0xA0;如果是單播命令,便將地址設(shè)為0xFFxx,載荷為0xA0。當(dāng)子節(jié)點(diǎn)收到在線查詢命令后,便將自己設(shè)為在線,同時(shí)回復(fù)0xA0和節(jié)點(diǎn)號(hào)。父節(jié)點(diǎn)根據(jù)0xA0便知回復(fù)的是查詢命令,根據(jù)節(jié)點(diǎn)號(hào)便知道該節(jié)點(diǎn)在線。
同理,當(dāng)父節(jié)點(diǎn)接收到上位機(jī)允許答題命令后,便廣播發(fā)送允許答題命令。子節(jié)點(diǎn)收到該命令后,即回復(fù),父節(jié)點(diǎn)通過結(jié)構(gòu)體Studen-t.ANSWER[i]存儲(chǔ)子節(jié)點(diǎn)的答案。并回復(fù)子節(jié)點(diǎn)表示數(shù)據(jù)已收到。
(3)收集子節(jié)點(diǎn)的在線情況與答題回復(fù)。父節(jié)點(diǎn)通過結(jié)構(gòu)體Student[i].NODE_NUMBER,存儲(chǔ)子節(jié)點(diǎn)號(hào),Student[i].LINE存儲(chǔ)在線情況,Student[i].ANSWER存儲(chǔ)答案。
2.3 子節(jié)點(diǎn)
子節(jié)點(diǎn)模塊是直接與學(xué)生接觸的終端,與父節(jié)點(diǎn)相比,多了顯示屏、按鍵和對(duì)應(yīng)的LED燈,子節(jié)點(diǎn)有兩種功能:
(1)接受父節(jié)點(diǎn)發(fā)來的命令。當(dāng)子節(jié)點(diǎn)接收到在線查詢命令后,便回復(fù)信號(hào),表示該節(jié)點(diǎn)在線。
(2)將答案信息發(fā)給父節(jié)點(diǎn)。當(dāng)子節(jié)點(diǎn)接收到允許答題命令后,便回復(fù)信號(hào)。
3 硬件電路設(shè)計(jì)
本設(shè)計(jì)采用TI公司新推出支持IEEE 802.15.4標(biāo)準(zhǔn)的SOC—CC2530作為控制芯片,CC2530集成一個(gè)工業(yè)級(jí)的8051和一個(gè)無線射頻模塊。內(nèi)含8 kBRAM,32 kB閃存,以及其他支持功能和外設(shè)。CC2530所集成的無線射頻模塊,提供101 dB的鏈路質(zhì)量,優(yōu)秀的接收器靈敏度和抗干擾性。
3.1 子節(jié)點(diǎn)電路圖
子節(jié)點(diǎn)電路圖如圖7所示。
3.2 父節(jié)點(diǎn)電路圖
父節(jié)點(diǎn)電路圖如圖8所示。
[!--empirenews.page--]
4 軟件設(shè)計(jì)
父子節(jié)點(diǎn)流程如圖9所示,其中結(jié)構(gòu)體Smdem由ONMNE、ANSWER和NODE_NUMBER組成,分別代表在線信息,答案和節(jié)點(diǎn)號(hào),其中ONLINE=1
表示在線,ANSWER取值為“A,B,C,D”。注意此結(jié)構(gòu)體只存在于父節(jié)點(diǎn)中。
子節(jié)點(diǎn)圖中ONUNE是子節(jié)點(diǎn)的在線標(biāo)志,TX_ALLOW是子節(jié)點(diǎn)允許答題標(biāo)志,置1有效。注意,為了防止子節(jié)點(diǎn)重啟后不被父節(jié)點(diǎn)識(shí)別,本文設(shè)計(jì)在每次答題前都發(fā)送在線查詢命令,接著再發(fā)送答題允許命令。
5 實(shí)驗(yàn)結(jié)果
實(shí)驗(yàn)結(jié)果如圖11所示,在線人數(shù)40人,第一題,選A的18人,B的12人,C的6人,D的4人。由實(shí)驗(yàn)過程可知,無線答題器工作穩(wěn)定,操作簡(jiǎn)便。
6 結(jié)束語(yǔ)
本文介紹了教學(xué)用無線答題器,提出了具體的軟硬件設(shè)計(jì)方法,并開發(fā)出實(shí)物產(chǎn)品。該無線答題器,工作穩(wěn)定、性能可靠、操作簡(jiǎn)單、界面簡(jiǎn)潔易懂、成本低廉、適合教學(xué)需求。