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