向星宇 潘元昊
摘 要:針對(duì)傳統(tǒng)教學(xué)環(huán)境存在諸如學(xué)生考勤耗費(fèi)時(shí)間、教室空閑資源利用率不高等問(wèn)題,利用物聯(lián)網(wǎng)技術(shù)設(shè)計(jì)并實(shí)現(xiàn)了一套“智慧教室”解決方案。方案采用Arduino開(kāi)源硬件,基于OneNET物聯(lián)網(wǎng)云平臺(tái)搭建設(shè)備網(wǎng)絡(luò),以微信小程序?yàn)榍岸嗣嫦蛉熒峁?shí)時(shí)簽到、遲到早退檢測(cè)、教室舒適度查詢以及預(yù)約占座等服務(wù)。最后對(duì)系統(tǒng)試點(diǎn)運(yùn)行,發(fā)現(xiàn)該方案可為師生提供開(kāi)放式便捷應(yīng)用服務(wù),極大地提高了教室的智能化水平。
關(guān)鍵詞:Arduino;物聯(lián)網(wǎng);OneNET;微信小程序;智能化;智慧教室
中圖分類號(hào):TP391文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):2095-1302(2020)05-00-03
0 引 言
智慧教室[1]在獲取溫濕度或光照強(qiáng)度等智能感知的硬件設(shè)計(jì)上已趨近成熟,但對(duì)于這些數(shù)據(jù)的利用率低,并未提供遠(yuǎn)程查詢教室信息的途徑,并且部分智能教室提供的占座服務(wù)并不完善,無(wú)法實(shí)現(xiàn)“一對(duì)一”占座,即只有占座人能使用該預(yù)定座位。物聯(lián)網(wǎng)(Internet of Things,IoT)[2-3]由物理對(duì)象與用于收集和交換數(shù)據(jù)的網(wǎng)絡(luò)連接而成,物聯(lián)網(wǎng)的發(fā)展使得傳感器的應(yīng)用愈加廣泛。針對(duì)以上問(wèn)題,本文提出了以微信小程序?yàn)榍岸?,面向全校師生的在線教室環(huán)境實(shí)時(shí)查詢功能,為教師提供利用人體紅外傳感器和超聲波傳感器雙重檢測(cè)保障的實(shí)時(shí)簽到檢測(cè)服務(wù),為學(xué)生提供微信小程序預(yù)約控制座椅的占座服務(wù)[4]。解決了之前信息采集后利用率不高、占座功能不完善等問(wèn)題,提高了智慧教室的實(shí)用性。
1 系統(tǒng)結(jié)構(gòu)設(shè)計(jì)
本系統(tǒng)由四部分組成,分別為硬件設(shè)備、物聯(lián)網(wǎng)云平臺(tái)、后臺(tái)服務(wù)器和微信小程序前端。系統(tǒng)架構(gòu)如圖1所示。
(1)硬件設(shè)備:該模塊是智慧教室的感知層,實(shí)時(shí)收集教室的各項(xiàng)數(shù)值,通過(guò)HTTP協(xié)議上報(bào)云端,同時(shí)也接收并執(zhí)行物聯(lián)網(wǎng)平臺(tái)下發(fā)的命令。
(2)硬件設(shè)備與物聯(lián)網(wǎng)云平臺(tái)數(shù)據(jù)交互:該模塊是硬件設(shè)備與后臺(tái)服務(wù)器的中轉(zhuǎn)部分,硬件設(shè)備上傳的數(shù)據(jù)點(diǎn)會(huì)緩存在該平臺(tái)上,后臺(tái)服務(wù)器只需調(diào)用平臺(tái)提供的API(Application Programming Interface)接口即可讀取已緩存的數(shù)據(jù)點(diǎn),后臺(tái)服務(wù)器有命令下發(fā)需求時(shí)只需通過(guò)API接口將具體命令內(nèi)容發(fā)送至平臺(tái)上,平臺(tái)確認(rèn)硬件設(shè)備在線時(shí)自動(dòng)將命令轉(zhuǎn)發(fā)至硬件設(shè)備。
(3)后臺(tái)服務(wù)器:該模塊用于處理硬件設(shè)備上傳的數(shù)據(jù)并存儲(chǔ),通過(guò)調(diào)用物聯(lián)網(wǎng)云平臺(tái)提供的API接口可實(shí)現(xiàn)與硬件設(shè)備的間接通信。同時(shí)后臺(tái)服務(wù)器需要給微信小程序前端提供后臺(tái)支持,是智慧教室功能實(shí)現(xiàn)的重要環(huán)節(jié)。
(4)微信小程序前端:該模塊為用戶前端,智慧教室將用戶分為教師與學(xué)生兩種角色,面對(duì)教師提供智能簽到、遲到早退情況統(tǒng)計(jì)、教室鎖定等服務(wù)(即在特定時(shí)間段該教室被標(biāo)記為非可用狀態(tài),禁止占座并且會(huì)在教室總覽中標(biāo)記備注,如班級(jí)班會(huì)、考試、教室設(shè)備維修等);對(duì)學(xué)生提供教室信息查詢以及常態(tài)時(shí)的占座服務(wù)。
2 模塊設(shè)計(jì)
2.1 硬件設(shè)備設(shè)計(jì)
硬件設(shè)備要求具有較高的采樣頻率,能實(shí)時(shí)監(jiān)測(cè)教室各項(xiàng)數(shù)值的變動(dòng),同時(shí)可以接入互聯(lián)網(wǎng)向物聯(lián)網(wǎng)云平臺(tái)上傳數(shù)據(jù)點(diǎn),故該系統(tǒng)采用有開(kāi)源庫(kù)的物聯(lián)網(wǎng)開(kāi)發(fā)硬件。
2.1.1 WeMos D1開(kāi)發(fā)板
WeMos D1是基于ESP-8266EX微處理器的Arduino UNO兼容WiFi板,其自身集成WiFi單元,相比其他系列的Arduino開(kāi)發(fā)板,其優(yōu)勢(shì)在于無(wú)需外接WiFi,在物聯(lián)網(wǎng)開(kāi)發(fā)方面其豐富的I/O口能夠支持大部分傳感器及執(zhí)行器,且能夠與Arduino IDE兼容豐富的第三方庫(kù),開(kāi)發(fā)成本低,靈活性好。
2.1.2 座椅傳感單元及程序流程
硬件設(shè)備主要集中在教室的座椅上,座椅靠背正中心裝有型號(hào)為HC-SR04的超聲波測(cè)距傳感器,同時(shí)座椅前方正對(duì)座椅的桌面裝有人體紅外傳感器,每個(gè)座椅上的超聲波傳感器和人體紅外傳感器為一組,只有兩種傳感器共同符合判定條件才能判定該位置有人,判定條件如圖2所示。該設(shè)計(jì)方案可以有效避免其他因素引起的誤判(如人體晃動(dòng)引起旁邊椅子的人體紅外觸發(fā))。超聲波測(cè)距傳感器在距離傳感器脈沖口2 cm內(nèi)存在盲區(qū),在盲區(qū)內(nèi)不會(huì)檢測(cè)到物體,故也可以排除人為貼上遮擋物干擾監(jiān)測(cè)的情況。
2.2 硬件設(shè)備與物聯(lián)網(wǎng)云平臺(tái)數(shù)據(jù)交互模塊
本節(jié)為硬件設(shè)備與物聯(lián)網(wǎng)云平臺(tái)通信環(huán)節(jié),包括硬件設(shè)備數(shù)據(jù)點(diǎn)的上傳與物聯(lián)網(wǎng)云平臺(tái)下發(fā)命令的解析。硬件設(shè)備采用WeMos D1開(kāi)發(fā)板作為中央控制器,物聯(lián)網(wǎng)云平臺(tái)使用中國(guó)移動(dòng)物聯(lián)網(wǎng)開(kāi)放平臺(tái)—OneNET云平臺(tái)。
2.2.1 OneNET物聯(lián)網(wǎng)云平臺(tái)
OneNET物聯(lián)網(wǎng)云平臺(tái)由中國(guó)移動(dòng)開(kāi)發(fā),面向物聯(lián)網(wǎng)開(kāi)發(fā)者提供豐富的API接口,作為連接和數(shù)據(jù)的中心,OneNET平臺(tái)能夠適應(yīng)各種傳感網(wǎng)絡(luò)和通信網(wǎng)絡(luò),支持眾多類型的傳輸協(xié)議,并且在云端提供數(shù)據(jù)存儲(chǔ)功能,平臺(tái)上規(guī)范化的產(chǎn)品管理應(yīng)用能夠滿足大場(chǎng)景下的設(shè)備互聯(lián)以及遠(yuǎn)程調(diào)度需求。
2.2.2 HTTP數(shù)據(jù)點(diǎn)上報(bào)以及EDP命令下發(fā)
硬件設(shè)備需要實(shí)時(shí)更新數(shù)據(jù)給用戶,對(duì)數(shù)據(jù)刷新的頻率要求較高,利用EPS8266庫(kù)的client.print()函數(shù)可將事先組合好的滿足HTTP協(xié)議的數(shù)據(jù)打包發(fā)送給OneNET云平臺(tái),其組合規(guī)則可查閱OneNET開(kāi)發(fā)手冊(cè)。
在占座功能設(shè)計(jì)中會(huì)出現(xiàn)用戶需要鎖定座椅的場(chǎng)景,并且用戶下發(fā)指令的時(shí)間離散不可預(yù)計(jì),同時(shí)一個(gè)教室中座椅的數(shù)量較多,故命令下發(fā)過(guò)程要求連接具有高可靠和低延時(shí)特性,即需要設(shè)備與設(shè)備平臺(tái)的長(zhǎng)鏈接。OneNET中的EDP(Enhance Device Protocol)協(xié)議可以保證硬件與設(shè)備平臺(tái)的長(zhǎng)鏈接,并且可即時(shí)下發(fā)控制指令。主程序流程如圖3所示。
EDP協(xié)議的消息體是一系列十六進(jìn)制字串,硬件設(shè)備接收到命令消息后需要將十六進(jìn)制字串轉(zhuǎn)化成字符,譯碼還原成命令內(nèi)容,之后硬件設(shè)備再執(zhí)行相應(yīng)命令。
2.3 后臺(tái)服務(wù)器處理模塊
本系統(tǒng)共有兩類用戶,即教師與學(xué)生。系統(tǒng)的簽到功能需要學(xué)生在簽到時(shí)登錄微信,在微信小程序中選中自己所坐的座位號(hào),然后后臺(tái)服務(wù)器將該同學(xué)與硬件設(shè)備的座椅號(hào)綁定,由硬件設(shè)備上報(bào)該座位是否有人正常使用,并刷新后臺(tái)服務(wù)器中與該同學(xué)相對(duì)應(yīng)的數(shù)據(jù)庫(kù)表內(nèi)信息。教師會(huì)在第一次使用簽到時(shí)從教務(wù)處錄入修讀該課程的同學(xué)名單,簽到時(shí)后臺(tái)會(huì)篩選出未綁定座椅和綁定后座椅返回異常值的同學(xué)并告知教師。
考慮到教學(xué)課程中同學(xué)可能會(huì)有暫時(shí)離開(kāi)座位的情況,故簽到成功后如同學(xué)在下課之前暫時(shí)離開(kāi)座位,座椅會(huì)檢測(cè)到該座位無(wú)人使用,同時(shí)服務(wù)器接收到硬件設(shè)備發(fā)來(lái)的信號(hào),此信號(hào)持續(xù)發(fā)送5 min后服務(wù)器會(huì)將該同學(xué)列入早退名單。
本系統(tǒng)需要從教室中采集到的詳細(xì)信息見(jiàn)表1、表2所列。這些信息主要分為兩類,即座位相關(guān)信息與教室相關(guān)信息。
2.4 微信小程序
本系統(tǒng)的數(shù)據(jù)庫(kù)主要用于儲(chǔ)存兩類信息,即靜態(tài)的基本信息和動(dòng)態(tài)的教室信息。基本信息包括用戶、權(quán)限、座位、教室等,多為結(jié)構(gòu)化數(shù)據(jù),主要用于聯(lián)表查詢。監(jiān)控信息多為海量連續(xù)的數(shù)據(jù)信息,信息的數(shù)據(jù)存儲(chǔ)格式如下:
update_at:2019-06-19 15:35:35
unit:
id:student1
current_value:1
程序中:update_at表示獲取數(shù)據(jù)的時(shí)間;unit表示該觸發(fā)器所屬的單元;id表示觸發(fā)器名稱;current_value表示當(dāng)前最新的數(shù)據(jù)值。
系統(tǒng)各項(xiàng)功能如圖4所示。
個(gè)人中心:用戶實(shí)現(xiàn)注冊(cè)、登錄、修改個(gè)人信息和綁定微信號(hào)等功能,在完成第一次注冊(cè)登錄后可以選擇綁定微信號(hào),綁定微信號(hào)后,用戶無(wú)需通過(guò)賬號(hào)密碼即可直接登錄。
教室信息管理:用戶在教室信息主頁(yè)查詢到教室的相關(guān)環(huán)境信息及教室狀態(tài),可通過(guò)以上信息判斷教室環(huán)境。
用戶權(quán)限:學(xué)生可以占用座位,教師可以占用教室,教室一旦被占用,該教室內(nèi)的座位即無(wú)法被占用。教師可以在上課時(shí)間發(fā)布簽到,學(xué)生在本系統(tǒng)通過(guò)輸入座位號(hào)完成簽到,簽到結(jié)束后,教師可以在系統(tǒng)上查詢簽到詳情。
3 數(shù)據(jù)Web展示
教室中的溫濕度、嘈雜度、人體檢測(cè)信號(hào)將通過(guò)WiFi模塊上傳到OneNET平臺(tái),每種數(shù)據(jù)各對(duì)應(yīng)一個(gè)數(shù)據(jù)流,平臺(tái)接收到數(shù)據(jù)點(diǎn)后會(huì)即時(shí)更新。圖5所示為OneNET平臺(tái)上數(shù)據(jù)流形成的圖表。同時(shí),通過(guò)nodejs的HTTP請(qǐng)求獲取OneNET平臺(tái)數(shù)據(jù),請(qǐng)求的body中需要OneNET平臺(tái)的URL、請(qǐng)求類型和API-Key。API-Key是OneNET平臺(tái)對(duì)每個(gè)工程設(shè)置的密鑰,外界訪問(wèn)該工程中的數(shù)據(jù)如傳入API-Key參數(shù)等。服務(wù)器獲取到數(shù)據(jù)包后對(duì)數(shù)據(jù)包進(jìn)行Json解析,最終將數(shù)據(jù)存入MySQL數(shù)據(jù)庫(kù)。
4 結(jié) 語(yǔ)
本文根據(jù)智慧教室的需求,設(shè)計(jì)了基于OneNET平臺(tái)的微信小程序,采用多種傳感器檢測(cè)教室內(nèi)的環(huán)境參數(shù),同時(shí),教室的各種數(shù)據(jù)會(huì)被上傳到OneNET平臺(tái),一方面可以隨時(shí)隨地查看某個(gè)教室的數(shù)據(jù),另一方面也可以對(duì)這些數(shù)據(jù)進(jìn)行統(tǒng)計(jì)分析,特別是在簽到系統(tǒng)的監(jiān)測(cè)合理性方面,考慮到應(yīng)用場(chǎng)景的多樣化而采用雙重監(jiān)測(cè)機(jī)制。程序設(shè)計(jì)人性化,考慮了教師與學(xué)生在課堂中可能出現(xiàn)的各種情況。經(jīng)測(cè)試,智慧教室系統(tǒng)運(yùn)行正常,功耗低,實(shí)用性強(qiáng)。
參考文獻(xiàn)
[1]石鑫,張興宇,邵金彪,等.基于物聯(lián)網(wǎng)的智能教室環(huán)境測(cè)控系統(tǒng)[J].物聯(lián)網(wǎng)技術(shù),2019,9(7):32-35.
[2]臧艷輝,趙雪章,席運(yùn)江.基于MFR和AWS密鑰管理機(jī)制的物聯(lián)網(wǎng)健康監(jiān)測(cè)大數(shù)據(jù)分析系統(tǒng)[J].計(jì)算機(jī)應(yīng)用研究,2019,7(7):2055-2069.
[3]王慧宇,張立震.基于物聯(lián)技術(shù)的教室管理系統(tǒng)設(shè)計(jì)與構(gòu)建[J].物聯(lián)網(wǎng)技術(shù),2015,5(6):93-95.
[4]謝曉浩.基于WiFi的室內(nèi)多人活動(dòng)檢測(cè)與識(shí)別方法的研究[D].長(zhǎng)沙:湖南大學(xué),2018.
[5]張宇燕,常志華,湯顯峰,等.智慧教室智能化控制系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].物聯(lián)網(wǎng)技術(shù),2016,6(8):79-81.
[6]俞偉,劉淵.“互聯(lián)網(wǎng)+”時(shí)代“智慧教室”建設(shè)的研究與實(shí)踐
[J].教育理論與實(shí)踐,2017(15):44-46.
[7]劉春祥.智慧教室教學(xué)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].哈爾濱:哈爾濱工業(yè)大學(xué),2017.
[8]余秋蘭,羅晶.基于智慧教室的教學(xué)云平臺(tái)的開(kāi)發(fā)與設(shè)計(jì)[J].數(shù)字技術(shù)與應(yīng)用,2019(6):150-151.
[9]徐雅靜,鄭世玨,劉聰,等. 一種基于云端平臺(tái)的智慧教室設(shè)計(jì)與實(shí)現(xiàn)[J].無(wú)線互聯(lián)科技,2017(17):41-43.
[10]閻堅(jiān),桂勁松.基于物聯(lián)網(wǎng)技術(shù)的智慧教室設(shè)計(jì)與實(shí)現(xiàn)[J].中國(guó)電化教育,2016(12):83-86.