姚曉英,熊星源,秦夢(mèng)文,張雅璐,周 捷,朱孟春,龍 慧
(長(zhǎng)沙師范學(xué)院 信息科學(xué)與工程學(xué)院,湖南 長(zhǎng)沙 400100)
本文設(shè)計(jì)了一款基于STM32 平臺(tái)的校園智能電子學(xué)生筆記本,該筆記本通過終端設(shè)備對(duì)學(xué)生進(jìn)行統(tǒng)一信息管理,教師和家長(zhǎng)可通過使用對(duì)應(yīng)的網(wǎng)頁端、客戶端等查看學(xué)生的日常信息,如考勤情況、學(xué)習(xí)進(jìn)度等。該智能電子筆記本的使用促進(jìn)了校園管理智能化、校園生活一體化、校園設(shè)施數(shù)字化、課堂教學(xué)生動(dòng)化、家校溝通無縫化的實(shí)現(xiàn)[1-2]。
本文設(shè)計(jì)的智能電子學(xué)生筆記本具有便捷測(cè)溫、GPS 定位、親情通話、校園考勤等功能。按照智能電子學(xué)生筆記本所需功能,把系統(tǒng)分為主控芯片、顯示模塊、溫度傳感器模塊、北斗GPS 模塊、4G 通信模塊和IC 卡感應(yīng)模塊,分別實(shí)現(xiàn)主控功能、顯示數(shù)據(jù)功能、便捷測(cè)溫功能、GPS 定位功能、親情通話功能和校園考勤功能。系統(tǒng)總體框架如圖1所示。
圖1 智能電子學(xué)生筆記本系統(tǒng)總體結(jié)構(gòu)
本設(shè)計(jì)選用的主控芯片如圖2 所示。采用STM32F103C8型芯片[3]作為本次設(shè)計(jì)的內(nèi)核。STM32F103C8 用于處理外設(shè)采集的信息,并對(duì)外部連接設(shè)備進(jìn)行控制,完成各芯片間的通信。本系統(tǒng)將STM32 的I/O 口與顯示模塊連接,使用單總線技術(shù)實(shí)現(xiàn)STM32 和外設(shè)溫度傳感器的通信,將讀取的溫度信息傳至顯示模塊;STM32 從串口獲取GPS 定位信息,再通過串口傳送信息至上位機(jī);STM32 的映射端口與4G 通信模塊連接,實(shí)現(xiàn)通話功能。
圖2 單片機(jī)最小系統(tǒng)
智能學(xué)生電子筆記本需要顯示通過STM32 采集的溫度信息和IC 卡信息,故選用OLED 模塊。OLED 顯示模塊采用ATK-0.96’OLED,該OLED 模塊提供了4 種接口方式,其中,I2C 接口模式只需使模塊的BS1 接高電平,使BS2 接地即可,僅需2 根線便可控制OLED,故選擇I2C 接口模式。OLED 電路和接線圖如圖3、圖4 所示。
圖3 ATK-0.96’OLED 電路
圖4 ATK-0.96’OLED 接線圖
測(cè)溫模塊選用DS18B20 溫度傳感器[4],模塊電路如圖5所示。芯片主要分為讀寫時(shí)序兩個(gè)部分,1 時(shí)段和9 時(shí)段負(fù)責(zé)寫入讀入??刂破魍ㄟ^I/O 口向DS18B20 芯片寫入1/0 時(shí)段,在每個(gè)時(shí)段添加延時(shí)并進(jìn)行初始化,初始化的完成需由主控制器拉低總線,在控制器初始化寫時(shí)段后,DS18B20 將在15 μs 至 60 μs 的時(shí)間窗口內(nèi)對(duì)總線采樣。如果總線在采樣窗口期間為高電平,則邏輯1 被寫入DS18B20;若總線為低電平,則邏輯0 被寫入DS18B20。
圖5 DS18B20 模塊電路
根據(jù)學(xué)生的安全需求,在此產(chǎn)品中加入北斗GPS 模塊實(shí)現(xiàn)定位功能。北斗GPS 模塊選用ATK-S1216F8-BD 型號(hào)的GPS 北斗模塊[5-6],該模塊是一款高性能芯片,其靈敏度高,測(cè)量輸出的范圍廣,且支持串口操作,可通過連接串口進(jìn)行參數(shù)設(shè)置,內(nèi)部自帶FLASH。本文主要通過STM32 單片機(jī)控制北斗GPS 模塊芯片,電源采用3.3 V 或5 V,滿足單片機(jī)的要求。模塊原理如圖6 所示。
圖6 ATK-S1216F8-BD 模塊電路
考慮到學(xué)生在不帶手機(jī)的情況下存在與家長(zhǎng)聯(lián)系的需求,故本產(chǎn)品添加了4G 通信模塊,方便使用者通過按鍵撥打、接聽和掛斷電話。選用的ATK-GM510 模塊采用高新興物GM510C2E_L,4 模13 頻LTE 制式的移動(dòng)網(wǎng)絡(luò)通信模組,其支持移動(dòng)2G/3G/4G,聯(lián)通3G/4G,電信4G,板載3.5 mm 耳機(jī)和麥克風(fēng)座,連接有線耳機(jī)即可通話。模塊電路如圖7 所示。
圖7 4G 通信模塊電路
ATK-GM510 模塊的IXD 與STM32 的引腳PB11 相連,接線圖如圖8 所示。RXD 與STM32 的引腳PB10 相連,電源輸入接口連接電源,GND 接地,SIM 卡座插入電話卡,主天線接口連接外部天線。
圖8 引腳接線圖
本系統(tǒng)軟件設(shè)計(jì)主要分為四大部分:
(1)第一部分為IC 卡感應(yīng)模塊,其用于獲取IC 卡信息,并將其反饋到單片機(jī),再傳送信息至顯示屏。
(2)第二部分為便捷測(cè)溫模塊,其用于采集溫度信息,再傳送信息至顯示屏。
(3)第三部分為GPS 定位模塊,其用于獲取位置數(shù)據(jù),進(jìn)行數(shù)據(jù)分析,上傳數(shù)據(jù)到地圖并顯示。
(4)第四部分為4G 通話模塊,其用于完成等待電話信號(hào),執(zhí)行撥打、接通和掛斷等操作。
系統(tǒng)總體設(shè)計(jì)如圖9 所示。
圖9 系統(tǒng)軟件總體設(shè)計(jì)圖
顯示模塊用于顯示獲取的溫度數(shù)據(jù)和IC 卡數(shù)據(jù)。寫顯示模塊的代碼,在main 函數(shù)中,無論是刷卡模塊還是溫度模塊均可調(diào)用顯示模塊的代碼,把數(shù)據(jù)顯示在顯示屏。首先,設(shè)置STM32 與顯示模塊連接的I/O,對(duì)I/O 口進(jìn)行初始化,本文使用宏定義OLED_MODE 設(shè)置I/O 口為開漏模式,SCL、SDA 引腳均設(shè)置為開漏模式,將I2C 設(shè)置為快捷模式。然后,初始化OLED,初始化代碼使用模塊自帶的默認(rèn)初始化參數(shù)。最后,完成的函數(shù)包括:OLED_SetPos(設(shè)置光標(biāo))、OLED_Fill(填充整個(gè)屏幕)、OLED_CLS(清屏)、OLED_ON(將OLED 從休眠狀態(tài)喚醒)、OLED_OFF(OLED 休眠)、OLED_ShowStr(顯示字符串)、OLED_ShowCN(在OLED上顯示中文)、OLED_ShowInt(顯示6×8 或8×16 的5 位整數(shù))[7-8]。
顯示模塊主要代碼如下所示:
便捷測(cè)溫模塊的功能是獲取人體表面的溫度數(shù)據(jù),根據(jù)DS18B20 數(shù)據(jù)手冊(cè),使用單總線技術(shù)實(shí)現(xiàn)STM32 與外部溫度傳感器的通信。復(fù)位DS18B20,開機(jī)時(shí)先檢測(cè)DS18B20是否存在,如果不存在,提示錯(cuò)誤。如果發(fā)現(xiàn)了DS18B20,硬件按照單總線操作時(shí)序讀取DS18B20 的溫度值,然后通過DS18B20_Get_Temp 函數(shù)讀取DS18B20 中的溫度,程序每隔約100 ms 讀取一次數(shù)據(jù),并把溫度顯示在顯示屏上。溫度檢測(cè)流程如圖10 所示。
圖10 溫度檢測(cè)流程
DS18B20 主要代碼如下所示:
北斗GPS模塊流程如圖11所示。系統(tǒng)運(yùn)行時(shí)首先初始化,判斷是否為數(shù)據(jù)接收標(biāo)志位,若檢測(cè)到數(shù)據(jù)接收標(biāo)志位則解碼北斗時(shí)間后編碼,顯示當(dāng)前狀態(tài)[9-10]。
圖11 GPS 工作流程
北斗GPS 模塊用于獲取定位數(shù)據(jù)。NMEA-0183 數(shù)據(jù)解析部分利用數(shù)逗號(hào)的方法進(jìn)行解析。模塊自帶默認(rèn)設(shè)置的SkyTraq 協(xié)議控制部分。在main 函數(shù)中,先初始化硬件,再通過SkyTra_Cfg_Rate 函數(shù)判斷GPS 模塊是否在位,若不在位,便修改模塊的波特率,直到函數(shù)檢測(cè)到模塊在位。隨后,函數(shù)進(jìn)入死循環(huán),等待串口2 接收GPS 數(shù)據(jù),接收到GPS模塊傳輸?shù)臄?shù)據(jù)并執(zhí)行數(shù)據(jù)解析操作,解析完后顯示GPS 定位數(shù)據(jù)。北斗GPS 模塊主要代碼如下所示:
4G 通話模塊的功能通過電話卡實(shí)現(xiàn),程序流程如圖12所示。本模塊首先在led.c 和led.h 中宏定義兩個(gè)按鍵,分別用于撥通電話和掛斷電話。在main 函數(shù)中初始化兩個(gè)按鍵,兩個(gè)按鍵均處于空閑狀態(tài)。當(dāng)按鍵1 被按下,判斷是否檢測(cè)到電話,若未檢測(cè)到電話,則撥通設(shè)置好的電話號(hào)碼,并將號(hào)碼顯示在顯示屏上;如果檢測(cè)到電話,則執(zhí)行接聽電話的操作。按鍵2 被按下,掛斷電話。
圖12 4G 通話流程
該文基于STM32F103C8 單片機(jī)研制了一種智能電子學(xué)生筆記本。該應(yīng)用是一款符合教育發(fā)展、學(xué)校管理、安全便捷理念的一卡通智能電子學(xué)生筆記本,是貼合校園中小學(xué)學(xué)生、家長(zhǎng)、教師、學(xué)校需求的智慧校園綜合體。