版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
基于STM32的嵌入式多功能教務(wù)信息顯示系統(tǒng)EmbeddedMultifunctionEducationalAdministrationInformationDisplaySystemBasedonSTM32中文摘要伴隨著中國(guó)高等院校招生人數(shù)日益擴(kuò)張,高校的教務(wù)信息化管理變得尤為重要。作為高校管理不可缺少的一部分,教務(wù)系統(tǒng)有著至關(guān)重要的作用。在現(xiàn)代計(jì)算機(jī)技術(shù)和信息技術(shù)快速發(fā)展的前提下,教務(wù)管理系統(tǒng)信息化建設(shè)不僅能夠讓高校的教務(wù)工作更加方便,更能提高本校的教學(xué)效率。本文主要立足與當(dāng)前高校教務(wù)系統(tǒng)信息化的現(xiàn)狀和建設(shè)程度等方面,在基于專業(yè)學(xué)習(xí)的基礎(chǔ)上提出教務(wù)管理系統(tǒng)的硬件方面,提出并設(shè)計(jì)一種能夠?qū)崿F(xiàn)無(wú)紙化,減輕日常教務(wù)工作并結(jié)合院?;驹O(shè)施的功能性嵌入式系統(tǒng)。該系統(tǒng)為基于STM32單片機(jī)設(shè)計(jì)的多功能教務(wù)顯示系統(tǒng),主要掛載于教室門口以代替紙質(zhì)版課程表,并結(jié)合了學(xué)生打卡,課程調(diào)課,考試通知等其他功能。關(guān)鍵詞:教務(wù)信息化建設(shè);無(wú)紙化;功能性嵌入式系統(tǒng);多功能教務(wù)顯示系統(tǒng)AbstractWiththeincreasingenrollmentofChineseuniversitiesandcolleges,theinformatizationmanagementofeducationalaffairsincollegesanduniversitiesbecomesparticularlyimportant.Asanintegralpartofuniversitymanagement,theeducationalsystemplaysavitalrole.Underthepremiseofrapiddevelopmentofmoderncomputertechnologyandinformationtechnology,theinformatizationconstructionoftheeducationaladministrationmanagementsystemcannotonlymaketheuniversity'seducationalworkmoreconvenient,butalsoimprovetheteachingefficiencyoftheuniversity.Thisarticleismainlybasedonthecurrentsituationandthedegreeofconstructionofthecurrentcollegeeducationsysteminformatization.Basedonprofessionallearning,itproposesthehardwareoftheeducationmanagementsystem.Thesystemisamulti-functionaleducationaldisplaysystemdesignedbasedonSTM32microcontroller,whichismainlymountedatthedooroftheclassroomtoreplacethepaperversionofthecurriculum,andcombinedwithotherfunctionssuchasstudentpunchcard,coursetransfer,examnotificationandotherfunctions.Keywords:EducationalInformationConstruction;Paperless;FunctionalEmbeddedSystem;Multifunctionaleducationaladministrationdisplaysystem目錄第一章緒論 緒論1.1研究背景我國(guó)高等院校的教務(wù)信息化建設(shè),已經(jīng)成為了國(guó)家的教育方針之一。作為現(xiàn)代教學(xué)管理改革重要內(nèi)容之一的教務(wù)管理,也毅然成為了評(píng)估院校信息化建設(shè)水平的重要標(biāo)志之一[1]。教務(wù)管理是高等院校主要的日常管理工作之一,這涉及到校內(nèi)各系部以及老師和學(xué)生等諸多方面等,伴隨著教學(xué)體系的不斷改革,尤其對(duì)學(xué)分制與選課制等不斷深入與發(fā)展,教務(wù)日常管理工作變得日益繁重和復(fù)雜。如何把教務(wù)工作更加信息化、模塊化、便捷化、高效化成為了現(xiàn)代高校發(fā)展建設(shè)的重點(diǎn)。伴隨著各大高校的招生規(guī)模不斷增大,招生人數(shù)逐年增長(zhǎng),不管是教師還是學(xué)生隊(duì)伍日益壯大,同樣對(duì)于學(xué)校教務(wù)信息服務(wù)需求急劇增加,大部分院?,F(xiàn)有的教務(wù)管理系統(tǒng)功能無(wú)法滿足目前的教務(wù)管理要求,所以對(duì)于各高校教務(wù)管理的升級(jí)與硬件設(shè)施更新都有著急切的需求和意義。1.2國(guó)內(nèi)研究現(xiàn)狀調(diào)查顯示,近年來(lái)我國(guó)各高校對(duì)信息化建設(shè)的重視程度很高,各高校在教務(wù)管理方面,都取得了不錯(cuò)的進(jìn)展,建設(shè)效果明顯,其中比較突出則為校園網(wǎng)在教務(wù)管理系統(tǒng)中的廣泛應(yīng)用[2]。然而伴隨著教務(wù)管理壓力致使教務(wù)管理系統(tǒng)需求的快速增長(zhǎng),以及信息化建設(shè)教務(wù)管理系統(tǒng)中軟件層次方面的飛速發(fā)展,大多數(shù)學(xué)校對(duì)院校內(nèi)的硬件基礎(chǔ)設(shè)施卻沒(méi)得到同步的升級(jí)?,F(xiàn)有的系統(tǒng)設(shè)備功能漸漸跟不上軟件的升級(jí),部分老舊硬件設(shè)施不能滿足學(xué)校信息化教學(xué)的需求,部分業(yè)務(wù)流程依舊需要人工方式以及紙質(zhì)文件進(jìn)行,造成業(yè)務(wù)的繁瑣性和工作人員的負(fù)擔(dān)以及得不到改善。高校教務(wù)管理系統(tǒng)是否能良好的運(yùn)作離不開(kāi)基礎(chǔ)設(shè)備和硬件支持,如果在硬件方面投入不足,則會(huì)導(dǎo)致高校教務(wù)管理不能被充分的發(fā)揮作用,這是也是導(dǎo)致校園信息化建設(shè)過(guò)程的瓶頸之一[3]。1.3系統(tǒng)設(shè)計(jì)應(yīng)用與市場(chǎng)分析根據(jù)目前各高校的情況來(lái)看,大部分高校都有著自己獨(dú)立的一套教務(wù)管理系統(tǒng),主要來(lái)源于高校自主研發(fā)或第三方公司研發(fā)并一次性交付安裝并使用。供給學(xué)校的系統(tǒng)并沒(méi)有后續(xù)研發(fā),也未能提供學(xué)院后續(xù)需求的維護(hù)和升級(jí),學(xué)院不能長(zhǎng)時(shí)間保證設(shè)備的持續(xù)性升級(jí)和改裝以符合教務(wù)需求,這也是導(dǎo)致各高校目前硬件設(shè)備相對(duì)落后于軟件的升級(jí)進(jìn)度。就國(guó)內(nèi)高校的設(shè)備基礎(chǔ)情況來(lái)看,研發(fā)一套嵌入式教務(wù)系統(tǒng)工程,可提供完善的硬件設(shè)備,配合現(xiàn)有的教務(wù)系統(tǒng)軟件方面,整套軟件硬件相互配合可實(shí)現(xiàn)更多更便捷可靠的教務(wù)功能,即可保證滿足師生日常教務(wù)工作和需求。保證該嵌入式系統(tǒng)的持續(xù)升級(jí)和改裝的活力,可以解決目前硬件更新乏力的根本因數(shù)。所以設(shè)計(jì)出一款嵌入式多功能教務(wù)信息顯示系統(tǒng),可以解決目前存在的教務(wù)問(wèn)題。1.4論文結(jié)構(gòu)與內(nèi)容本文主要講解了一個(gè)嵌入式多功能教務(wù)信息顯示系統(tǒng)的硬件搭建與固件程序的編寫與功能設(shè)計(jì),總的流程如下。文章內(nèi)容分別有四個(gè)章節(jié),章節(jié)內(nèi)容如下:第一章為緒論部分,主要介紹了以教務(wù)系統(tǒng)信息化建設(shè)為研究背景和意義,以及研究對(duì)目前國(guó)內(nèi)院校教務(wù)系統(tǒng)現(xiàn)狀和相關(guān)情況,并介紹了在計(jì)算機(jī)技術(shù)與信息化建設(shè)的飛快發(fā)展下,嵌入式教務(wù)管理系統(tǒng)的市場(chǎng)前景與應(yīng)用。第二章主要講解了系統(tǒng)的設(shè)計(jì)原型來(lái)源,描述系統(tǒng)整體框架和主要實(shí)現(xiàn)的功能介紹。第三章介紹了該系統(tǒng)的硬件的選型與搭建平臺(tái),重點(diǎn)對(duì)處理芯片、以及系統(tǒng)需要實(shí)現(xiàn)的功能外設(shè)的介紹和安裝。第四章闡述了在該系統(tǒng)硬件平臺(tái)下,固件驅(qū)動(dòng)的主要程序,部分重點(diǎn)算法的介紹,以及各個(gè)外設(shè)如何互相配合運(yùn)行與通訊。第五章主要內(nèi)容為對(duì)系統(tǒng)進(jìn)行綜合測(cè)試,介紹實(shí)現(xiàn)的主要功能,展現(xiàn)實(shí)驗(yàn)過(guò)程和結(jié)果。第六章為整個(gè)系統(tǒng)做總結(jié)評(píng)估,對(duì)本系統(tǒng)目前的不足提出改進(jìn)和升級(jí)方案,望在未來(lái)對(duì)系統(tǒng)做進(jìn)一步的完善和升級(jí)進(jìn)一步完善。
第二章系統(tǒng)框架及功能介紹本章主要簡(jiǎn)單概述本文主要設(shè)計(jì)的內(nèi)容以及系統(tǒng)框架介紹,并且在應(yīng)用技術(shù)方面做一個(gè)簡(jiǎn)單的闡述,以方便了解到整個(gè)項(xiàng)目的設(shè)計(jì)思路以及核心。2.1系統(tǒng)框架系統(tǒng)設(shè)計(jì)原型源自于學(xué)習(xí)每個(gè)教室門口張貼的課程信息表。將紙質(zhì)的課程信息表更換為更為先進(jìn)的顯示系統(tǒng),并整合多項(xiàng)功能,使其成為配合教務(wù)管理系統(tǒng)的嵌入式硬件設(shè)備。本系統(tǒng)主要功能有:課程顯示;教室信息顯示;上課打卡;遠(yuǎn)程遙控管理等。系統(tǒng)框架圖如圖2.1所示:圖2.1系統(tǒng)框架圖系統(tǒng)主要是圍繞著學(xué)校教務(wù)系統(tǒng)而設(shè)計(jì)的配套嵌入式硬件設(shè)備,其主要職責(zé)是讓教務(wù)系統(tǒng)內(nèi)各個(gè)板塊能夠更加高效的配合,以及減少管理人員的負(fù)擔(dān)。主要面向?qū)ο鬄槔蠋?、學(xué)生以及教務(wù)管理人員。系統(tǒng)主要組成部分分別是:移動(dòng)端APP,機(jī)智云云端服務(wù),以及顯示系統(tǒng)。移動(dòng)端APP負(fù)責(zé)遠(yuǎn)程管理設(shè)備端,云端則是設(shè)備端以及移動(dòng)端APP的通訊樞紐。2.2應(yīng)用技術(shù)概述該系統(tǒng)的設(shè)計(jì)主要分為兩個(gè)方面,硬件平臺(tái)的搭建和固件代碼的編寫,通過(guò)軟硬件平臺(tái)結(jié)合可完成項(xiàng)目實(shí)驗(yàn)初定的功能實(shí)現(xiàn)。完成了搭建硬件平臺(tái)后,組成系統(tǒng)的固件和算法也是尤為重要的一部分,固件決定著硬件設(shè)備的功能用途和性能。固件代碼主要分為四個(gè)模塊:show.c課程表顯示模塊;FATFS文件管理系統(tǒng)模塊;機(jī)智云協(xié)議Wi-Fi模塊;以及開(kāi)啟上課模式后實(shí)現(xiàn)學(xué)生打卡的RFID模塊。在本系統(tǒng)模塊中,Wi-Fi模塊的云端通訊協(xié)議是最為關(guān)鍵的核心之一。本系統(tǒng)利用機(jī)智云協(xié)議將系統(tǒng)分為三個(gè)主要平臺(tái):移動(dòng)端APP、云端服務(wù)以及設(shè)備端顯示系統(tǒng)。設(shè)備端通過(guò)與云端獲得通訊,等待移動(dòng)端發(fā)送指令從而實(shí)現(xiàn)無(wú)線操控系統(tǒng)實(shí)現(xiàn)不同功能。
第三章系統(tǒng)硬件與功能外設(shè)本章主要介紹系統(tǒng)硬件外設(shè)的功能原理和選型。根據(jù)上文系統(tǒng)框架圖中可得知,系統(tǒng)硬件設(shè)備分為六個(gè)模塊:分別為STM32單片機(jī)、TFT-LCD顯示模塊、Wi-Fi模塊、RFID模塊以及SD卡和蜂鳴器,系統(tǒng)模塊連接如下圖3.1:圖3.1設(shè)備模塊連接圖如圖所示,系統(tǒng)主要基于STM32單片機(jī)為核心,其中系統(tǒng)的核心功能為L(zhǎng)CD顯示模塊顯示課程表信息;Wi-Fi模塊主要負(fù)責(zé)與云端進(jìn)行通訊獲取指令和信息;RFID模塊則模擬學(xué)生上課打卡的功能,統(tǒng)計(jì)已到學(xué)生;SD卡作為存儲(chǔ)介質(zhì)放置教室課程信息。3.1STM32 3.1.1STM32簡(jiǎn)介STM32系列是ST公司推出的一款基于ARM?Cortex?內(nèi)核的32位微處理器和微控制器,STM32系列產(chǎn)品專注為高性能、低成本、低功耗而設(shè)計(jì)的嵌入式系統(tǒng)應(yīng)用。比起之前比較傳統(tǒng)的51單片機(jī),STM32系列對(duì)主控制器的速度有了較大的提升,速度對(duì)系統(tǒng)的操作流程和性能有著關(guān)鍵性的影響。對(duì)設(shè)備體積和功耗要求來(lái)說(shuō),STM32系列都能夠比較出色的滿足系統(tǒng)的要求。3.1.2芯片選型根據(jù)設(shè)計(jì)內(nèi)容需求,經(jīng)過(guò)了各型號(hào)性能的對(duì)比和分析,最終確認(rèn)芯片選取的是STM32F103RCT6,這款STM32芯片采用了基礎(chǔ)型72MHz的Cortex-M3內(nèi)核。Cortex-M3是一個(gè)32位處理器的內(nèi)核,內(nèi)部的數(shù)據(jù)路徑,一般采用32位寄存器以及存儲(chǔ)器接口;采用哈佛結(jié)構(gòu),擁有獨(dú)立的指令總線以及數(shù)據(jù)總線,可以并行取值和數(shù)據(jù)訪問(wèn)。STM32的高性能Cortex-M3內(nèi)核速度可達(dá)1.25DMips/MHz,最高工作頻率可達(dá)72MHz。存儲(chǔ)器根據(jù)不同型號(hào)上集成了32-512Kb的Flash存儲(chǔ)器,以及6-64Kb的SRAM存儲(chǔ)器。含有1us的雙12位ADC,4Mbps的UART,18Mbps的SPI,18MHz的I/O口翻轉(zhuǎn)速度等特點(diǎn);圖3.2MCU內(nèi)部構(gòu)造圖[4]圖3.2中顯示的是MCU的內(nèi)部組成結(jié)構(gòu)。從圖中可以看出,除了作為CPU的Cortex-M3內(nèi)核外,一個(gè)完整的MCU組成還需要加上其他的外設(shè),比如時(shí)鐘、存儲(chǔ)器以及IO口等其他模塊。為了本次實(shí)驗(yàn)的便捷集成和性能要求,本次選取的是STM32F103RCT6MINI開(kāi)發(fā)版,該開(kāi)發(fā)版主要特點(diǎn)如下:接口方面:3個(gè)SPI、5個(gè)串口、2個(gè)USB口、3個(gè)12位ADC、1個(gè)12位DAC及51個(gè)通用IO口,基本滿足了項(xiàng)目所需要增加的外設(shè)的引腳需求。內(nèi)存方面:內(nèi)置48KBSRAM和256KBFLASH定時(shí)器方面:2個(gè)基本定時(shí)器、4個(gè)通用定時(shí)器、2個(gè)高級(jí)定時(shí)器,基本滿足固件程序要求。主要集成外設(shè):USB轉(zhuǎn)串口芯片CH340G、JTAG/SWD接口、SD卡接口、TFTLCD模塊接口(16位)開(kāi)發(fā)版非常小巧,整個(gè)板子尺寸大小僅有8cm*10cm*2cm,非常合適本次系統(tǒng)設(shè)計(jì)要求,開(kāi)發(fā)板集成了系統(tǒng)需要的SD卡接口以及TFTLCD模塊接口,在成本和功能上都取得了一個(gè)很好的平衡點(diǎn)。圖3.3、圖3.4分別展示了MINI開(kāi)發(fā)板的正面與背面:圖3.3STM32MINI開(kāi)發(fā)板正面圖[5]圖3.4STM32MINI開(kāi)發(fā)板背面圖[5]3.2TFT-LCD顯示模塊TFT-LCD中文全稱薄膜晶體管液晶顯示器,英文全稱叫做:ThinFilmTransistor–LiquidCrystalDisplay。TFT即薄膜場(chǎng)效應(yīng)晶體管,屬于有源矩陣液晶。我們?nèi)粘L岬降囊壕э@示屏的工作原理是利用電壓控制從而產(chǎn)生灰階,而當(dāng)利用薄膜技術(shù)所制成的電晶體電極來(lái)產(chǎn)生電壓進(jìn)而控制液晶轉(zhuǎn)向的時(shí)候,則稱之為TFT-LCD。TFT-LCD采用“主動(dòng)式矩陣”進(jìn)行驅(qū)動(dòng)。利用掃描的方法控制任意顯示點(diǎn)的開(kāi)啟與關(guān)閉,從而達(dá)到可以“自主地”對(duì)屏幕上的每一個(gè)獨(dú)立的像素進(jìn)行控制,這樣可以大大的提高屏幕的反應(yīng)速度。一般的TFT反應(yīng)速度差不多在80ms左右,人眼的可視角度可以高達(dá)130度,做到高亮度、高速度、高對(duì)比度的顯示屏幕信息,主要應(yīng)用在高端的顯示產(chǎn)品中。圖3.5TFT-LCD切片結(jié)構(gòu)圖[6]本文系統(tǒng)設(shè)計(jì)將通過(guò)STM32的普通I/O口模擬MCU8080總線實(shí)現(xiàn)驅(qū)動(dòng)TFTLCD顯示,選取主控制器為ILI9341,觸摸芯片為XPT2046,分辨率為320*240的2.8寸TFTLCD作為整個(gè)系統(tǒng)的主要顯示模塊。整個(gè)TFTLCD模塊采用2*17的2.54公排針腳與STM32連接,接口定義如圖3.6所示:圖3.6TFT-LCD接口定義[7]從圖3.6中可以看到,TFTLCD模塊采用16位的并行方式與外部進(jìn)行連接。3.3RFID射頻識(shí)別技術(shù)RFID的中文全稱為射頻識(shí)別技術(shù),英文全稱為:RadioFrequencyIdentification。射頻識(shí)別技術(shù)即無(wú)線射頻識(shí)別是自動(dòng)識(shí)別技術(shù)的其中一種,通過(guò)無(wú)線射頻的方式進(jìn)行無(wú)接觸雙向數(shù)據(jù)通訊,對(duì)記錄媒體(射頻卡或者電子標(biāo)簽等)進(jìn)行讀寫,以達(dá)到識(shí)別目標(biāo)以及數(shù)據(jù)交換等目的,被認(rèn)為是21世紀(jì)最具有發(fā)展?jié)摿?、?yīng)用最為廣泛的信息技術(shù)之一[8]。RFID系統(tǒng)一般由三個(gè)系統(tǒng)模塊組成:詢問(wèn)器(閱讀器)、電子標(biāo)簽以及數(shù)據(jù)處理模塊;RFID技術(shù)的工作原理并不復(fù)雜:利用詢問(wèn)器的雙向無(wú)線電波收發(fā)器向電子標(biāo)簽發(fā)出信號(hào),電子標(biāo)簽利用感應(yīng)電流獲得足夠的微小電流后,發(fā)送自身存儲(chǔ)的識(shí)別信息進(jìn)行應(yīng)答。識(shí)別信息既可以是自身存儲(chǔ)的信息,也可以標(biāo)簽自身串行號(hào)。圖3.7RFID工作原理圖[9]本文系統(tǒng)設(shè)計(jì)將選用MF_RC522非接觸式讀寫卡芯片,進(jìn)行模擬學(xué)生校園卡上課打卡功能,本次使用的RC522是由恩智浦半導(dǎo)體公司研發(fā)的高頻射頻芯片,主要支持ISO14443A通訊協(xié)議的MIFARE卡。RCC522適用于各種支持ISO/IEC14443A標(biāo)準(zhǔn)協(xié)議并要求小尺寸、低成本、高性能的非接觸式通訊的應(yīng)用場(chǎng)所,十分符合本次系統(tǒng)設(shè)計(jì)。3.4Wi-Fi模塊Wi-Fi,又稱“無(wú)線網(wǎng)絡(luò)”或“無(wú)線熱點(diǎn)”,是一種基于IEEE802.11標(biāo)準(zhǔn)的無(wú)線局域網(wǎng)技術(shù),經(jīng)由無(wú)線以太網(wǎng)兼容性聯(lián)盟(WirelessEthernetCompatibilityAlliance,WECA)為了實(shí)現(xiàn)通用兼容性和優(yōu)質(zhì)用戶體驗(yàn)而推出的無(wú)線網(wǎng)絡(luò)技術(shù)。在當(dāng)前社會(huì),隨著互聯(lián)網(wǎng)的廣泛應(yīng)用,Wi-Fi技術(shù)憑借其覆蓋廣,傳播速度快,可靠性強(qiáng)等優(yōu)勢(shì)迅速占領(lǐng)了無(wú)線互聯(lián)網(wǎng)傳輸?shù)氖袌?chǎng),受到用戶和市場(chǎng)的廣泛歡迎,在市面上人們所使用的平板電腦、智能手機(jī)以及大部分智能設(shè)備基本都支持Wi-Fi連接。Wi-Fi也成為了當(dāng)今社會(huì)使用最廣的一種無(wú)線網(wǎng)絡(luò)技術(shù)[10]。此次系統(tǒng)設(shè)計(jì)選用的是嵌入式Wi-Fi模塊。內(nèi)置Wi-Fi協(xié)議和驅(qū)動(dòng),屬于32位單片機(jī)接口一般為MCU接口如UART等,其主要的功能是將TTL電平或串口轉(zhuǎn)換為符合Wi-Fi無(wú)線網(wǎng)絡(luò)通信標(biāo)準(zhǔn)的通訊模塊,是實(shí)現(xiàn)無(wú)線智能家居以及智能硬件等物聯(lián)網(wǎng)應(yīng)用的重要組成部分。應(yīng)用Wi-Fi模塊首先需要了解兩個(gè)概念:STA(無(wú)線網(wǎng)絡(luò)連接終端)以及AP(無(wú)線接入點(diǎn))。作為網(wǎng)絡(luò)的中心節(jié)點(diǎn),一個(gè)無(wú)線網(wǎng)絡(luò)的創(chuàng)建者,也就是在日常生活中,一般辦公或家庭中所使用的無(wú)線路由器即是AP,而連接到路由器無(wú)線網(wǎng)絡(luò)的手機(jī)、電腦、智能家居、硬件等可以聯(lián)網(wǎng)的用戶設(shè)備即為STA?;谝陨?,利用Wi-Fi模塊作為不同的連接方式可以組成不一樣的拓?fù)湫问?,分別是基礎(chǔ)網(wǎng)(Infra)和自組網(wǎng)(AdHoc),根據(jù)設(shè)計(jì)需求來(lái)定制合適的互聯(lián)網(wǎng)連接方案。圖3.8為Wi-Fi模塊作為AP+STA模式在系統(tǒng)中的連接示意圖:圖3.8Wi-Fi模塊AP+STA模式連接示意圖本次系統(tǒng)設(shè)計(jì)將Wi-Fi模塊設(shè)置為AP模式,通過(guò)串口連接的方式連接開(kāi)發(fā)板,從而利用Wi-Fi接入到校內(nèi)路由器(STA)以連接校園網(wǎng)以及云端,以獲取到相關(guān)的信息和進(jìn)行通訊。圖3.8為Wi-Fi模塊與開(kāi)發(fā)板的連接圖:圖3.9Wi-Fi模塊連接示意圖3.5SD卡SD卡中文全稱為安全數(shù)碼卡,英文全稱為:SecureDigitalMemoryCard,它是一種基于半導(dǎo)體快閃記憶器,在MMC的基礎(chǔ)上進(jìn)行改進(jìn)發(fā)展而來(lái)的新一代記憶存儲(chǔ)器設(shè)備,被廣泛使用于便攜式裝置上,例如多媒體播放器以及數(shù)碼相機(jī)、移動(dòng)端手機(jī)等設(shè)備。由日本松下,東芝以及美國(guó)的SanDisk公司聯(lián)合開(kāi)發(fā)研制而成的,于1999年8月發(fā)布。SD卡全身猶如一張郵票般大小,重量只有僅僅不到2克,但卻能夠擁有2G到2T不等的高儲(chǔ)存容量,并且擁有快速數(shù)據(jù)傳輸率、高記憶容量、極大的移動(dòng)靈活性以及安全性。按照容量進(jìn)行分類可以將其分為三類,分別是:SD卡、SDHC卡以及SDXC卡。如圖3.10所示:圖3.10SD卡按容量分類[7]根據(jù)本次系統(tǒng)設(shè)計(jì),SD容量沒(méi)有太大的要求,最終選型為32G的SD/SDHC卡。
第四章系統(tǒng)固件與算法介紹本章主要講解本系統(tǒng)的驅(qū)動(dòng)核心:固件的部分關(guān)鍵代碼和算法。根據(jù)系統(tǒng)功能,軟件代碼主要分為四大板塊,其中有:FATFS文件管理和SD卡文件讀取模塊、機(jī)智云協(xié)議與Wi-Fi模塊通訊、RFID無(wú)線射頻技術(shù)以及LCD課程表顯示模塊,本章將對(duì)各個(gè)模塊不同的功能及算法進(jìn)行詳細(xì)講解介紹,以下圖4.1是介紹本系統(tǒng)工程主要的程序流程:圖4.1程序流程圖4.1文件讀取管理本系統(tǒng)主要設(shè)計(jì)的文件存儲(chǔ)介質(zhì)為SD卡,利用SPI串行外圍設(shè)備接口進(jìn)行通訊;將本學(xué)期每個(gè)教室的課程數(shù)據(jù)信息提前存入SD卡里面,設(shè)備將通過(guò)FATFS文件管理打開(kāi)SD卡的文件并將讀取到的信息經(jīng)過(guò)計(jì)算得出不同時(shí)段顯示的信息。4.1.1FATFS文件系統(tǒng)介紹FATFS是一個(gè)完全開(kāi)源免費(fèi)的文件系統(tǒng)管理模塊,專門用于小型的嵌入式系統(tǒng)中實(shí)現(xiàn)FAT(FileAllocationTable)文件系統(tǒng)管理。它完全用標(biāo)準(zhǔn)的C語(yǔ)言編寫而成,所以具有很好的硬件平臺(tái)獨(dú)立性,經(jīng)過(guò)簡(jiǎn)單的修改后即可完整移植到8051、AVR、PIC、SH、ARM等系列單片機(jī)上。FATFS組件的編寫遵循ANSIC(C89),因此可以完全分離于磁盤的I/0層而不依賴于硬件平臺(tái)。FATFS有以下特點(diǎn):Windows兼容的FAT文件系統(tǒng)(支持FAT12/FAT16/FAT32)代碼與硬件平臺(tái)無(wú)關(guān),移植簡(jiǎn)單代碼量較少、效率高、使用方便支持多個(gè)存儲(chǔ)媒介有獨(dú)立的緩沖區(qū),可以對(duì)多個(gè)文件進(jìn)行讀寫針對(duì)8位單片機(jī)和16位單片機(jī)做了相關(guān)優(yōu)化正是因?yàn)镕ATFS本著免費(fèi)、開(kāi)源的原則,使得FATFS在小型嵌入式設(shè)備應(yīng)用非常的廣泛。FATFS的模塊層次結(jié)構(gòu)圖如下圖4.2所示:圖4.2FATFS層次結(jié)構(gòu)圖[7]在最頂端的是應(yīng)用層,里面包含復(fù)雜的FAT協(xié)議以及FATFS內(nèi)部結(jié)構(gòu),使用者無(wú)需深入了解。中間層為FATFS模塊,提供的是ff.c以及ff.h文件,用戶只需要在使用時(shí)調(diào)用FAYFS模塊提供的接口函數(shù),比如f_open、f_read、f_write、f_close等相關(guān)函數(shù)即可實(shí)現(xiàn)讀/寫文件。在移植到不同平臺(tái)的時(shí)候,唯一需要編寫移植代碼只有FATFS模塊提供的底層結(jié)構(gòu),它包括存儲(chǔ)媒介的讀寫接口(diskI/O)和實(shí)時(shí)時(shí)鐘。4.1.2SD文件準(zhǔn)備FATFS模塊經(jīng)過(guò)簡(jiǎn)單的移植后,在添加了相關(guān)頭文件后,即可在main.c中進(jìn)行函數(shù)調(diào)用。此次系統(tǒng)需要調(diào)用的主要是掛載SD卡與板上的Flash芯片作為本系統(tǒng)的存儲(chǔ)媒介;并訪問(wèn)SD卡內(nèi)的預(yù)存文件,并讀出其中的信息。在SD卡中預(yù)存了兩個(gè)TXT文件,其中一個(gè)名為table.txt,負(fù)責(zé)存放本學(xué)期本教室的課程安排信息,具體內(nèi)容如:“110108001110916002120116003210116004310116003320116005350108001350916002410116006420116004510108001510916002530116003”從左到右算起,其編排方式為每九個(gè)數(shù)字為一組,以“110108001”為例,數(shù)字前兩位“1”“1”分別代表星期一和第一節(jié)課,“0108”代表這節(jié)課的初始周數(shù),最后三位數(shù)“001”代表著課程的代碼另一個(gè)名為date.txt的文件是負(fù)責(zé)存放本學(xué)期開(kāi)學(xué)日期以及當(dāng)前教室號(hào),如:“20200302203”“20200302”表示開(kāi)學(xué)日期為2020年3月2日,以便于計(jì)算當(dāng)前周數(shù),“203”代表203教室。4.1.3代碼設(shè)計(jì)首先在主函數(shù)中初始化FATFS文件管理系統(tǒng),并為其申請(qǐng)相關(guān)變量?jī)?nèi)存,其主要代碼如下:Intmain(void)
{
mem_init(); //內(nèi)存池初始化exfuns_init(); //為fatfs相關(guān)變量申請(qǐng)內(nèi)存f_mount(fs[0],"0:",1); //SD卡掛載f_mount(fs[1],"1:",1); //FLASH掛載
}
在FATFS模塊初始化完成之后,直接調(diào)用ff.c文件中相關(guān)讀寫函數(shù),也就是f_open與f_read等函數(shù)來(lái)讀取獲取文件信息。根據(jù)之前預(yù)存入SD文件的課程信息,在讀取了兩個(gè)文件的內(nèi)容后,分別儲(chǔ)存在數(shù)組buf以及buf_date中。主要代碼如下:voidShow_SD(void)
{
res=f_open(&fil,"0:/table.txt",FA_READ);//打開(kāi)文件 f_read(&fil,buf,200,&bww); //讀取文件并將值存入buf f_close(&fil);//關(guān)閉文件 res_date=f_open(&fil_date,"0:/date.txt",FA_READ);//打開(kāi)文件 f_read(&fil_date,buf_date,200,&bww_date);//讀取文件存入buf f_close(&fil_date);//關(guān)閉文件 for(n=0;n>=0;n++)//統(tǒng)計(jì)文件中共有多少值 { str=buf[n]; if(str=='\0') { len=n; printf("Space:%d\r\n",len); break; } } group=len/9;//計(jì)算出本學(xué)期本教室一周要上多少課
}4.2RFID_RC522RC522模塊提供了三種接口,分別是I2C、UART和SPI三種接口,根據(jù)設(shè)計(jì)要求,RC522選擇用SPI接口與STM32進(jìn)行通訊,通過(guò)相應(yīng)寄存器控制SPI接口的數(shù)據(jù)傳輸率和數(shù)據(jù)時(shí)鐘相位等通訊參數(shù)。在系統(tǒng)工程中HARDWARE中添加了rc522.c以及其頭文件rc522.h,確保RC522能夠順利初始化并正常運(yùn)行。由于在系統(tǒng)設(shè)計(jì)當(dāng)中只需要提供學(xué)生打卡功能,也就是RC522只需要進(jìn)行尋卡,讀取卡片ID號(hào)以及讀卡成功即可,不需要對(duì)卡內(nèi)儲(chǔ)存的值進(jìn)行其他操作。所在在系統(tǒng)使用過(guò)程中,最主要調(diào)用的是位于rc522.h里提供的讀卡函數(shù)RC522_Handel()。在使用之前在主函數(shù)intmain()中進(jìn)行初始化InitRc522(),根據(jù)系統(tǒng)設(shè)計(jì),打卡功能是在我們打開(kāi)了“正在上課”開(kāi)關(guān)后才相應(yīng)開(kāi)啟的,其余時(shí)間RC522不工作,也就是說(shuō)在非上課時(shí)間打卡是無(wú)效的。所以在主函數(shù)的while(1)里,將RC522_Handel()放置在以下位置,代碼如下:if(currentDataPoint.valueClassroom==Classroom_VALUE4)//如果310教室上課 { RC522_Handel();//刷卡 LCD_ShowxNum(150,170,students,3,16,0); //LCD顯示人數(shù) }4.3機(jī)智云協(xié)議與Wi-Fi通訊模塊4.3.1Wi-Fi模塊固件燒錄根據(jù)系統(tǒng)設(shè)計(jì)要求,此次Wi-Fi模塊選用的是ESP8266。由于需要連接到機(jī)智云進(jìn)行云端通信,所以Wi-Fi模塊燒寫的是機(jī)智云的官方固件GAgent通訊模組。GAgent通訊模組主要作用是讓嵌入式系統(tǒng)與云端以及應(yīng)用端(APP)進(jìn)行設(shè)備數(shù)據(jù)轉(zhuǎn)發(fā)和交互,如圖4.3所示:圖4.3機(jī)智云與智能硬件通訊示意圖[11]GAgent固件通過(guò)固件燒寫工具利用USBtoTTL模塊和SPI模式進(jìn)行燒寫,燒寫成功后將覆蓋掉原本自帶的AT指令功能。4.3.2MCU開(kāi)發(fā)代碼移植經(jīng)過(guò)在云端網(wǎng)站設(shè)立的系統(tǒng)數(shù)據(jù)點(diǎn),可以自動(dòng)生成MCU開(kāi)發(fā)代碼,其中包含機(jī)智云的通訊協(xié)議以及數(shù)據(jù)點(diǎn)的接入代碼等,分別在名為Gizwits和Utils兩個(gè)文件夾中,其中包含相關(guān)幾個(gè)重點(diǎn)文件:負(fù)責(zé)項(xiàng)目系統(tǒng)的機(jī)智云協(xié)議處理函數(shù)文件gizwits_product.cpp;負(fù)責(zé)SDKAPI接口的函數(shù)定義文件gizwits_protocol.cpp;以及兩個(gè).c文件的頭文件gizwits_product.h以及gizwits_protocol.h。此次在云端設(shè)置的Dome數(shù)據(jù)點(diǎn)有五個(gè),分別為數(shù)值類型的“學(xué)生數(shù)量”、布爾值類的“正在考試”以及“課程順延”、枚舉類的“顯示上課”和“調(diào)課至”,其中除了“學(xué)生數(shù)量”為只讀類型,其他四項(xiàng)都為可寫類型。具體如圖4.4所示:圖4.4機(jī)智云數(shù)據(jù)點(diǎn)設(shè)定根據(jù)數(shù)據(jù)點(diǎn)生成的MCU代碼移植到工程中,移植代碼主要編寫的是Gizwits文件夾中的gizwits_product.c,其中包含MCU中斷以及串口等相關(guān)設(shè)置。同樣云端設(shè)立的部分?jǐn)?shù)據(jù)點(diǎn)相關(guān)處理函數(shù)主要在gizwitsEventProcess()中。根據(jù)系統(tǒng)設(shè)計(jì)需求編寫相應(yīng)的執(zhí)行功能,詳細(xì)代碼可見(jiàn)附錄,數(shù)據(jù)點(diǎn)代碼分別為以下:caseEVENT_Examination://正在考試caseEVENT_Deferred://課程順延caseEVENT_Classroom://顯示上課caseEVENT_Lecture://調(diào)課至然后到工程當(dāng)中,同樣將Wi-Fi模塊所需要的定時(shí)器(TIM3)以及串口通訊(USART2)在工程進(jìn)行初始化。4.4Show.c文件在原系統(tǒng)工程中,已經(jīng)成功添加了TFTLCD驅(qū)動(dòng)代碼的lcd.c和對(duì)應(yīng)的頭文件lcd.h,應(yīng)用lcd.h里定義好的函數(shù)調(diào)用,以確保LCD正常顯示。為了課表顯示代碼調(diào)用方便,特此建立了show.c文件以存放負(fù)責(zé)課表顯示的函數(shù)集,主要內(nèi)容分為以下幾個(gè)函數(shù)板塊:顯示周數(shù)函數(shù)Show_Week(intmonth,intday)顯示課表函數(shù)Show_Table(void)顯示正在上課函數(shù)Show_Class(intclassroom)顯示課程延順函數(shù)Show_Deferred(void)顯示考試函數(shù)Show_Examination(void)其中比較重點(diǎn)講解的是顯示周數(shù)函數(shù)Show_Week()以及顯示課表函數(shù)Show_Table(),在前文講解了讀取文件信息后儲(chǔ)存在名為buf以及buf_date的一維數(shù)組當(dāng)中,如何精確的讀取文件內(nèi)信息并進(jìn)行讀解成為了本系統(tǒng)比較關(guān)鍵的一步。首先在Show_Week()函數(shù)中,函數(shù)入口需要month和day兩個(gè)參數(shù),也就是當(dāng)前時(shí)間的日期月和日,以便于計(jì)算當(dāng)前周數(shù)具體為開(kāi)學(xué)第幾周。在代碼中系統(tǒng)調(diào)用了云端請(qǐng)求網(wǎng)絡(luò)時(shí)間函數(shù)gizwitsGetNTP()并將當(dāng)前時(shí)間的日期寫入到變量month和day返回給了Show_Week()作為函數(shù)入口。在函數(shù)里,文件中的信息是以字符的形式儲(chǔ)存并讀取到數(shù)組里,我們利用ASC碼的差值方式進(jìn)行字符類型轉(zhuǎn)化成相應(yīng)的整數(shù)型,核心代碼如下:current_month=(buf_date[4]-'0')*10+(buf_date[5]-'0');current_day=(buf_date[6]-'0')*10+(buf_date[7]-'0');current_class=(buf_date[8]-'0')*100+(buf_date[9]-'0')*10+(buf_date[10]-'0');根據(jù)代碼所示,固定位置的信息經(jīng)由轉(zhuǎn)化后分別存進(jìn)相對(duì)應(yīng)的變量中方便使用,得出開(kāi)學(xué)日期current_month、current_day,根據(jù)計(jì)算后得出從開(kāi)學(xué)到當(dāng)前時(shí)間差daytime后,再計(jì)算出當(dāng)前周數(shù)以及周幾,具體代碼于附錄中相同的,在課程表顯示函數(shù)Show_Table()中,利用for循環(huán)依次讀取文件字符串中每9個(gè)數(shù)字的值,通過(guò)轉(zhuǎn)化為整數(shù)型后儲(chǔ)存到相關(guān)的變量中,方便計(jì)算,以下為關(guān)鍵代碼:for(m=0;m<group;m++){ str1=buf[0+m*9]; str2=buf[1+m*9]; m0=(buf[2+m*9]-'0')*10+(buf[3+m*9]-'0'); n0=(buf[4+m*9]-'0')*10+(buf[5+m*9]-'0'); str3=buf[8+m*9];}根據(jù)前文信息放置規(guī)則,經(jīng)計(jì)算得出具體上課時(shí)間,開(kāi)始結(jié)束周數(shù)以及課程代表等信息分別儲(chǔ)存在:str1、str2、str3、m0、n0中。再由判斷語(yǔ)句if將讀取到的相關(guān)的課程信息分別顯示在其對(duì)應(yīng)的位置,具體代碼附于附錄中。最后調(diào)用lcd.h頭文件提供的劃線函數(shù)LCD_DrawLine()等繪制課程表雛形,完成課程表的基本顯示,具體代碼如下://繪制表格LCD_DrawLine(5,35,315,35);LCD_DrawLine(5,35,5,235);for(x=0;x<6;x++){ LCD_DrawLine(55+x*52,35,55+x*52,235); for(y=0;y<7;y++){ LCD_DrawLine(5,61+y*29,315,61+y*29); }}
第五章系統(tǒng)綜合測(cè)試本章主要講解系統(tǒng)的綜合測(cè)試,查看系統(tǒng)能否根據(jù)設(shè)計(jì)思路正常運(yùn)行。測(cè)試步驟分為串口調(diào)試以及機(jī)智云調(diào)試。5.1串口調(diào)試為了查看系統(tǒng)運(yùn)行過(guò)程中,代碼算法能否達(dá)到設(shè)計(jì)要求。本次利用串口調(diào)試軟件XCOM進(jìn)行系統(tǒng)軟件調(diào)試,將信息利用串口不停打印到電腦上,可以清晰的觀察到代碼運(yùn)行過(guò)程一些關(guān)鍵的運(yùn)算數(shù)值和情況。在前文提到,我們?cè)赿ate.txt文件中存入了學(xué)期開(kāi)學(xué)日期以及教室號(hào)信息,通過(guò)計(jì)算開(kāi)學(xué)至今經(jīng)過(guò)多少天以方便計(jì)算當(dāng)前周周數(shù)。為了確保讀取過(guò)程中正確讀取相關(guān)信息以及算法正確,我們將current_month、current_day、current_class以及daytime通過(guò)printf的方式打印在串口中,同時(shí)打印出Wi-Fi模塊在機(jī)智云云端獲取的時(shí)間函數(shù)gizwitsGetNTP()的返回值,如圖5.1所示:圖5.1串口調(diào)試根據(jù)圖5.1所示,我們存入的開(kāi)學(xué)日期文件為20200302203,而current_month、current_day、current_class分別一一對(duì)應(yīng)上,根據(jù)gizwitsGetNTP所返回的時(shí)間通過(guò)計(jì)算得出距離本學(xué)期開(kāi)學(xué)daytime數(shù)值也是正確的,證明代碼算法正確讀取了文件內(nèi)容。5.2機(jī)智云調(diào)試在硬件平臺(tái)搭建基本完成后,為了確保MCU代碼移植成功與設(shè)備云端通訊正常,系統(tǒng)分別進(jìn)行了虛擬設(shè)備的測(cè)試和實(shí)際設(shè)備測(cè)試。首先根據(jù)前文提到的云端數(shù)據(jù)點(diǎn)定義完成后,對(duì)進(jìn)行了虛擬設(shè)備的調(diào)試,通過(guò)對(duì)虛擬設(shè)備進(jìn)行模擬真實(shí)設(shè)備進(jìn)行通訊處理數(shù)據(jù),可以快速檢驗(yàn)接口功能的開(kāi)發(fā)情況。圖5.2為手機(jī)端DemoAPP調(diào)試界面,圖5.3為云端虛擬設(shè)備上報(bào)數(shù)據(jù)情況與通訊日志。圖5.2手機(jī)端DemoAPP調(diào)試界面圖5.3云端虛擬設(shè)備與通訊日志經(jīng)過(guò)虛擬設(shè)備的調(diào)試后確保虛擬設(shè)備定義點(diǎn)與云端通訊正常,系統(tǒng)將進(jìn)入設(shè)備實(shí)測(cè)。開(kāi)啟電源,系統(tǒng)通過(guò)初始化完成后,系統(tǒng)進(jìn)入無(wú)線循環(huán)while(1)內(nèi)。此時(shí)根據(jù)代碼設(shè)計(jì),Wi-Fi模塊與云端進(jìn)行通訊自動(dòng)獲取時(shí)間信息,課程表必須經(jīng)過(guò)聯(lián)網(wǎng)成功后才自動(dòng)顯示出來(lái),系統(tǒng)開(kāi)啟后如圖5.4所示:圖5.4系統(tǒng)初始化成功界面根據(jù)圖5.4可看到,位于上方狀態(tài)欄可以觀察到,Wi-Fi模塊成功連接網(wǎng)絡(luò)與云端完成通訊并獲取到時(shí)間信息,此時(shí)課程表成功顯示在界面上。通過(guò)手機(jī)DemoAPP的控制面板,對(duì)數(shù)據(jù)點(diǎn)進(jìn)行操作并觀察系統(tǒng)的變化,將顯示相對(duì)的界面。經(jīng)過(guò)測(cè)試,系統(tǒng)所有功能正常運(yùn)行,在手機(jī)DemoAPP進(jìn)行操作時(shí),系統(tǒng)成功實(shí)現(xiàn)了與云端的通訊和數(shù)據(jù)上報(bào),實(shí)現(xiàn)了總體系統(tǒng)設(shè)計(jì)要求。測(cè)試部分的APP以及系統(tǒng)顯示截圖如下:圖5.5手機(jī)端APP正在上課功能開(kāi)啟圖5.6系統(tǒng)顯示正在上課圖5.7手機(jī)端APP正在考試功能開(kāi)啟圖5.8系統(tǒng)顯示正在考試
總結(jié)與展望系統(tǒng)通過(guò)硬件以及固件的設(shè)計(jì)開(kāi)發(fā),經(jīng)過(guò)多次測(cè)試和調(diào)試,基本實(shí)現(xiàn)了預(yù)計(jì)功能,以下是本次實(shí)驗(yàn)的總結(jié):1、成果通過(guò)多次測(cè)試與實(shí)驗(yàn),系統(tǒng)穩(wěn)定的完成了WIFI互聯(lián)網(wǎng)通訊,SD卡讀取預(yù)存文件信息,正確顯示課表,以及其他附屬的既定功能。本系統(tǒng)可以訪問(wèn)利用每個(gè)學(xué)期更新的SD卡內(nèi)的文件獲取到一整學(xué)期的課程,通過(guò)WIFI連接與互聯(lián)網(wǎng)進(jìn)行通訊,自動(dòng)獲取網(wǎng)絡(luò)時(shí)間以及根據(jù)計(jì)算顯示出當(dāng)前周數(shù)和課程表。利用機(jī)智云設(shè)置和DemoAPP,本系統(tǒng)實(shí)現(xiàn)遠(yuǎn)程操控和監(jiān)控。基本完成了本次系統(tǒng)設(shè)計(jì)要求和應(yīng)用。2、缺陷硬件方面上,由于目前依舊使用開(kāi)發(fā)板進(jìn)行開(kāi)發(fā)測(cè)試,所以此系統(tǒng)在現(xiàn)實(shí)應(yīng)用的話成本上會(huì)比較高,不適合大批量生產(chǎn);本系統(tǒng)目前整合的功能性不夠完善外設(shè)較少,比如像教室的門禁系統(tǒng)與交互通訊等功能尚未實(shí)現(xiàn),功能外設(shè)不夠豐富,暫時(shí)只連接Wi-Fi模塊以及RFID;鑒于目前系統(tǒng)只是在單臺(tái)功能開(kāi)發(fā),在多臺(tái)設(shè)備連接方面的通訊系統(tǒng)尚未有明確的解決方案。軟件方面上,由于算法尚未進(jìn)行相關(guān)優(yōu)化,在運(yùn)行速度以及響應(yīng)方面不夠好;在一些特殊情況或者操作會(huì)出現(xiàn)少許BUG現(xiàn)象,系統(tǒng)穩(wěn)定性有待提升;因?yàn)榧嫒菪詥?wèn)題暫時(shí)系統(tǒng)尚未支持中文版;目前開(kāi)源APP的設(shè)計(jì)只使用在Android平臺(tái)上,相關(guān)的IOS或者其他平臺(tái)并沒(méi)有進(jìn)行開(kāi)發(fā);本系統(tǒng)目前處在個(gè)人理論開(kāi)發(fā)測(cè)試階段,還未能夠進(jìn)行真正投入實(shí)地應(yīng)用中。若想成為一個(gè)真正的產(chǎn)品系統(tǒng),還需要針對(duì)現(xiàn)實(shí)情況再做進(jìn)一步的研究,以符合一個(gè)嵌入式系統(tǒng)的基本目的。3、未來(lái)計(jì)劃未來(lái)計(jì)劃通過(guò)對(duì)本系統(tǒng)的進(jìn)一步開(kāi)發(fā)升級(jí),發(fā)掘完善本系統(tǒng)的基本功能,繼續(xù)優(yōu)化算法以及貼切實(shí)際情況增加更多可選功能,比如:加入門禁系統(tǒng)利用臨時(shí)密碼或者授權(quán)磁卡進(jìn)行開(kāi)門、或者加入交互系統(tǒng)進(jìn)行遠(yuǎn)程通訊聯(lián)系物業(yè)等功能。繼續(xù)修復(fù)系統(tǒng)工程的BUG以及優(yōu)化系統(tǒng)整體響應(yīng)速度,使設(shè)備能夠更為流暢以及提高效率,等待系統(tǒng)功能以及算法完善后,在保證性能的同時(shí)重新設(shè)計(jì)硬件平臺(tái),降低硬件組裝成本,成為一件真正成熟、能投入市場(chǎng)應(yīng)用的產(chǎn)品。
參考文獻(xiàn)[1]王亞.新形勢(shì)下高校教務(wù)管理信息化建設(shè)現(xiàn)狀分析及對(duì)策研究[J].軟件導(dǎo)刊.教育技術(shù),2015,14(2):29-30.[2]譚明芳,黃成榮.高校教務(wù)管理信息系統(tǒng)建設(shè)的現(xiàn)狀及對(duì)策探討[J].中國(guó)成人教育,2008,(2):36-37.[3]楊麗.高校教務(wù)管理信息化建設(shè)現(xiàn)狀及對(duì)策思考[J].產(chǎn)業(yè)與科技論壇,2018,(17):249-250.[4]/content/2018/100011122.html[5]/docs/boards/stm32/zdyz_stm32f103_mini.html[6]/wikdoc/sp/qr/history/version.do?ver=15&hisiden=hfm,B,mR0dnAn5kcHx6ZGZFTg[7]劉軍.STM32不完全開(kāi)發(fā)手冊(cè)[EB/OL],/docs/book-videos/1stm32/zdyz_stm32_stdlib_book.html,2011.[8]李鑫.基于射頻識(shí)別(RFID)技術(shù)的鐵鞋跟蹤管理系統(tǒng)開(kāi)發(fā)與設(shè)計(jì)[D].蘭州交通大學(xué),2018.[9]劉斌.基于RFID的食品供應(yīng)鏈管理系統(tǒng)[D].德州學(xué)院,2016.[10]陶存心.無(wú)線WiFi技術(shù)應(yīng)用及發(fā)展介紹[J].中國(guó)新通信,2019,21(22):49-50.[11]/a/164077252_99934917
致謝寫到最后,論文也即將完成了,這標(biāo)志了我的大學(xué)生涯已經(jīng)來(lái)到結(jié)尾。經(jīng)過(guò)這幾個(gè)月研究畢業(yè)設(shè)計(jì),把老師之前在課堂上講的理論知識(shí)進(jìn)行回顧和學(xué)習(xí)新的知識(shí),再運(yùn)用在實(shí)際項(xiàng)目中,讓我充分體會(huì)到,只有動(dòng)手實(shí)踐了才能知道知識(shí)的運(yùn)用有多么的重要,實(shí)踐出真知,在此使我受益匪淺。在整個(gè)畢業(yè)設(shè)計(jì)當(dāng)中,特別感謝我的指導(dǎo)老師黃海老師,項(xiàng)目開(kāi)發(fā)所運(yùn)用的大部分知識(shí)都是由黃海老師授課講解的,在理論知識(shí)和實(shí)踐開(kāi)發(fā)給了我很大的啟發(fā),工作上給予我肯定;也感謝那些曾經(jīng)指導(dǎo)我和教導(dǎo)我的專業(yè)老師們,在學(xué)習(xí)過(guò)程中給予了我寶貴的意見(jiàn);還有感謝那些在網(wǎng)絡(luò)上的陌生人大咖們能夠?yàn)槲医獯鹨苫?;同時(shí)要感謝我的家人、朋友、同學(xué)們,無(wú)論是在精神上還是在物資上都給予了我很大的鼓勵(lì)和幫助,正是因?yàn)橛兴麄儫o(wú)私的付出和支持,才能成就今日的我。在最后,對(duì)所有在大學(xué)期間幫助過(guò)我的人們表示真誠(chéng)的感謝!
附錄gizwits_product.c文件部分核心代碼://正在考試開(kāi)關(guān)caseEVENT_Examination:currentDataPoint.valueExamination=dataPointPtr->valueExamination;GIZWITS_LOG("Evt:EVENT_Examination%d\n",currentDataPoint.valueExamination);if(0x01==currentDataPoint.valueExamination)//正在考試開(kāi)關(guān)打開(kāi){ LCD_Clear(WHITE);//清屏 Show_Examination();//顯示正在考試}else{ LCD_Clear(WHITE);//清屏 Show_Table();//顯示課表 }break;//考試順延開(kāi)關(guān)caseEVENT_Deferred:currentDataPoint.valueDeferred=dataPointPtr->valueDeferred;GIZWITS_LOG("Evt:EVENT_Deferred%d\n",currentDataPoint.valueDeferred);if(0x01==currentDataPoint.valueDeferred)//如果正在課程順延打開(kāi){ LCD_Clear(WHITE);//清屏 Show_Deferred();//顯示考試順延 }else{ LCD_Clear(WHITE);//清屏 Show_Table();//顯示課表}break;//顯示上課代碼caseEVENT_Classroom:currentDataPoint.valueClassroom=dataPointPtr->valueClassroom;GIZWITS_LOG("Evt:EVENT_Classroom%d\n",currentDataPoint.valueClassroom);switch(currentDataPoint.valueClassroom){caseClassroom_VALUE0://當(dāng)前教室為None students_flag=1; students=0;//學(xué)生人數(shù)清空 LCD_Clear(WHITE);//清屏 Show_Table();//顯示課表 break;caseClassroom_VALUE3://當(dāng)前教室為A203 students_flag=1; students=0;//學(xué)生人數(shù)清空 LCD_Clear(WHITE);//清屏 Show_Class(203);//顯示A203教室詳細(xì)情況break;}break;//顯示調(diào)課caseEVENT_Lecture:currentDataPoint.valueLecture=dataPointPtr->valueLecture;GIZWITS_LOG("Evt:EVENT_Lecture%d\n",currentDataPoint.valueLecture);switch(currentDataPoint.valueLecture){caseLecture_VALUE0://調(diào)課選擇None LCD_Clear(WHITE);//清屏 Show_Table();//顯示課表break;caseLecture_VALUE1: LCD_Clear(WHITE);//清屏 Show_Lecture(201);//顯示調(diào)課至201break;}break;caseWIFI_CON_M2M:wifi_sta=1;//wifi設(shè)備連接標(biāo)志break;caseWIFI_DISCON_M2M:wifi_sta=0;//wifi設(shè)備斷開(kāi)標(biāo)志break;caseWIFI_NTP://獲取網(wǎng)絡(luò)時(shí)間GIZWITS_LOG("WIFI_NTP:[%d-%d-%d%02d:%02d:%02d][%d]\n",ptime->year,ptime->month,ptime->day,ptime->hour,ptime->minute,ptime->second,ptime->ntp);//顯示年月日LCD_ShowxNum(5,0,ptime->year,4,16,0); LCD_ShowChar(36,0,'/',16,0); LCD_ShowxNum(44,0,ptime->month,2,16,0); LCD_ShowChar(59,0,'/',16,0); LCD_ShowxNum(67,0,ptime->day,2,16,0); //顯示時(shí)分秒 LCD_ShowxNum(110,0,ptime->hour,2,16,0); LCD_ShowChar(130,0,':',16,0); LCD_ShowxNum(140,0,ptime->minute,2,16,0); //LCD_ShowChar(150,0,':',16,0); //LCD_ShowxNum(160,0,ptime->second,2,16,0); //顯示周幾 Show_Week(ptime->month,ptime->day); months=ptime->month; days=ptime->day; currentmin=ptime->hour*60+ptime->minute; //計(jì)算當(dāng)前是第幾節(jié)課 if(currentmin>=(8*60+40)&¤tmin<=(10*60)) { classnum=1; }elseif(currentmin>=(10*60+20)&¤tmin<=(11*60+40)) { classnum=2; }elseif(currentmin>=(14*60+10)&¤tmin<=(15*60+30)) { classnum=3; }elseif(currentmin>=(15*60+50)&¤tmin<=(17*60+10)) { classnum=4; }elseif(currentmin>=(18*60+30)&¤tmin<=(19*60+50)) { classnum=5; }elseif(currentmin>=(20*60+10)&¤tmin<=(21*60+30)) { classnum=6; } break;//MCU中斷函數(shù)voidmcuRestart(void){ __set_FAULTMASK(1);//關(guān)閉所有中斷NVIC_SystemReset();//復(fù)位//串口發(fā)送函數(shù)int32_tuartWrite(uint8_t*buf,uint32_tlen)for(i=0;i<len;i++){USART_SendData(USART2,buf[i]); while(USART_GetFlagStatus(USART2,USART_FLAG_TC)==RESET);if(i>=2&&buf[i]==0xFF){ USART_SendData(USART2,0x55); while(USART_GetFlagStatus(USART2,USART_FLAG_TC)==RESET);}}show.c文件部分核心代碼://顯示當(dāng)前周數(shù)voidShow_Week(intmonth,intday){ intdays[12]={31,28,31,30,31,30,31,31,30,31,30,31};//每月標(biāo)準(zhǔn)天數(shù) intcurrent_month,current_day; current_month=(buf_date[4]-'0')*10+(buf_date[5]-'0'); current_day=(buf_date[6]-'0')*10+(buf_date[7]-'0'); current_class=(buf_date[8]-'0')*100+(buf_date[9]-'0')*10+(buf_date[10]-'0');//計(jì)算從開(kāi)學(xué)到現(xiàn)在一共多少天 for(i=current_month-1;i<month-1;i++) { daytime=daytime+d
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年寶石、玉石礦項(xiàng)目建議書
- 護(hù)理課件設(shè)計(jì)與教學(xué)實(shí)踐交流
- 心電圖護(hù)理中的遠(yuǎn)程醫(yī)療應(yīng)用
- 中專護(hù)理實(shí)踐操作教學(xué)視頻
- 肌膚護(hù)理與季節(jié)變化
- 護(hù)理質(zhì)量與醫(yī)療糾紛預(yù)防
- DSA護(hù)理質(zhì)量評(píng)估與改進(jìn)
- 員工個(gè)人所得稅知識(shí)培訓(xùn)課件
- 斜視患者的社交能力培養(yǎng)
- 吸氧需不需要濕化
- 2025年山西省朔州市公安輔警招聘知識(shí)考試題(含答案)
- 濕疹患者護(hù)理查房
- 2025至2030中國(guó)融媒體行業(yè)市場(chǎng)深度分析及前景趨勢(shì)與投資報(bào)告
- 2026年江蘇農(nóng)牧科技職業(yè)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試模擬測(cè)試卷附答案
- 2026年南京交通職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)傾向性測(cè)試題庫(kù)附答案
- 2025吐魯番市高昌區(qū)招聘第二批警務(wù)輔助人員(165人)筆試考試參考試題及答案解析
- 江蘇省徐州市2026屆九年級(jí)上學(xué)期期末模擬數(shù)學(xué)試卷
- 癲癇常見(jiàn)癥狀及護(hù)理培訓(xùn)課程
- 2025年南陽(yáng)市公安機(jī)關(guān)招聘看護(hù)隊(duì)員200名筆試考試參考試題及答案解析
- 產(chǎn)后康復(fù)健康促進(jìn)干預(yù)方案
- 2024年人民法院聘用書記員考試試題及答案
評(píng)論
0/150
提交評(píng)論