基于藍(lán)牙4.0的教室人數(shù)監(jiān)測智能系統(tǒng)設(shè)計(jì)
摘要:為了能實(shí)時(shí)監(jiān)測教室人數(shù),方便各大高校的日常教學(xué)及管理活動(dòng),提出了一種基于藍(lán)牙4.0技術(shù)、用于統(tǒng)計(jì)教室人數(shù)的智能系統(tǒng)。本系統(tǒng)以基于藍(lán)牙低功耗技術(shù)的CC2540射頻單片機(jī)為核心,通過控制紅外光電傳感器和溫濕度傳感器進(jìn)行數(shù)據(jù)的采集,并通過WiFi模塊將采集到的數(shù)據(jù)傳輸給遠(yuǎn)程上位機(jī)、手機(jī)等終端設(shè)備,也可以通過WiFi模塊查詢教室的信息。實(shí)際測試結(jié)果表明,該設(shè)計(jì)可靠性高、功耗低、準(zhǔn)確度高,可廣泛應(yīng)用于各大高校的日常教學(xué)活動(dòng)中。
本文引用地址:http://m.butianyuan.cn/article/201610/307264.htm關(guān)鍵詞:藍(lán)牙4.0;CC2540;WiFi;低功耗
引言
智能人數(shù)統(tǒng)計(jì)、環(huán)境監(jiān)測等系統(tǒng),一直以來備受無線通信及電子行業(yè)的高度關(guān)注,并被廣泛應(yīng)用于機(jī)場、車站、劇院等人流量較大且空間有限的環(huán)境資源中。教室作為現(xiàn)在大學(xué)生最為熟悉的學(xué)習(xí)場所,其環(huán)境的優(yōu)劣直接關(guān)系到學(xué)生的學(xué)習(xí)效率。教室人數(shù)統(tǒng)計(jì)系統(tǒng)作為出勤率統(tǒng)計(jì)的輔助系統(tǒng),一方面,服務(wù)于教師,使教師能將精力集中于教學(xué)活動(dòng)而非出勤率考量活動(dòng)(點(diǎn)名或簽到);另一方面,便于學(xué)校教師管理部門實(shí)時(shí)獲得教室利用率等信息的傳遞與反饋,從而合理安排教室資源,同時(shí)也有助于同學(xué)快速了解教室使用情況。
藍(lán)牙無線技術(shù)是使用范圍廣泛的全球短距離無線標(biāo)準(zhǔn)之一,藍(lán)牙技術(shù)聯(lián)盟(SIG)于2010年7月發(fā)布了藍(lán)牙4.0版本核心規(guī)范,自此藍(lán)牙邁入了4.0時(shí)代。藍(lán)牙4.0規(guī)范的核心是低功耗技術(shù),即藍(lán)牙4.0BLE。該技術(shù)最大特點(diǎn)是擁有超低的運(yùn)行功耗和待機(jī)功耗,藍(lán)牙低功耗設(shè)備使用一粒紐扣電池便可以持續(xù)工作數(shù)年之久。同時(shí),該設(shè)備可以應(yīng)用于對成本和功耗都有嚴(yán)格要求的無線方案,并廣泛應(yīng)用于醫(yī)療保健、體育健身、家庭娛樂、傳感器物聯(lián)網(wǎng)等眾多領(lǐng)域。
因此,本文設(shè)計(jì)了一種基于最新藍(lán)牙4.0技術(shù)的教室人數(shù)統(tǒng)計(jì)系統(tǒng),相比于已有的人數(shù)統(tǒng)計(jì)系統(tǒng),具有低成本、低功耗和更好的通用性能,擴(kuò)展了無線傳感器網(wǎng)絡(luò)在智能手機(jī)、平板電腦等移動(dòng)終端上的應(yīng)用,具有很高的實(shí)用價(jià)值和參考價(jià)值。
1 系統(tǒng)架構(gòu)
系統(tǒng)主要由CC2540射頻單片機(jī)、液晶顯示器、紅外光電傳感器、溫濕度傳感器及WiFi模塊組成,分為教室前門和后門兩個(gè)子系統(tǒng),其中,前門藍(lán)牙模塊作為主節(jié)點(diǎn)(Central),而后門藍(lán)牙模塊作為從節(jié)點(diǎn)(Peripheral)。與后門系統(tǒng)相比,前門系統(tǒng)多了一個(gè)WiFi模塊,其主要作用是為手機(jī)終端和上位機(jī)提供連接。系統(tǒng)組成框圖如圖1所示。
前后門子系統(tǒng)的溫濕度傳感器和光電傳感器負(fù)責(zé)采集教室的溫濕度、人數(shù)信息,前門(后門)子系統(tǒng)將采集到的數(shù)據(jù)通過藍(lán)牙4.0協(xié)議發(fā)送到后門(前門)子系統(tǒng),接收到的數(shù)據(jù)將通過液晶顯示器顯示在門口,也可以通過WiFi發(fā)送給上位機(jī)監(jiān)控終端和手機(jī)終端。
2 系統(tǒng)的硬件設(shè)計(jì)
2.1 處理器單元
主控單元以CC2540射頻單片機(jī)為核心,CC2540是TI公司推出的集成了2.4 GHz射頻收發(fā)器、完全兼容8051內(nèi)核的無線射頻單片機(jī),它與藍(lán)牙低功耗協(xié)議棧共同構(gòu)成高性價(jià)比、低功耗的片上系統(tǒng)(SoC)解決方案,非常適合藍(lán)牙低功耗應(yīng)用。它也包含了豐富的硬件資源,包括21個(gè)通用I/O口、8通道12位ADC、3個(gè)通用定時(shí)器、2個(gè)串口、5通道DMA,支持SPI、USB等。
CC2540外圍電路簡單,外接幾個(gè)阻容器件構(gòu)成的濾波電路和PCB天線即可實(shí)現(xiàn)網(wǎng)絡(luò)節(jié)點(diǎn)的構(gòu)建。CC2540最小系統(tǒng)主要由32 MHz片外晶振、32 kHz睡眠晶振、復(fù)位電路、+5 V電源及去耦電容、射頻阻抗匹配電路及單極性PCB天線組成。如果芯片不需要休眠,32kHz晶振可以不用。 CC2540芯片外部接口電路如圖2所示。
其中,L1為磁珠,型號(hào)為BLM15HG102SN1D,其在100 MHz時(shí),阻抗為1 kΩ。
2.2 WiFi模塊
人數(shù)統(tǒng)計(jì)模塊與服務(wù)器端通過WiFi模塊實(shí)現(xiàn)數(shù)據(jù)傳輸,一般校園內(nèi)的無線網(wǎng)絡(luò)都使用WiFi覆蓋并且會(huì)覆蓋每一個(gè)教室,為了節(jié)約成本,可以合理利用現(xiàn)有的資源,實(shí)現(xiàn)每個(gè)數(shù)據(jù)統(tǒng)計(jì)模塊與服務(wù)器之間的無線通信。
WiFi模塊選用的芯片是海凌科電子推出的低成本模塊HLK—RM04,該模塊是基于通用串行接口的符合網(wǎng)絡(luò)標(biāo)準(zhǔn)的嵌入式模塊,內(nèi)置TCP/ IP協(xié)議棧,能夠?qū)崿F(xiàn)用戶串口、以太網(wǎng)、無線網(wǎng)(WiFi)3個(gè)接口之間的轉(zhuǎn)換。通過HLK—RM04模塊,傳統(tǒng)的串口設(shè)備在不需要更改任何配置的情況下,即可通過Internet網(wǎng)絡(luò)傳輸自己的數(shù)據(jù)。HLK—RM04模塊通過串口與CC2540相連。
2.3 傳感器模塊
溫濕度傳感器采用瑞士Scnsirion公司推出的一款數(shù)字溫濕度傳感器芯片SHT11。其主要特點(diǎn)如下:將溫度感測、濕度感測、信號(hào)變換、A/D轉(zhuǎn)換和加熱器等功能集成到一個(gè)芯片上;提供二線數(shù)字符串行接口,接口簡單、傳輸可靠性高、測量精度可編程調(diào)節(jié)、測量精確度高、封裝尺寸超小,測量和通信結(jié)束后,自動(dòng)轉(zhuǎn)入低功耗模式。將其數(shù)據(jù)線接口外接上拉電阻,電源與地之間加上100nF去耦電容,CC2540就可以用它來采集溫濕度信息。
光電傳感器選用的是上海泰武電器有限公司型號(hào)為E3F-DS304C的光電傳感器,其本身已經(jīng)將放大器LM324、電阻等外圍器件集成在該模塊內(nèi),并引出三根線,分別是地線、數(shù)據(jù)線和電源線。只要將數(shù)據(jù)線直接接在CC2540的外部中斷接口并接好電源和地線,就可以實(shí)現(xiàn)計(jì)數(shù)的功能。在前后門系統(tǒng)各裝兩個(gè)光電傳感器,并排架設(shè),一前一后。
3 系統(tǒng)的軟件設(shè)計(jì)
系統(tǒng)軟件設(shè)計(jì)是根據(jù)藍(lán)牙4.0BLE協(xié)議,在藍(lán)牙4.0BLE協(xié)議?;A(chǔ)上構(gòu)建節(jié)點(diǎn)應(yīng)用程序,實(shí)現(xiàn)藍(lán)牙設(shè)備的互聯(lián)以及無線數(shù)據(jù)的發(fā)送。此協(xié)議棧不僅完全支持CC2540芯片的單模模式,而且還具有結(jié)構(gòu)簡單、清晰、兼容性高以及可以免費(fèi)下載等優(yōu)點(diǎn),極大地節(jié)省了系統(tǒng)開發(fā)的成本。
協(xié)議棧代碼以C語言為基礎(chǔ),具有很強(qiáng)的易讀性,開發(fā)人員只需要修改部分代碼便能實(shí)現(xiàn)相應(yīng)的特定功能,節(jié)省了軟件開發(fā)的時(shí)間及成本。協(xié)議棧的實(shí)現(xiàn)方式采用分層的思想,從下到上一共分了8層,分別為物理層、鏈路層、控制接口層、邏輯鏈路控制及自適應(yīng)協(xié)議層、安全管理層、屬性協(xié)議層、通用訪問配置文件層 (GAP)、通用屬性配置文件層(GATT),掌握與應(yīng)用緊密關(guān)聯(lián)層(GAP和GATT)就可以滿足大部分設(shè)計(jì)需要。
在使用BLE協(xié)議棧進(jìn)行應(yīng)用程序開發(fā)過程中,開發(fā)者不必關(guān)心BLE協(xié)議棧的具體細(xì)節(jié),但要求其對BLE協(xié)議棧的基本構(gòu)成和內(nèi)部工作原理有個(gè)清晰的認(rèn)識(shí)。關(guān)于藍(lán)牙4.0協(xié)議棧的內(nèi)容可以看相關(guān)參考文獻(xiàn)作進(jìn)一步的了解。
軟件的設(shè)計(jì)主要包括3部分:一是溫濕度和人數(shù)數(shù)據(jù)的采集與處理,二是無線數(shù)據(jù)的收發(fā),三是上位機(jī)與手機(jī)終端的設(shè)計(jì)。
3.1 溫濕度和人數(shù)數(shù)據(jù)的采集與處理
溫濕度傳感器SHT11是I2C總線接口,由于CC2540沒有I2C總線接口(CC2541有I2C總線接口),因此采用模擬I2C總線進(jìn)行數(shù)據(jù)的讀寫,SHT 11的驅(qū)動(dòng)程序需要參考SHT11的數(shù)據(jù)手冊,這里不再詳述。而對于進(jìn)出人數(shù)的判斷,主要是利用進(jìn)出門時(shí)兩個(gè)光電傳感器所產(chǎn)生的信號(hào)順序進(jìn)行判斷。比如,前門系統(tǒng)放著的兩個(gè)光電傳感器分別為A和B,當(dāng)人走進(jìn)教室時(shí),A先產(chǎn)生信號(hào),B后產(chǎn)生信號(hào),此時(shí)判斷有一個(gè)人進(jìn)了教室;而當(dāng)人走出教室時(shí),B先產(chǎn)生信號(hào),A后產(chǎn)生信號(hào),此時(shí)判斷有一個(gè)人出了教室。人數(shù)采集流程如圖3所示。
3.2 無線數(shù)據(jù)的收發(fā)
藍(lán)牙節(jié)點(diǎn)組網(wǎng)中,只能存在一個(gè)主節(jié)點(diǎn)和單個(gè)或者多個(gè)從節(jié)點(diǎn),從節(jié)點(diǎn)是發(fā)出信號(hào)者,主節(jié)點(diǎn)是掃描且發(fā)起連接者。當(dāng)從節(jié)點(diǎn)發(fā)出廣告信號(hào)(包括設(shè)備地址和設(shè)備名稱之類的附加信息),主節(jié)點(diǎn)收到此廣告信號(hào)后,向從節(jié)點(diǎn)發(fā)出掃描請求,當(dāng)從節(jié)點(diǎn)回應(yīng)掃描時(shí),就完成了設(shè)備發(fā)現(xiàn)過程。接著主節(jié)點(diǎn)向從節(jié)點(diǎn)發(fā)出連接請求(包括連接時(shí)隙、從節(jié)點(diǎn)待機(jī)次數(shù)、連接超時(shí)值),從節(jié)點(diǎn)回應(yīng)連接,自此主從節(jié)點(diǎn)建立了連接。
藍(lán)牙從節(jié)點(diǎn)與主節(jié)點(diǎn)間的數(shù)據(jù)傳輸可以分為主節(jié)點(diǎn)向從節(jié)點(diǎn)讀寫和從節(jié)點(diǎn)向主節(jié)點(diǎn)發(fā)送數(shù)據(jù)兩種。當(dāng)主節(jié)點(diǎn)向從節(jié)點(diǎn)讀寫數(shù)據(jù)時(shí),主節(jié)點(diǎn)會(huì)調(diào)用GATT_WriteCharValue或者GATT_ReadCharValue和從節(jié)點(diǎn)進(jìn)行通信。
而當(dāng)從節(jié)點(diǎn)向主節(jié)點(diǎn)發(fā)送數(shù)據(jù)時(shí),從節(jié)點(diǎn)需要通過notify的方式,也就是通過調(diào)用GATT_Notification發(fā)起和主節(jié)點(diǎn)的通信。在本設(shè)計(jì)中,前門系統(tǒng)通過調(diào)用GATT_WriteCharValue將采集到的數(shù)據(jù)傳輸給后門系統(tǒng),后門系統(tǒng)通過調(diào)用GATT_Notification將采集到的數(shù)據(jù)傳輸給前門系統(tǒng),確保了人數(shù)統(tǒng)計(jì)的準(zhǔn)確性。
在CC2540的設(shè)計(jì)應(yīng)用中,低功耗是尤為重要的內(nèi)容,為充分發(fā)揮其作用,同時(shí)利用人員進(jìn)出教室時(shí)光電傳感器數(shù)據(jù)接口產(chǎn)生中斷信號(hào)的特點(diǎn),在沒有人員進(jìn)出教室時(shí),藍(lán)牙節(jié)點(diǎn)將處于深度睡眠狀態(tài)(功耗最低,只能通過復(fù)位或者中斷喚醒),而當(dāng)教室有人員進(jìn)出時(shí),立刻喚醒節(jié)點(diǎn)進(jìn)行數(shù)據(jù)的采集與傳輸。
3.3 上位機(jī)與手機(jī)終端的設(shè)計(jì)
由控制系統(tǒng)產(chǎn)生的教室人數(shù)、教室溫濕度等數(shù)據(jù)通過WiFi模塊傳給上位機(jī)監(jiān)控端,這樣有利于管理人員對教室的管理。當(dāng)教室沒有人時(shí),管理員可以第一時(shí)間知道,去關(guān)掉燈以節(jié)約能源。本次設(shè)計(jì)的上位機(jī)采用JAVA設(shè)計(jì)而成,主要是采用Swing工具實(shí)現(xiàn)用戶操作界面,結(jié)合SQL數(shù)據(jù)庫技術(shù)實(shí)現(xiàn)數(shù)據(jù)的存儲(chǔ)和遠(yuǎn)程數(shù)據(jù)的訪問。上位機(jī)與人數(shù)據(jù)統(tǒng)計(jì)模塊之間采用JAVA自帶的Socket中的UDP協(xié)議實(shí)現(xiàn)相互之間的通信。上位機(jī)與手機(jī)終端之間通過 HTTP的POST方式實(shí)現(xiàn)全網(wǎng)內(nèi)的無線通信。上位機(jī)界面如圖4所示。
手機(jī)終端APP程序設(shè)計(jì)是使用Myeclipse2014開發(fā)環(huán)境,在程序中通過JDBC遠(yuǎn)程訪問服務(wù)器端的SQL數(shù)據(jù)庫。用戶僅需輸入所要查詢的教室編號(hào),點(diǎn)擊查詢按鈕便可獲得實(shí)時(shí)的教室信息,并將查詢結(jié)果顯示在下面的TextView中。查詢的結(jié)果包括教室是否有課、教室的人數(shù)和教室的氣溫。手機(jī)終端的安卓界面如圖5所示。
結(jié)語
教室作為一個(gè)與學(xué)生息息相關(guān)的環(huán)境資源,舒適、安逸的學(xué)習(xí)環(huán)境可以極大地提高學(xué)習(xí)效率以及學(xué)習(xí)積極性。但在現(xiàn)階段,大多數(shù)學(xué)校面臨著教室資源的不足,其中很大一部分原因并非教室數(shù)量不足,而是因?yàn)槿狈?shí)時(shí)數(shù)據(jù)反饋而導(dǎo)致資源的不均衡使用以及學(xué)校對教室資源管理不能進(jìn)行實(shí)時(shí)的調(diào)控。
本文基于藍(lán)牙4.0標(biāo)準(zhǔn)規(guī)范,提出了一種低功耗、高可靠性的教室人數(shù)統(tǒng)計(jì)智能系統(tǒng),其利用藍(lán)牙4.0協(xié)議進(jìn)行無線數(shù)據(jù)的傳輸,并通過WiFi模塊實(shí)現(xiàn)藍(lán)牙無線網(wǎng)絡(luò)與以太網(wǎng)之間的互連。
該系統(tǒng)能將采集到的教室內(nèi)的實(shí)時(shí)人數(shù)和溫濕度信息等用液晶屏幕顯示出來,同時(shí),通過WiFi模塊將采集到的數(shù)據(jù)傳輸給遠(yuǎn)程的上位機(jī),手機(jī)等終端設(shè)備也可以通過該模塊查詢教室信息。
該系統(tǒng)的實(shí)現(xiàn)和推廣既方便了學(xué)生,又為教學(xué)管理提供了便利。但由于種種原因,此系統(tǒng)還存在一些不足,比如,目前只有安卓系統(tǒng)的客戶端可以查詢教室信息,其應(yīng)用和推廣還有很大限制,希望未來能夠在如iOS系統(tǒng)等客戶端上進(jìn)行數(shù)據(jù)查詢。
評論