林鵬程
(廈門理工學院 繼續(xù)教育學院,福建 廈門 361005)
智慧教室是指為教學活動提供智慧應用服務的教室空間及其軟硬件裝備的總和[1]。物聯(lián)網(wǎng)技術的發(fā)展讓智慧教室在全國各個高校逐漸普及。作為技術與教育相結合的產(chǎn)物,智慧教室不僅僅是教師教授知識的場所,更是教師探索新方式、完成課程改革的重要手段。全國各學校也紛紛圍繞智慧教室展開了一系列改革,甚至將智慧教室所提供的技術完全融入到課堂當中。因此,建設智慧教室,實現(xiàn)智能化教學、智能化管理、智能化學習是每所學校都要考慮的事情。
關于智慧教室的建設已有諸多研究。王建[2]系統(tǒng)闡述了智慧教室的建設原則與目標,并從體系架構、功能模塊設計、技術實現(xiàn)3 個層面展開論述;程敏[3]在智慧教室中加入了智能控制和管理、顯示系統(tǒng)、分組協(xié)作互動、課程錄播、遠程教學、學習資源、數(shù)據(jù)存儲、AI 系統(tǒng)、VR 系統(tǒng)和課堂支持等,以應對不同的教學模式;陳志華[4]采用ZigBee、RFID 技術,結合各種傳感器開發(fā)了一套智慧教室控制管理系統(tǒng),實現(xiàn)了信息化、智能化、集成化管理。盧志翠同樣采用ZigBee 技術實現(xiàn)智慧教室多網(wǎng)絡節(jié)點的感知與控制,并且使用PID 控制算法來保持智慧教室的環(huán)境參數(shù);孟秉恒[5]、侯恩碩[6]則是在智慧教室中引入手勢識別、腦電設備以滿足各自對智慧教室應用場景的需求。
智慧教室朝著豐富的應用方向發(fā)展,但隨之而來的是復雜的操作流程以及臃腫的硬件設施。針對該問題,設計了一套基于STM32 控制板與Python、Window 客戶端相結合的高度集成的智慧教室系統(tǒng)[7-8]。
圖1 所示為系統(tǒng)框架。計算機是距離教師最近的設備,也是本系統(tǒng)的核心機器之一。計算機首先需要連接路由器(或者交換機)并獲取IP 地址才能與因特網(wǎng)連接;其次,電腦也是控制智慧教室內(nèi)設備的主要控制端,在該系統(tǒng)中,電腦需經(jīng)過一塊控制卡間接與設備相連,控制卡與講臺計算機間采用串口通信。控制卡通過各種接口連接至智慧教室的常見終端設備。智慧教室中常見的終端設備,如投影儀、幕布、音響、有線及無線麥克風、功率放大器、燈以及用于投屏的多臺電視機構成的矩陣電視。終端設備需要220 V 交流電供電,系統(tǒng)采用6 路繼電器分別控制設備的電源。此外,有的設備還需要額外的控制線,比如,投影儀需要RS 232 控制線;電視需要紅外發(fā)射器控制電視;燈光除可以通過命令來控制外,系統(tǒng)還設置了實體按鍵控制。
該系統(tǒng)包含了一塊STM32 控制卡,根據(jù)系統(tǒng)框架及接口需求,STM32 控制燈光、繼電器組使用普通的GPIO 即可,紅外發(fā)射與接收器也需要2 個具有復用功能的GPIO口,另需兩個串口用來進行通信與控制,因此系統(tǒng)選擇STM32F103RCT6 作為主控芯片。
該芯片的最小系統(tǒng)已在圖2 的硬件原理圖中給出,驅動該芯片需由復位電路、外部晶振、啟動模式配合。此外,為了確保芯片穩(wěn)定工作,系統(tǒng)額外增加了濾波電容電路。通信方面,系統(tǒng)采用JTAG-SW 接口燒錄程序,與外圍通信所需的串口則使用芯片提供的1 號及5 號串口;電源模塊使用AMS1117 芯片將5 V 直流電壓降壓至STM32 芯片的工作電壓3.3 V。
圖2 硬件原理
系統(tǒng)外設接口也在圖2 給出,紅外發(fā)射接收模塊用于控制智慧教室內(nèi)的矩陣電視、空調(diào)等需要遙控的設備;燈光實體按鍵用于控制教室內(nèi)的燈光,教室燈分成兩組,因此使用兩個實體按鍵;系統(tǒng)中各設備的電源采用六路繼電器控制,燈光、音響功放電源接至繼電器常閉接口,其他設備電源接至繼電器常開接口,方便平常使用[9]。
圖3 是該STM32 控制端采用的軟件流程,主要完成數(shù)據(jù)通信解析與外接設備的控制。上電后,芯片首先進行初始化,初始化1 號UART 的波特率為115 200 bit/s,5 號串口的波特率則根據(jù)連接的投影儀型號更改,接著完成控制繼電器組、實體按鍵、紅外發(fā)射接收GPIO 口的初始化。在設置紅外發(fā)射接收GPIO 口時,對定時器1 和定時器4 進行初始化,定時器1 將用于捕獲紅外接收管接收的信號,因此初始化時將其設置為上升沿捕獲;定時器4 將用于產(chǎn)生待發(fā)射信號及38 kHz 載波,因此在初始化時,使用定時器4 的脈寬調(diào)制功能。
圖3 STM32 軟件主體流程
初始化完成后,程序進入循環(huán)狀態(tài),處理按鍵及1 號串口接收的數(shù)據(jù)。當檢測到實體按鍵開關狀態(tài)發(fā)生改變后,芯片將控制燈光的繼電器做出相應改變;當1 號串口接收到講臺電腦發(fā)來的數(shù)據(jù)時,將解析并控制外設做出相應的動作。1 號串口的數(shù)據(jù)格式如圖4 所示,數(shù)據(jù)幀共占4 個字節(jié),2 個起始字節(jié),1 個結束字節(jié),有效數(shù)據(jù)1 個字節(jié)。有效數(shù)據(jù)字節(jié)中,高4 位用于標識繼電器狀態(tài),接下來2 位用于標識投影儀及矩陣電視的開關,低2 位作為數(shù)據(jù)類型的標識。標識繼電器的數(shù)據(jù)位中,將第一位用于標識燈光狀態(tài)是否發(fā)生改變,以免與實體按鍵發(fā)生沖突。矩陣電視的控制將通過紅外發(fā)射管發(fā)射的紅外信號控制,投影儀的控制將通過5 號串口根據(jù)投影儀的型號傳輸相應代碼。以索尼投影儀為例,需將串口5 波特率設置為38 400 bit/s,當需開機時發(fā)送代碼A9172E0000003F9A 即可。數(shù)據(jù)類型用于判斷該數(shù)據(jù)包屬于查詢數(shù)據(jù)包還是控制數(shù)據(jù)包,“00”表示查詢數(shù)據(jù)包,“01”表示控制數(shù)據(jù)包,“10”與“11”保留。
圖4 串口數(shù)據(jù)格式
根據(jù)系統(tǒng)框架,客戶端完成外設操作并與STM32 控制板通信??蛻舳诉\行于講臺計算機的Windows 系統(tǒng),采用Python 的Tkinter 庫設計。該系統(tǒng)使用的組件框架如圖5 所示,在一個窗口內(nèi)設計2 個LabelFrame,分別用于集成化一鍵控制和設備單獨控制。
圖5 界面組件框架
系統(tǒng)使用串口與STM32 控制板通信,故在“一鍵設置”界面中配合Label 和Button 組件以連接串口建立通信?!耙绘I上課”與“一鍵下課”為多設備同時控制按鈕,例如,當按下“一鍵上課”按鈕,就能同時打開投影儀、燈光、電視、功放等設備。
設備狀態(tài)與設置用于顯示當前設備的狀態(tài)并可通過按鈕控制各設備的開關。設備狀態(tài)的顯示采用TreeView 組件設計2 行6 列的表格,設備的控制則使用8 組打開、關閉的按鈕,按鈕使用Button 組件設計,并關聯(lián)至串口數(shù)據(jù)生成函數(shù),最終界面如圖6 所示。
圖6 客戶端界面
圖7 是Windows 客戶端軟件的主要流程,創(chuàng)建完UI界面后即進入循環(huán)狀態(tài)等待按鍵按下。當按下UI 界面的“關閉”后,流程結束。若檢測到圖6 界面中的控制按鍵按下,則跳轉到按鍵綁定的響應函數(shù),作出相應動作。例如,當檢測到“一鍵上課”按鈕按下,則進入one_begin 函數(shù)。在函數(shù)內(nèi)部將生成待發(fā)送的數(shù)據(jù)0x5D7EFD00,最后調(diào)用串口數(shù)據(jù)發(fā)送函數(shù)write_bytes 將數(shù)據(jù)發(fā)送至STM32 控制板[10]。
圖7 客戶端軟件流程
本文根據(jù)智慧教室的發(fā)展現(xiàn)狀,結合STM32 與Python技術,設計了集成化的智慧教室控制系統(tǒng)。該系統(tǒng)能通過客戶端控制智慧教室內(nèi)的所有設備,硬件高度集成,操作簡單,應用前景廣泛。