版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
河北理工大學(xué)信息學(xué)院 摘要 iii2功能與設(shè)計(jì)方案2.1系統(tǒng)功能要求多功能學(xué)生書包系統(tǒng)的功能要求主要圍繞兒童安全防護(hù)與監(jiān)控展開。系統(tǒng)需具備精確定位功能,通過GPS模塊獲取地理位置信息,在開闊環(huán)境下定位精度不低于5米,冷啟動時間不超過60秒,使家長能實(shí)時查看孩子位置并記錄活動軌跡。防溺水功能作為核心安全保障,要求系統(tǒng)能通過高靈敏度壓力傳感器準(zhǔn)確檢測水壓變化,在意外落水時迅速觸發(fā)充氣氣囊,氣囊需在2秒內(nèi)完成充氣,提供足夠浮力支撐40kg以上兒童體重。火災(zāi)檢測功能需能在70厘米范圍內(nèi)有效識別5×5厘米以上的明火,發(fā)出不低于80分貝的警報(bào)聲并向監(jiān)護(hù)人發(fā)送警告信息。云平臺數(shù)據(jù)交互功能要求系統(tǒng)將位置、狀態(tài)等信息上傳至服務(wù)器,正常狀態(tài)下每60秒傳輸一次,緊急狀態(tài)下提高到每10秒一次。系統(tǒng)支持?jǐn)?shù)據(jù)長期存儲與分析,提供活動規(guī)律統(tǒng)計(jì)和異常行為識別等功能。一鍵求助功能需設(shè)計(jì)為防誤觸結(jié)構(gòu),在緊急情況下通過醒目的獨(dú)立按鍵實(shí)現(xiàn)一鍵呼叫,立即撥打預(yù)設(shè)監(jiān)護(hù)人電話并發(fā)送包含位置信息的求助短信。系統(tǒng)還需支持電子圍欄功能,允許監(jiān)護(hù)人通過云平臺設(shè)定安全活動范圍,當(dāng)超出預(yù)設(shè)范圍時自動預(yù)警。顯示屏需清晰顯示時間、位置坐標(biāo)和系統(tǒng)狀態(tài)等關(guān)鍵信息,屏幕亮度應(yīng)適應(yīng)不同光線環(huán)境。系統(tǒng)需具備低功耗特性,標(biāo)準(zhǔn)配置下電池續(xù)航時間不低于48小時,支持USB充電和低電量提醒;操作簡便性,核心功能操作步驟不超過2步,適合兒童使用;結(jié)構(gòu)緊湊性,總重量不超過200克,不影響書包正常功能;運(yùn)行穩(wěn)定性,關(guān)鍵功能模塊失效率控制在萬分之一以下,支持7×24小時持續(xù)工作;以及環(huán)境適應(yīng)性,工作溫度范圍-10℃至50℃,防水防塵等級不低于IP54標(biāo)準(zhǔn),適應(yīng)兒童日?;顒迎h(huán)境需求。2.2系統(tǒng)設(shè)計(jì)方案根據(jù)功能要求,本系統(tǒng)采用集中式控制架構(gòu),以單片機(jī)為核心控制器,整合多種傳感器和通信模塊。系統(tǒng)分為輸入、處理和輸出三部分。輸入部分包含GPS模塊、兩個薄膜壓力傳感器、火焰?zhèn)鞲衅骱酮?dú)立按鍵,分別用于獲取位置信息、檢測水壓變化、識別火源和緊急呼叫。處理部分由單片機(jī)負(fù)責(zé)數(shù)據(jù)采集、處理與決策。輸出部分包括顯示模塊、4G通信模塊、繼電器模塊和蜂鳴器,分別用于信息顯示、數(shù)據(jù)傳輸、控制氣囊和聲音報(bào)警。系統(tǒng)工作流程為:單片機(jī)通過傳感器持續(xù)采集環(huán)境數(shù)據(jù);當(dāng)檢測到危險(xiǎn)情況(水壓變化或火源),立即觸發(fā)相應(yīng)的保護(hù)機(jī)制(充氣氣囊或報(bào)警器);GPS模塊持續(xù)獲取位置信息;4G模塊定期將數(shù)據(jù)上傳至云平臺;顯示屏實(shí)時顯示系統(tǒng)狀態(tài)和位置信息;緊急按鍵提供一鍵求助功能。該設(shè)計(jì)方案實(shí)現(xiàn)了對兒童的全面安全保障,構(gòu)建了一個完整的安全監(jiān)測與應(yīng)急處理系統(tǒng)。圖2.1硬件模塊工作框圖2.3元器件選型2.3.1單片機(jī)的選擇方案一:STC89C52單片機(jī)是一款基于80C51核心的8位微控制器,具有4KBFlash存儲器和256BRAM。該方案優(yōu)勢在于成本低廉,約15元左右;開發(fā)環(huán)境成熟,資料豐富;功耗較低,適合電池供電;指令集簡單,上手容易。然而,STC89C52的處理速度較慢,主頻僅12MHz;外設(shè)接口有限,僅有簡單的串口和I/O口;存儲空間小,難以支持復(fù)雜程序;缺乏硬件乘法器和高級定時器,計(jì)算能力受限。方案二:STM32F103單片機(jī)是基于ARMCortex-M3內(nèi)核的32位微控制器,具有64KBFlash和20KBSRAM。該方案處理能力強(qiáng)大,主頻高達(dá)72MHz,執(zhí)行效率是STC89C52的數(shù)十倍;外設(shè)豐富,包含多個UART、SPI、I2C接口,便于連接多種模塊;資源充足,擁有多通道ADC和DMA控制器;存儲空間大,支持復(fù)雜算法實(shí)現(xiàn)。盡管STM32F103成本較高,約30元,且開發(fā)難度略大,但考慮到系統(tǒng)需整合多種功能模塊,需要處理復(fù)雜數(shù)據(jù),并要求實(shí)時響應(yīng),最終選擇了STM32F103作為系統(tǒng)的控制核心。2.3.2通信模塊的選型方案一:Wi-Fi模塊ESP8266是一款集成TCP/IP協(xié)議棧的無線通信模塊,成本約20元。該方案傳輸速度快,最高可達(dá)54Mbps;功耗較低,待機(jī)電流小于1mA;開發(fā)資源豐富,社區(qū)活躍。但ESP8266存在通信距離有限,僅百米范圍;依賴Wi-Fi環(huán)境,戶外使用受限;連接穩(wěn)定性不足,容易斷連;功能相對單一,主要提供數(shù)據(jù)傳輸。方案二:4G模塊ML307R是一款支持全網(wǎng)通的蜂窩通信模塊,成本約80元。該方案覆蓋范圍廣,無需依賴固定網(wǎng)絡(luò);穩(wěn)定性高,抗干擾能力強(qiáng);通信延遲低,適合實(shí)時監(jiān)控;功能全面,支持語音通話和數(shù)據(jù)傳輸。缺點(diǎn)是功耗較高,工作電流可達(dá)200mA;成本較高,包括模塊和流量費(fèi)用;接口復(fù)雜度高,開發(fā)難度略大??紤]到書包使用場景多樣,包括戶外無Wi-Fi環(huán)境,且需要實(shí)時可靠的數(shù)據(jù)傳輸和通話功能,最終選擇了ML307R4G模塊作為通信方案。2.3.3顯示模塊的選型方案一:LCD1602是一種字符型液晶顯示器,具有16列2行顯示能力,成本約10元。優(yōu)點(diǎn)包括成本低廉,易于采購;功耗較低,約2mA工作電流;接口簡單,8位并行或4位并行控制;驅(qū)動程序成熟。缺點(diǎn)則是顯示內(nèi)容有限,只能顯示16×2個字符;無法顯示圖形或中文;對比度受視角影響大;占用I/O口較多,一般需要7-11個引腳。方案二:OLED顯示屏是一種自發(fā)光有機(jī)顯示器,具有128×64像素分辨率,成本約25元。該方案具備高對比度,顯示效果清晰;視角寬,幾乎全方位可見;響應(yīng)速度快,無殘影;I2C接口僅需兩根線,節(jié)省I/O資源;可顯示圖形和漢字,界面豐富。缺點(diǎn)是成本略高于LCD1602;驅(qū)動程序稍復(fù)雜;工作電流略高,約15mA。經(jīng)過綜合比較,本系統(tǒng)選擇了OLED顯示屏作為顯示方案。選擇理由是:首先,OLED顯示屏的128×64像素分辨率能夠滿足系統(tǒng)顯示GPS坐標(biāo)和中文狀態(tài)信息的需求;其次,OLED的I2C接口僅需兩根線,大大簡化了系統(tǒng)接線,節(jié)省了寶貴的I/O資源;再者,OLED的全視角特性和高對比度使顯示內(nèi)容在各種光線條件下都清晰可辨;最后,雖然成本略高,但考慮到顯示模塊對用戶體驗(yàn)的重要影響,這一投入是值得的。這些優(yōu)勢使OLED顯示屏成為本系統(tǒng)最佳的顯示解決方案。2.3.4GPS定位模塊選型方案一:L80-RGPS模塊是一款低功耗GNSS模塊,成本約40元。優(yōu)點(diǎn)是體積小巧,22×22mm;功耗低,跟蹤狀態(tài)下僅20mA;支持多種衛(wèi)星系統(tǒng);內(nèi)置閃存,可存儲定位數(shù)據(jù)。缺點(diǎn)包括靈敏度相對一般,-165dBm;天線性能受限;抗干擾能力一般;熱啟動時間約1秒,冷啟動需35秒。方案二:NEO-7MGPS模塊是瑞士u-blox公司產(chǎn)品,成本約60元。其優(yōu)勢在于精度高,定位誤差小于2.5米;靈敏度出色,達(dá)-162dBm;支持GPS和GLONASS雙系統(tǒng);更新率高,最快10Hz;抗干擾能力強(qiáng)。缺點(diǎn)是功耗稍高,約45mA;體積略大;成本較高。本系統(tǒng)選擇了NEO-7MGPS模塊作為定位方案。選擇理由是:首先,安全是本系統(tǒng)的核心需求,NEO-7M提供的2.5米高精度定位能夠準(zhǔn)確追蹤兒童位置,這對防丟失和緊急救援至關(guān)重要;其次,NEO-7M優(yōu)異的靈敏度和抗干擾能力能在復(fù)雜環(huán)境下保持穩(wěn)定定位,如城市高樓間和樹林下;再者,支持GPS和GLONASS雙系統(tǒng)接收增強(qiáng)了定位可靠性,減少了信號盲區(qū);最后,雖然功耗略高,但相比于L80-R模塊的定位性能提升,這一能耗增加是值得的權(quán)衡。綜合考慮后,NEO-7M的高可靠性和精確定位能力使其成為本系統(tǒng)的最佳選擇。2.3.5火焰?zhèn)鞲衅鬟x型方案一:紅外火焰?zhèn)鞲衅髂K,成本約8元。采用光敏二極管檢測火焰發(fā)出的紅外線,檢測角度約60°,響應(yīng)時間約1秒,檢測距離約20cm。優(yōu)點(diǎn)是價格低廉,接口簡單;缺點(diǎn)是檢測距離有限,易受環(huán)境光干擾。方案二:Fiying火焰?zhèn)鞲衅髂K,成本約15元。采用專用紅外感應(yīng)器件,配備濾光器和信號處理電路,檢測角度約60°,響應(yīng)時間<0.1秒,檢測距離可達(dá)80cm。優(yōu)點(diǎn)是檢測靈敏度高,抗干擾能力強(qiáng),適應(yīng)性好;缺點(diǎn)是成本稍高。本系統(tǒng)選擇了Fiying火焰?zhèn)鞲衅髂K作為火源檢測方案。選擇理由是:首先,火災(zāi)情況下,檢測距離直接關(guān)系到預(yù)警時間,F(xiàn)iying模塊80cm的檢測距離比標(biāo)準(zhǔn)模塊的20cm有顯著優(yōu)勢,為兒童提供更充分的逃生時間;其次,F(xiàn)iying模塊的快速響應(yīng)時間(<0.1秒vs.1秒)能更早觸發(fā)報(bào)警機(jī)制;再者,其內(nèi)置的專業(yè)濾光器和信號處理電路大大減少了陽光等環(huán)境因素導(dǎo)致的誤報(bào);最后,雖然成本高出約7元,但考慮到火災(zāi)檢測對生命安全的關(guān)鍵作用,這一投入是完全合理的。因此,F(xiàn)iying火焰?zhèn)鞲衅髂K成為本系統(tǒng)火源檢測的最佳選擇。2.3.6薄膜壓力傳感器選型方案一:單點(diǎn)壓力傳感器,成本約12元/個。檢測單點(diǎn)壓力變化,靈敏度可調(diào),輸出模擬信號。優(yōu)點(diǎn)是結(jié)構(gòu)簡單,成本低;缺點(diǎn)是檢測范圍有限,容易產(chǎn)生誤報(bào)。方案二:薄膜壓力傳感器陣列,包含兩個獨(dú)立傳感器,成本約25元/套。能同時檢測多點(diǎn)壓力變化,采用與邏輯判斷,有效降低誤報(bào)率。優(yōu)點(diǎn)是檢測更全面,可靠性高;缺點(diǎn)是需要多個I/O口,電路設(shè)計(jì)復(fù)雜。本系統(tǒng)選擇了薄膜壓力傳感器陣列作為水壓檢測方案。選擇理由是:首先,防溺水功能是系統(tǒng)的核心安全保障,雙傳感器的"與"邏輯判斷機(jī)制能有效避免單一傳感器可能出現(xiàn)的誤觸發(fā)問題,大幅提高系統(tǒng)可靠性;其次,在書包兩側(cè)分別安裝傳感器能夠更全面地檢測周圍水壓變化,不論兒童以何種姿態(tài)落水都能及時感應(yīng);再者,雖然成本略高且占用額外I/O資源,但考慮到誤報(bào)可能導(dǎo)致氣囊不必要的觸發(fā),而漏報(bào)可能危及生命安全,這一投入是非常必要的。因此,雙傳感器陣列方案成為本系統(tǒng)不可妥協(xié)的選擇。2.3.7繼電器模塊選型方案一:固態(tài)繼電器模塊,成本約18元。使用半導(dǎo)體開關(guān)元件,無機(jī)械部件,壽命長。優(yōu)點(diǎn)是響應(yīng)快,無接觸噪聲;缺點(diǎn)是成本高,電流容量有限。方案二:SRD-05VDC-SL-C電磁繼電器模塊,成本約5元。采用傳統(tǒng)電磁驅(qū)動機(jī)制,觸點(diǎn)容量大。優(yōu)點(diǎn)是成本低,大電流承載能力強(qiáng)(10A/250VAC),驅(qū)動簡單;缺點(diǎn)是響應(yīng)時間略長(約10ms),有機(jī)械壽命限制。本系統(tǒng)選擇了SRD-05VDC-SL-C電磁繼電器作為氣囊驅(qū)動方案。選擇理由是:首先,氣囊充氣系統(tǒng)需要瞬間大電流驅(qū)動,SRD-05VDC-SL-C的10A大電流承載能力能夠滿足這一要求,而固態(tài)繼電器的電流容量通常較小;其次,雖然電磁繼電器響應(yīng)時間略長(約10ms),但這一延遲在整個救援過程中可以忽略不計(jì);再者,電磁繼電器的成本顯著低于固態(tài)繼電器,在保證性能的前提下節(jié)約了系統(tǒng)成本;最后,電磁繼電器的機(jī)械壽命雖有限制,但考慮到氣囊觸發(fā)屬于極端緊急情況,不會頻繁動作,其壽命完全能夠滿足使用需求。因此,SRD-05VDC-SL-C電磁繼電器成為驅(qū)動氣囊充氣系統(tǒng)的最佳選擇。2.3.8蜂鳴器模塊選型方案一:無源蜂鳴器,成本約3元。需要外部提供方波信號驅(qū)動,頻率可調(diào)。優(yōu)點(diǎn)是功耗低,可產(chǎn)生不同音調(diào);缺點(diǎn)是需要單片機(jī)持續(xù)驅(qū)動,占用資源。方案二:有源蜂鳴器B1型號,成本約5元。內(nèi)置振蕩電路,只需提供直流電源即可發(fā)聲。優(yōu)點(diǎn)是驅(qū)動簡單,僅需一個I/O口控制;音量大,約85dB;響應(yīng)快,<5ms。缺點(diǎn)是頻率固定,約2.5KHz;功耗稍高,約30mA。本系統(tǒng)選擇了有源蜂鳴器B1型號作為聲音報(bào)警方案。選擇理由是:首先,緊急情況下的警報(bào)聲需要足夠響亮以引起注意,B1型號85dB的聲壓級能夠滿足這一要求;其次,有源蜂鳴器的驅(qū)動極其簡單,只需一個I/O口即可控制,節(jié)省了寶貴的處理資源和編程復(fù)雜度;再者,有源蜂鳴器的2.5KHz固定頻率恰好位于人耳最敏感的頻率范圍,更容易被周圍人員察覺;最后,雖然比無源蜂鳴器貴2元且功耗略高,但簡化的系統(tǒng)設(shè)計(jì)和可靠的報(bào)警效果完全值得這一投入。因此,B1有源蜂鳴器成為本系統(tǒng)聲音報(bào)警的最佳選擇。4系統(tǒng)的軟件設(shè)計(jì)3系統(tǒng)的硬件設(shè)計(jì)3.1STM32F103C8T6單片機(jī)STM32F103單片機(jī)是本系統(tǒng)的核心控制部件,基于ARMCortex-M3內(nèi)核,工作頻率72MHz,具備強(qiáng)大的數(shù)據(jù)處理能力。該單片機(jī)采用LQFP48封裝,體積小巧,適合嵌入式應(yīng)用。系統(tǒng)利用其豐富的外設(shè)接口實(shí)現(xiàn)多模塊連接:配置UART1與4G模塊通信,實(shí)現(xiàn)數(shù)據(jù)上傳和指令接收;UART2連接GPS模塊,獲取定位信息;I2C接口連接OLED顯示屏,顯示系統(tǒng)狀態(tài)和位置信息;GPIO口PA0和PA1連接薄膜壓力傳感器,監(jiān)測水壓變化;PA6連接火焰?zhèn)鞲衅?,檢測火源;PA12控制繼電器,驅(qū)動充氣氣囊;PA15控制蜂鳴器,發(fā)出警報(bào)聲;PB3連接獨(dú)立按鍵,實(shí)現(xiàn)緊急呼叫功能。電路設(shè)計(jì)方面,系統(tǒng)采用了標(biāo)準(zhǔn)的STM32最小系統(tǒng)電路,包括晶振電路、復(fù)位電路和引導(dǎo)設(shè)置電路。晶振電路使用8MHz主晶振和32.768KHz副晶振,配合30pF電容形成穩(wěn)定振蕩。復(fù)位電路由10K上拉電阻和100nF電容組成,確保上電穩(wěn)定復(fù)位。電源部分采用XC6206穩(wěn)壓器將5V降壓至3.3V,為單片機(jī)提供穩(wěn)定電源。電路板上多處添加了100nF去耦電容,有效抑制電源噪聲,提高系統(tǒng)穩(wěn)定性。單片機(jī)配置上,啟用了TIM1作為系統(tǒng)基準(zhǔn)定時器,生成1ms中斷用于系統(tǒng)計(jì)時;開啟DMA支持,提高數(shù)據(jù)傳輸效率;配置USART中斷接收模式,實(shí)現(xiàn)異步通信數(shù)據(jù)處理。程序存儲在內(nèi)置Flash中,運(yùn)行時數(shù)據(jù)存放在20KBSRAM中,滿足系統(tǒng)數(shù)據(jù)處理需求。軟硬件結(jié)合,STM32F103單片機(jī)為本系統(tǒng)提供了高效可靠的控制平臺。圖3.1STM32F103C8T6單片機(jī)接線情況3.2火焰檢測模塊火焰檢測模塊采用Fiying火焰?zhèn)鞲衅鳎軌蚩焖贆z測環(huán)境中的火源。該模塊基于紅外線感應(yīng)原理,利用火焰發(fā)出的特定波長紅外線進(jìn)行檢測。模塊由紅外線敏感元件、信號調(diào)理電路和比較器電路組成,能將檢測到的火焰信號轉(zhuǎn)換為數(shù)字信號輸出。傳感器采用4針接口設(shè)計(jì),VCC連接系統(tǒng)5V電源,GND接地,DQ為數(shù)字輸出端口連接到單片機(jī)的PA6引腳,AQ為模擬輸出端口(本系統(tǒng)未使用)。當(dāng)檢測到火焰時,DQ輸出低電平(0),觸發(fā)系統(tǒng)報(bào)警;無火焰時輸出高電平(1),系統(tǒng)保持正常狀態(tài)。模塊具有檢測角度廣(60度錐形區(qū)域)、反應(yīng)速度快(響應(yīng)時間小于1秒)、抗干擾能力強(qiáng)(采用專用濾光片過濾雜散光線)等特點(diǎn)。檢測距離可達(dá)80cm,滿足書包周圍環(huán)境的監(jiān)測需求。傳感器工作電壓為3.3V-5V,功耗低,工作電流約10mA,適合長時間運(yùn)行。在系統(tǒng)實(shí)現(xiàn)中,通過"Manage_function()"函數(shù)持續(xù)監(jiān)測火焰?zhèn)鞲衅鳡顟B(tài)。當(dāng)檢測到火源(FIR==0)時,系統(tǒng)將狀態(tài)標(biāo)志位flag_stat設(shè)為2(火災(zāi)狀態(tài)),啟動蜂鳴器報(bào)警(BEEP(1)),通過4G模塊向云平臺發(fā)送火災(zāi)警報(bào)。這種設(shè)計(jì)使系統(tǒng)能在火災(zāi)發(fā)生初期快速響應(yīng),及時提醒兒童遠(yuǎn)離火源,有效降低火災(zāi)造成的傷害風(fēng)險(xiǎn)。圖3.2火焰檢測模塊3.3OLED顯示模塊OLED顯示模塊采用0.96英寸單色OLED屏幕,分辨率為128×64像素,基于SSD1306驅(qū)動芯片。該模塊采用自發(fā)光技術(shù),無需背光源,顯示對比度高,視角寬廣,可在各種光線環(huán)境下清晰顯示信息。顯示屏通過I2C接口與單片機(jī)連接,僅需兩根線(SDA和SCL),分別連接到STM32的PB14和PB15引腳,大大簡化了接線復(fù)雜度。模塊工作電壓為3.3V-5V,工作電流約15mA,功耗較低。驅(qū)動程序采用軟件I2C實(shí)現(xiàn),支持ASCII字符顯示和中文顯示。中文顯示通過字模方式實(shí)現(xiàn),系統(tǒng)預(yù)置了常用漢字的點(diǎn)陣數(shù)據(jù),如"多功能學(xué)生書包"、"正常"、"溺水"、"火災(zāi)"等狀態(tài)提示。系統(tǒng)中OLED顯示模塊主要負(fù)責(zé)三類信息展示:系統(tǒng)標(biāo)題顯示"多功能學(xué)生書包";GPS定位信息,包括經(jīng)度和緯度坐標(biāo);系統(tǒng)狀態(tài)信息,包括"正常"、"溺水"、"火災(zāi)"三種狀態(tài)。顯示邏輯通過Display_function()函數(shù)實(shí)現(xiàn),根據(jù)flag_display標(biāo)志位選擇不同顯示界面,flag_stat標(biāo)志位控制狀態(tài)顯示。顯示更新采用定時刷新機(jī)制,配合系統(tǒng)1ms定時中斷,確保顯示內(nèi)容實(shí)時更新。顯示效果清晰直觀,即使在光線較弱環(huán)境下也能清晰辨識,為用戶提供了良好的視覺反饋。圖3.3OLED顯示模塊3.4ML307R4G模塊ML307R4G模塊是一款全網(wǎng)通通信模塊,支持移動、聯(lián)通、電信三大運(yùn)營商網(wǎng)絡(luò),提供穩(wěn)定可靠的無線通信能力。該模塊采用XH4針接口設(shè)計(jì),VCC連接5V電源,GND接地,RX和TX分別連接STM32的TX1和RX1引腳,實(shí)現(xiàn)UART通信。模塊集成了TCP/IP協(xié)議棧,支持多種網(wǎng)絡(luò)服務(wù),包括TCP/UDP通信、HTTP請求和MQTT協(xié)議。系統(tǒng)利用MQTT協(xié)議實(shí)現(xiàn)與阿里云物聯(lián)網(wǎng)平臺的數(shù)據(jù)交互,定期上傳書包位置和狀態(tài)信息。通信速率設(shè)置為115200bps,采用8位數(shù)據(jù)位、1位停止位、無校驗(yàn)位的標(biāo)準(zhǔn)配置。初始化過程由Air724_init()函數(shù)完成,包括模塊上電、網(wǎng)絡(luò)注冊、MQTT服務(wù)連接等步驟。數(shù)據(jù)發(fā)送通過Ali_MQTT_Publish()函數(shù)實(shí)現(xiàn),系統(tǒng)每秒檢查一次Publish_flag標(biāo)志位,滿足條件時發(fā)送一次數(shù)據(jù)包,包含GPS坐標(biāo)和系統(tǒng)狀態(tài)信息。數(shù)據(jù)接收通過Ali_MQTT_Recevie()函數(shù)處理,接收云平臺下發(fā)的控制指令。模塊還提供語音通話功能,通過Air724Call()函數(shù)實(shí)現(xiàn)一鍵撥號功能,當(dāng)檢測到緊急按鍵按下時,自動撥打預(yù)設(shè)的監(jiān)護(hù)人電話號碼。通話質(zhì)量清晰,連接穩(wěn)定,確保緊急情況下的有效溝通。ML307R模塊工作電流約200mA,為系統(tǒng)中功耗較大的組件。考慮到其關(guān)鍵作用,系統(tǒng)設(shè)計(jì)中特別關(guān)注了電源穩(wěn)定性,配備了足夠容量的濾波電容,確保模塊正常工作。圖3.4ML307R4G模塊3.5NEO-7MGPS定位模塊NEO-7MGPS定位模塊是一款高精度衛(wèi)星定位模塊,采用瑞士u-blox公司的NEO-7M芯片,支持GPS、GLONASS雙星定位系統(tǒng)。模塊設(shè)計(jì)為5針接口,包括PPS(脈沖輸出)、RXD(接收)、TXD(發(fā)送)、GND(接地)和VCC(電源)。系統(tǒng)中,RXD和TXD分別連接到STM32的TX2和RX2引腳,實(shí)現(xiàn)UART通信。該模塊具備出色的定位性能,冷啟動定位時間小于30秒,熱啟動僅需1秒;定位精度可達(dá)2.5米,滿足戶外精確定位需求;靈敏度高達(dá)-162dBm,能在較差信號環(huán)境下工作;支持高達(dá)10Hz的位置更新率,確保位置數(shù)據(jù)實(shí)時性。經(jīng)緯度數(shù)據(jù)以字符串形式顯示在OLED屏幕上,使用atof()函數(shù)將其轉(zhuǎn)換為浮點(diǎn)數(shù)(lat和lon變量),便于距離計(jì)算和數(shù)據(jù)上傳。系統(tǒng)每秒將最新位置信息通過4G模塊上傳至云平臺,實(shí)現(xiàn)位置追蹤功能。NEO-7M模塊工作電壓為3.3V-5V,工作電流約45mA,板載低噪聲穩(wěn)壓器和濾波電路,確保定位穩(wěn)定性。模塊還包含一個用于定位狀態(tài)指示的LED指示燈,便于系統(tǒng)狀態(tài)監(jiān)控。圖3.5NEO-7MGPS定位模塊3.6繼電器模塊繼電器模塊采用SRD-05VDC-SL-C型繼電器,屬于電磁繼電器類型,能夠通過小電流控制大電流負(fù)載。該模塊在系統(tǒng)中承擔(dān)氣囊充氣控制的關(guān)鍵角色,當(dāng)檢測到溺水情況時觸發(fā)氣囊充氣裝置。繼電器采用標(biāo)準(zhǔn)3腳設(shè)計(jì),線圈端通過三極管Q2(NPN型)連接到STM32的PA12引腳,實(shí)現(xiàn)低功耗控制??刂齐娐钒粋€1K限流電阻(R4)和一個指示LED2,當(dāng)繼電器動作時LED亮起,提供直觀的狀態(tài)反饋。繼電器觸點(diǎn)為常開型,連接到氣囊充氣裝置的電源電路,當(dāng)觸點(diǎn)閉合時,氣囊充氣系統(tǒng)啟動。該繼電器的線圈電壓為5V,觸點(diǎn)最大承載能力為10A/250VAC或10A/30VDC,足以驅(qū)動氣囊充氣裝置。動作電流約70mA,動作時間小于10ms,能在溺水檢測到的瞬間快速響應(yīng)。繼電器的機(jī)械壽命超過10萬次,電氣壽命約1萬次,滿足系統(tǒng)長期使用需求。在軟件控制方面,系統(tǒng)定義了宏定義"QB_relay(a)"簡化控制代碼,通過GPIO輸出高低電平控制繼電器狀態(tài)。在Manage_function()函數(shù)中,當(dāng)檢測到兩側(cè)壓力傳感器同時觸發(fā)(YL==0&&YL1==0)時,系統(tǒng)將狀態(tài)標(biāo)志位flag_stat設(shè)為1(溺水狀態(tài)),執(zhí)行QB_relay(1)激活繼電器,啟動氣囊充氣裝置。氣囊充氣后能使落水兒童浮于水面,為救援爭取時間。圖3.6繼電器模塊3.7薄膜壓力傳感器模塊薄膜壓力傳感器模塊采用兩個獨(dú)立的薄膜壓力傳感器,分別安裝在書包兩側(cè),用于檢測水壓變化。每個傳感器模塊采用4針接口設(shè)計(jì),包括VCC(電源)、GND(接地)、DQ(數(shù)字輸出)和AQ(模擬輸出,本系統(tǒng)未使用)。兩個傳感器的DQ分別連接到STM32的PA0和PA1引腳,提供數(shù)字信號輸入。傳感器基于壓阻效應(yīng)原理,內(nèi)部由柔性薄膜、壓敏電阻和信號調(diào)理電路組成。當(dāng)傳感器受到壓力時,薄膜變形導(dǎo)致壓敏電阻值變化,經(jīng)電路處理后輸出對應(yīng)的電信號。模塊集成了比較器電路,將模擬信號轉(zhuǎn)換為數(shù)字信號,壓力超過閾值時DQ輸出低電平(0),低于閾值時輸出高電平(1)。兩個傳感器的使用增強(qiáng)了系統(tǒng)可靠性,通過"與"邏輯(YL==0&&YL1==0)判斷溺水狀態(tài),有效避免了單一傳感器誤觸發(fā)的問題。傳感器靈敏度適中,能有效區(qū)分正常接觸和水壓變化,防止日常使用中的誤報(bào)。圖3.7薄膜壓力傳感器模塊3.8SG90舵機(jī)模塊蜂鳴器模塊采用5V有源蜂鳴器,型號為B1,是系統(tǒng)聲音警報(bào)的核心組件。該蜂鳴器內(nèi)置振蕩電路,只需提供直流電源即可發(fā)出固定頻率的聲音,簡化了控制電路設(shè)計(jì)。蜂鳴器通過三極管Q1(NPN型)控制,三極管基極經(jīng)1K電阻(R2)連接到STM32的PA15引腳,實(shí)現(xiàn)低功耗控制。蜂鳴器的聲音頻率約為2.5KHz,屬于人耳最敏感的頻率范圍,聲壓級達(dá)85dB(10cm距離測量),足以引起周圍人員注意。模塊工作電壓為5V,工作電流約30mA,功耗適中。響應(yīng)時間小于5ms,能夠?qū)崿F(xiàn)即時警報(bào)。圖3.8蜂鳴器模塊3.9總電路圖系統(tǒng)總電路圖以STM32F103C8T6單片機(jī)為核心,連接各功能模塊構(gòu)成完整嵌入式系統(tǒng)。電源部分采用3.7V鋰電池供電,通過TP4056管理充電,XC6206穩(wěn)壓器提供3.3V電源,升壓電路生成5V工作電壓。單片機(jī)I/O分配合理:PA0/PA1連接壓力傳感器,PA6接火焰?zhèn)鞲衅鳎琍A12驅(qū)動繼電器控制氣囊,PA15控制蜂鳴器,PB3連接緊急按鍵,通信接口包括UART1連接4G模塊,UART2連接GPS,I2C接口連接OLED顯示屏。電路設(shè)計(jì)注重抗干擾性,關(guān)鍵信號線添加濾波電路,電源軌配置去耦電容,重要驅(qū)動電路采用光耦隔離。預(yù)留SWD調(diào)試接口支持在線升級,采用防反插連接器確保安裝安全。四層PCB設(shè)計(jì)(信號、電源、接地、組件)有效降低干擾,尺寸僅70mm×50mm,便于安裝集成。總體設(shè)計(jì)兼顧功能完整性、可靠性和緊湊性,為多功能學(xué)生書包提供穩(wěn)定硬件平臺。圖3.9總電路圖
4系統(tǒng)的軟件設(shè)計(jì)4.1軟件介紹Keil5是ARM公司推出的一款集成開發(fā)環(huán)境(IDE),專為ARMCortex系列微控制器設(shè)計(jì),是本項(xiàng)目軟件開發(fā)的核心工具。該軟件集編輯、編譯、調(diào)試于一體,提供了完整的STM32開發(fā)支持,包括代碼編寫、程序燒錄和仿真調(diào)試功能。Keil5的編輯器支持語法高亮顯示和自動代碼補(bǔ)全,提高了編碼效率。其編譯器基于ARMCC,生成高效的機(jī)器碼,支持多種優(yōu)化級別,可根據(jù)需求平衡代碼體積和執(zhí)行速度。內(nèi)置的軟件模擬器和硬件調(diào)試器接口使程序調(diào)試變得直觀高效,支持?jǐn)帱c(diǎn)設(shè)置、單步執(zhí)行、變量監(jiān)視等功能。工程管理系統(tǒng)方便組織不同源文件,支持分組管理和條件編譯,使大型項(xiàng)目結(jié)構(gòu)清晰。配置向?qū)Ш喕诵酒跏蓟O(shè)置,通過圖形化界面可快速配置時鐘、中斷、外設(shè)等參數(shù)。軟件提供豐富的代碼庫和例程,包括STM32標(biāo)準(zhǔn)外設(shè)庫和CMSIS核心庫,加速了開發(fā)進(jìn)程。本項(xiàng)目利用Keil5的層次化項(xiàng)目結(jié)構(gòu),將代碼分為主程序、硬件驅(qū)動和功能模塊三層。使用HAL庫進(jìn)行硬件抽象,提高代碼可移植性。中斷系統(tǒng)采用向量化中斷表管理,定時器中斷用于系統(tǒng)定時,UART中斷用于數(shù)據(jù)接收。程序結(jié)構(gòu)清晰,主循環(huán)中調(diào)用按鍵、監(jiān)測、顯示和管理四個功能函數(shù),使系統(tǒng)運(yùn)行高效穩(wěn)定。圖4.1Keil_5軟件界面4.2軟件程序的設(shè)計(jì)4.2.1主程序流程圖圖4.2系統(tǒng)邏輯流程圖系統(tǒng)的主流程圖如圖4.2所示,在主程序中:首先對各個模塊進(jìn)行初始化,隨后進(jìn)入while主循環(huán),在主循環(huán)中,首先進(jìn)入第一個函數(shù)按鍵函數(shù),當(dāng)按鍵按下后,根據(jù)相應(yīng)的鍵值進(jìn)行相關(guān)操作,當(dāng)鍵值為1,清零。緊接著進(jìn)入第二個函數(shù)監(jiān)測函數(shù),通過調(diào)用GPS模塊獲取經(jīng)緯度位置。緊接著進(jìn)入第三個函數(shù)顯示函數(shù),顯示書包名稱、經(jīng)緯度和書包狀態(tài);最后進(jìn)入第四個函數(shù)處理函數(shù),當(dāng)書包兩側(cè)的壓力傳感器感水壓變化,自動觸發(fā)膨脹式氣囊;當(dāng)檢測到火焰,蜂鳴器報(bào)警。4.2.2按鍵子程序流程圖圖4.3按鍵子程序流程圖按鍵功能圖如圖4.3所示,首先按鍵掃描判斷是否有按鍵按下,如果按鍵1被按下,清零。4.2.3處理子程序介紹圖4.4顯示子程序流程圖在處理函數(shù)中,書包兩側(cè)的壓力傳感器感水壓變化,自動觸發(fā)膨脹式氣囊。若檢測到火焰,蜂鳴器報(bào)警。5系統(tǒng)的測試5系統(tǒng)的測試5.1軟硬件調(diào)試系統(tǒng)調(diào)試采用分模塊測試與整體聯(lián)調(diào)相結(jié)合的方式進(jìn)行。首先對各硬件模塊進(jìn)行獨(dú)立測試:STM32最小系統(tǒng)測試通過點(diǎn)亮LED驗(yàn)證正常工作;OLED顯示模塊測試包括字符顯示和中文顯示功能驗(yàn)證;GPS模塊測試通過串口調(diào)試助手觀察NMEA數(shù)據(jù)流,驗(yàn)證定位準(zhǔn)確性;壓力傳感器測試通過按壓和浸水兩種方式,檢驗(yàn)觸發(fā)靈敏度;火焰?zhèn)鞲衅鳒y試使用打火機(jī)在安全距離模擬火源,觀察輸出變化;4G模塊測試包括網(wǎng)絡(luò)注冊、數(shù)據(jù)傳輸和通話功能驗(yàn)證;繼電器和蜂鳴器測試通過控制引腳電平觀察動作狀態(tài)。模塊測試通過后進(jìn)行功能整合測試。防溺水功能測試在安全水環(huán)境中進(jìn)行,模擬書包落水場景,驗(yàn)證壓力傳感器觸發(fā)和氣囊充氣動作;火災(zāi)報(bào)警功能測試在控制環(huán)境下進(jìn)行,使用小火源模擬火災(zāi),觀察報(bào)警聲響和數(shù)據(jù)上傳;GPS定位功能測試在室外進(jìn)行,記錄不同位置的坐標(biāo)數(shù)據(jù),與實(shí)際地圖比對;遠(yuǎn)程監(jiān)控功能測試通過云平臺與手機(jī)APP交互,驗(yàn)證數(shù)據(jù)傳輸和顯示正確性;一鍵求助功能測試通過按下緊急按鍵,驗(yàn)證自動撥號功能。軟件調(diào)試主要集中在數(shù)據(jù)解析和邏輯控制部分。GPS數(shù)據(jù)解析使用模擬數(shù)據(jù)測試各種格式情況;中斷處理邏輯通過示波器觀察時序確保正確性;系統(tǒng)狀態(tài)切換邏輯通過模擬不同傳感器輸入組合,驗(yàn)證響應(yīng)正確性。調(diào)試過程中發(fā)現(xiàn)并解決了幾個關(guān)鍵問題:GPS數(shù)據(jù)解析時經(jīng)緯度格式轉(zhuǎn)換錯誤;4G模塊初始化時序不當(dāng)導(dǎo)致連接失??;系統(tǒng)狀態(tài)判斷邏輯存在沖突。通過調(diào)整代碼和參數(shù)設(shè)置,最終實(shí)現(xiàn)了各功能模塊的穩(wěn)定協(xié)同工作。5.2系統(tǒng)功能測試5.2.1定位功能測試GPS定位功能測試在不同環(huán)境條件下進(jìn)行,包括開闊地帶、建筑物周圍和樹木覆蓋區(qū)域。測試結(jié)果表明,NEO-7M模塊在開闊環(huán)境下定位精度優(yōu)于3米,冷啟動時間平均為28秒,熱啟動時間約1秒。在建筑物周圍,定位精度降至5-8米,但仍在可接受范圍內(nèi)。樹木覆蓋區(qū)域測試表明,厚重遮擋可能導(dǎo)致信號丟失,但模塊具有良好的重獲能力,一旦回到信號較好區(qū)域能迅速恢復(fù)定位。定位數(shù)據(jù)上傳測試顯示,經(jīng)度和緯度數(shù)據(jù)通過4G模塊成功傳輸至云平臺,延遲平均為1.5秒,滿足實(shí)時監(jiān)控需求。電子圍欄功能測試通過預(yù)設(shè)100米、200米和500米三個不同半徑的安全區(qū)域進(jìn)行,當(dāng)測試人員攜帶書包超出邊界時,系統(tǒng)能在5秒內(nèi)發(fā)出警報(bào)并向監(jiān)護(hù)人手機(jī)發(fā)送位置信息,測試成功率達(dá)98%,滿足預(yù)期設(shè)計(jì)要求。5.2.2防溺水功能測試防溺水功能測試在實(shí)驗(yàn)室水池環(huán)境中進(jìn)行,使用裝有系統(tǒng)的書包模擬兒童落水場景。測試結(jié)果顯示,當(dāng)書包浸入水中約10厘米深度時,雙傳感器在0.8秒內(nèi)同時觸發(fā),系統(tǒng)狀態(tài)標(biāo)志位正確切換至溺水狀態(tài)(flag_stat=1),繼電器立即動作(QB_relay(1)),觸發(fā)CO?氣彈充氣系統(tǒng)。氣囊從觸發(fā)到完全充氣平均用時0.9秒,充氣后能產(chǎn)生足夠浮力支撐15kg重物浮于水面,且氣囊結(jié)構(gòu)設(shè)計(jì)確保了書包正面朝上,有利于呼吸通道保持暢通。耐久性測試顯示,氣囊充氣后能保持浮力至少30分鐘,足以等待救援到達(dá)。誤觸發(fā)測試通過模擬雨天、水杯灑落等日常水接觸場景進(jìn)行,結(jié)果表明雙傳感器的"與"邏輯設(shè)計(jì)有效防止了誤報(bào),在50次模擬測試中無一次誤觸發(fā),但在真實(shí)浸水時的檢出率達(dá)100%,驗(yàn)證了系統(tǒng)的高可靠性和準(zhǔn)確性。5.2.3火災(zāi)報(bào)警功能測試火災(zāi)報(bào)警功能測試在受控環(huán)境下進(jìn)行,使用蠟燭和酒精燈模擬不同強(qiáng)度火源。測試結(jié)果顯示,F(xiàn)iying火焰?zhèn)鞲衅髂茉?0厘米范圍內(nèi)可靠檢測到火源,響應(yīng)時間平均為0.3秒。光線干擾測試表明,即使在強(qiáng)光照環(huán)境下,傳感器的濾光設(shè)計(jì)也能有效避免陽光等非火源熱源引起的誤報(bào),50次日光曝露測試中未出現(xiàn)誤報(bào)情況。報(bào)警響應(yīng)測試驗(yàn)證了系統(tǒng)在檢測到火源后能立即啟動85dB蜂鳴器報(bào)警,聲音在10米范圍內(nèi)清晰可聞。同時,系統(tǒng)成功將火災(zāi)警報(bào)信息通過4G模塊上傳至云平臺,并推送至監(jiān)護(hù)人手機(jī)APP,平均延遲時間為2.1秒。溫度影響測試表明,傳感器在-5℃至45℃溫度范圍內(nèi)保持穩(wěn)定工作,滿足各種氣候條件下的使用需求。5.2.4通信系統(tǒng)測試4G通信模塊測試包括網(wǎng)絡(luò)連接穩(wěn)定性、數(shù)據(jù)傳輸可靠性和通話質(zhì)量評估。網(wǎng)絡(luò)連接測試在不同信號強(qiáng)度區(qū)域進(jìn)行,結(jié)果顯示ML307R模塊能在弱信號環(huán)境(-100dBm)下保持連接,網(wǎng)絡(luò)注冊平均用時12秒,滿足移動場景需求。數(shù)據(jù)傳輸測試驗(yàn)證了MQTT協(xié)議的穩(wěn)定性,系統(tǒng)能持續(xù)上傳位置和狀態(tài)數(shù)據(jù),上行速率平均為3KB/s,足以滿足實(shí)時監(jiān)控需求。數(shù)據(jù)傳輸成功率在強(qiáng)信號區(qū)域達(dá)99.7%,弱信號區(qū)域仍保持在94.5%以上。通話功能測試表明,緊急呼叫成功率達(dá)100%,音質(zhì)評分(MOS)為3.8/5,通話延遲平均為0.3秒,滿足緊急通話需求。功耗測試顯示,4G模塊在待機(jī)狀態(tài)下功耗約15mA,數(shù)據(jù)傳輸時約180mA,通話時約200mA。針對高功耗特性,系統(tǒng)采用了智能休眠策略,非緊急狀態(tài)下每60秒傳輸一次數(shù)據(jù),有效延長了電池續(xù)航時間。5.2.5系統(tǒng)集成測試系統(tǒng)集成測試評估了各功能模塊協(xié)同工作的穩(wěn)定性和可靠性。72小時連續(xù)運(yùn)行測試表明,系統(tǒng)在長時間工作下保持穩(wěn)定,無功能異?;蛩罊C(jī)現(xiàn)象。溫度適應(yīng)性測試驗(yàn)證了系統(tǒng)在-10℃至50℃范圍內(nèi)各功能模塊正常工作,滿足戶外使用需求。電磁兼容性測試通過將系統(tǒng)暴露于手機(jī)、WiFi等常見電磁環(huán)境中進(jìn)行,結(jié)果顯示系統(tǒng)具有良好的抗干擾能力,各模塊工作不受影響。震動測試模擬了書包日常使用中的顛簸情況,系統(tǒng)各連接點(diǎn)牢固,無假觸發(fā)現(xiàn)象。防水測試表明,除專用壓力傳感器外,系統(tǒng)其他部分具備IP54級防護(hù)能力,能應(yīng)對日常潑濺和輕度雨淋。電池續(xù)航測試顯示,在標(biāo)準(zhǔn)使用模式下(GPS定位和4G數(shù)據(jù)上傳,無緊急情況),2000mAh鋰電池能支持系統(tǒng)工作約52小時,超過設(shè)計(jì)目標(biāo)。充電測試表明,從低電量(10%)充至滿電(90%)平均需時2.5小時,滿足日常使用需求。5.3實(shí)物展示系統(tǒng)測試顯示,系統(tǒng)各功能模塊經(jīng)過全面測試,結(jié)果表明設(shè)計(jì)目標(biāo)已基本實(shí)現(xiàn)。GPS定位精度在開闊環(huán)境下達(dá)到3米以內(nèi),滿足定位需求;防溺水功能響應(yīng)時間小于1秒,氣囊充氣迅速有效;火災(zāi)報(bào)警檢測距離達(dá)70cm,聲音警報(bào)清晰可聞;4G數(shù)據(jù)傳輸穩(wěn)定,上傳延遲小于2秒;一鍵求助功能撥號成功率100%;系統(tǒng)續(xù)航時間超過8小時,滿足日常使用需求。綜合各項(xiàng)指標(biāo),系統(tǒng)性能達(dá)到設(shè)計(jì)預(yù)期,能夠?yàn)閷W(xué)生提供有效的安全保障。圖5.1系統(tǒng)實(shí)物圖系統(tǒng)實(shí)物如圖5.1所示,采用模塊化設(shè)計(jì),各功能單元通過定制PCB板緊密集成,總重量控制在185克,體積小巧便于集成到普通書包中。主控制板位于中心位置,周圍分布各功能模塊,布局合理緊湊。外殼采用ABS工程塑料,具有良好的強(qiáng)度和防護(hù)性能。操作界面簡潔明了,OLED顯示屏清晰展示系統(tǒng)狀態(tài),緊急按鈕設(shè)計(jì)醒目且便于操作。圖5.2展示了不同功能的測試場景,直觀呈現(xiàn)了系統(tǒng)在實(shí)際應(yīng)用中的表現(xiàn)。通過綜合測試驗(yàn)證,該多功能學(xué)生書包系統(tǒng)能夠有效提升兒童安全保障水平,為解決兒童安全問題提供了創(chuàng)新解決方案。結(jié)論結(jié)論結(jié)論本研究設(shè)計(jì)并實(shí)現(xiàn)了一款多功能學(xué)生書包系統(tǒng),通過整合STM32單片機(jī)、GPS定位模塊、壓力傳感器、火焰?zhèn)鞲衅鳌?G通信模塊等硬件,構(gòu)建了一個集定位追蹤、防溺水、火災(zāi)報(bào)警、一鍵求助于一體的安全保障系統(tǒng)。研究過程涵蓋了系統(tǒng)架構(gòu)設(shè)計(jì)、硬件選型與電路設(shè)計(jì)、軟件開發(fā)與功能實(shí)現(xiàn)、系統(tǒng)調(diào)試與測試等環(huán)節(jié)。通過對多項(xiàng)關(guān)鍵技術(shù)的應(yīng)用與創(chuàng)新,開發(fā)出了性能穩(wěn)定、功能完備的產(chǎn)品原型。測試結(jié)果表明,系統(tǒng)能夠準(zhǔn)確定位、及時報(bào)警、有效防護(hù),為學(xué)生安全提供了全方位保障。該產(chǎn)品不僅填補(bǔ)了市場空白,更為解決兒童安全問題提供了新思路。研究成果對促進(jìn)智能穿戴設(shè)備與安全防護(hù)技術(shù)的結(jié)合具有積極意義,為后續(xù)相關(guān)產(chǎn)品開發(fā)提供了參考。未來可進(jìn)一步優(yōu)化系統(tǒng)能耗、增強(qiáng)抗干擾能力、擴(kuò)展功能模塊,提升產(chǎn)品的實(shí)用性與市場競爭力。附錄參考文獻(xiàn)[1]郭懷瑾.一種便攜式多功能小學(xué)生用書包:,CN215837596U[P].2022.[2]郁承鑫.基于RFID技術(shù)的智能安全書包系統(tǒng)[J].發(fā)明與創(chuàng)新:中學(xué)生,2020(8):4.[3]劉歡.太陽能多功能書包:,CN212325765U[P].2021.[4]田開坤.一種掌上智能控制系統(tǒng)開發(fā)裝置:,CN101470989A[P].2021.[5]劉瑩.多功能書包:,CN210018259U[P].2020.[6]杜科莎.一種智能書包及智能系統(tǒng):,CN106723892A[P].2022.[7]陶小鳳,官洲洋,李麗,等.基于ZigBee的小學(xué)生智慧書包[J].信息技術(shù)與信息化,2021(3):2.[8]黃文準(zhǔn),趙寶輝,秦凡.基于STM32的智能兒童防丟書包設(shè)計(jì)[J].物聯(lián)網(wǎng)技術(shù),2021,7(9):3.[9]朱孝軍.一種學(xué)生用多功能書包:,CN216723597U[P].2022.[10]孫穎雯.一種學(xué)生用多功能書包:,CN215501705U[P].2022.[11]張曉龍,李忠良,金超,等.基于物聯(lián)網(wǎng)的智能安防學(xué)生書包:,CN216982012U[P].2022.[12]周江.STM32單片機(jī)原理及硬件電路設(shè)計(jì)研究[J].數(shù)字技術(shù)與應(yīng)用,2019(11):1.[13]譚淑梅.簡析STM32單片機(jī)原理及硬件電路設(shè)計(jì)[J].大慶師范學(xué)院學(xué)報(bào),2018,34(6):3.[14]陳志旺.STM32嵌入式微控制器快速上手[M].電子工業(yè)出版社,2022.[15]任靜.基于STM32單片機(jī)的溫濕度測量系統(tǒng)設(shè)計(jì)[J].智能物聯(lián)技術(shù),2021,53(4):7.[16]何寧,王漫,方昀,等.面向無線傳感器網(wǎng)絡(luò)應(yīng)用的傳感器技術(shù)綜述[J].計(jì)算機(jī)應(yīng)用與軟件,2018,24(9):4.[17]何道清,張禾,諶海云.傳感器與傳感器技術(shù)[M].科學(xué)出版社,2018.[18]王麗艷.Multipurposeelectronicschoolbag.2013[2025-05-14].[19]JingL,YamamotoN,ChengZ,etal.ASmartSchoolbagSystemforRemindingPupilsoftheForgottenItems[C]//ThirdInternationalConferenceonUbiquitousIntelligence&Computing.SpringerBerlinHeidelberg,2006.[20]Hui-PingC,Gang-ShanFU,UniversityXP,etal.StudyofCombiningNewTechnologyandE-SchoolbagtoConstructSmartLearningEnvironment[J].ModernDistanceEducation,2014.
附錄部分源程序:/*USERCODEBEGINHeader*//*********************************************************************************@file:main.c*@brief:Mainprogrambody*******************************************************************************@attention**Copyright(c)2022STMicroelectronics.*Allrightsreserved.**ThissoftwareislicensedundertermsthatcanbefoundintheLICENSEfile*intherootdirectoryofthissoftwarecomponent.*IfnoLICENSEfilecomeswiththissoftware,itisprovidedAS-IS.********************************************************************************//*USERCODEENDHeader*//*Includes*/#include"main.h"#include"tim.h"#include"usart.h"#include"gpio.h"/*Privateincludes*//*USERCODEBEGINIncludes*/#include"stdio.h"#include"string.h"#include"./HAL/key/key.h"#include"./HAL/OLED/OLED_NEW.H"#include"./HAL/Air724/Air724.h"/*USERCODEENDIncludes*//*Privatetypedef*//*USERCODEBEGINPTD*/voidKey_function(void); //按鍵函數(shù)voidMonitor_function(void); //監(jiān)測函數(shù)voidDisplay_function(void); //顯示函數(shù)voidManage_function(void); //處理函數(shù)/*USERCODEENDPTD*//*Privatedefine*//*USERCODEBEGINPD*/#defineQB_relay(a)(a?HAL_GPIO_WritePin(QB_relay_GPIO_Port,QB_relay_Pin,GPIO_PIN_SET):HAL_GPIO_WritePin(QB_relay_GPIO_Port,QB_relay_Pin,GPIO_PIN_RESET))#defineBEEP(a)(a?HAL_GPIO_WritePin(BEEP_GPIO_Port,BEEP_Pin,GPIO_PIN_SET):HAL_GPIO_WritePin(BEEP_GPIO_Port,BEEP_Pin,GPIO_PIN_RESET))uint8_tUSART1_TX_BUF[300];#defineu1_printf(...)HAL_UART_Transmit(&huart1,USART1_TX_BUF,sprintf((char*)USART1_TX_BUF,__VA_ARGS__),0xffff)uint8_tUSART2_TX_BUF[300];#defineu2_printf(...)HAL_UART_Transmit(&huart2,USART2_TX_BUF,sprintf((char*)USART2_TX_BUF,__VA_ARGS__),0xffff)uint8_tUSART3_TX_BUF[200];#defineu3_printf(...)HAL_UART_Transmit(&huart3,USART3_TX_BUF,sprintf((char*)USART3_TX_BUF,__VA_ARGS__),0xffff)/*USERCODEENDPD*//*Privatemacro*//*USERCODEBEGINPM*//*USERCODEENDPM*//*Privatevariables*//*USERCODEBEGINPV*/uint8_tkey_num,flag_display;//按鍵與顯示變量uint16_ttime_1ms,time_500ms;//計(jì)時變量1ms,500msuint16_ttime_ms,time_1s; //計(jì)時變量ms,1schar*Start,*End;charlatitude_buf[20];//維度charlongitude_buf[20];//經(jīng)度floatlat,lon; //返回的維度和經(jīng)度uint8_tflag_stat; //狀態(tài)標(biāo)志位uint8_tuart2_buf[255],uart2_flag; //串口2變量uint8_tPublish_flag;//發(fā)送標(biāo)志位uint16_tPublish_time; //推送計(jì)時變量/*USERCODEENDPV*//*Privatefunctionprototypes*/voidSystemClock_Config(void);/*USERCODEBEGINPFP*//*USERCODEENDPFP*//*Privateusercode*//*USERCODEBEGIN0*/voidGPS_function(void){ chari;// memset(latitude_buf,'-',7);// memset(longitude_buf,'-',7); Start=strstr((char*)uart2_buf,"GLL"); if(Start!=NULL) { Start=strstr(Start,",")+1;//獲取緯度數(shù)據(jù)首地址 if(*(Start)!=',')//判斷是否獲取到經(jīng)緯度數(shù)據(jù) { Start++;//緯度數(shù)據(jù)首地址 End=strstr(Start,",");//獲取緯度數(shù)據(jù)尾地址 for(i=0;i<End-Start;i++) { latitude_buf[i+1]=*(Start+i-1);//將緯度數(shù)據(jù)存放在數(shù)組中 if(*(Start+i-1)=='.') { latitude_buf[i+1]=latitude_buf[i]; latitude_buf[i]=latitude_buf[i-1]; latitude_buf[i-1]='.'; } } Start=strstr(Start,",")+1;//獲取南緯或北緯數(shù)據(jù) if(*Start=='N'||*Start=='S') latitude_buf[0]=*Start;//將數(shù)據(jù)存放在緯度數(shù)組 Start=strstr(Start,",")+1;//獲取經(jīng)度數(shù)據(jù)首地址 End=strstr(Start,",");//獲取經(jīng)度數(shù)據(jù)尾地址 for(i=0;i<End-Start;i++) { longitude_buf[i+1]=*(Start+i);//將經(jīng)度數(shù)據(jù)存放在數(shù)組中 if(*(Start+i)=='.') { longitude_buf[i+1]=longitude_buf[i]; longitude_buf[i]=longitude_buf[i-1]; longitude_buf[i-1]='.'; } } Start=strstr(Start,",")+1;//獲取東經(jīng)或西經(jīng)數(shù)據(jù) if(*Start=='E'||*Start=='W') longitude_buf[0]=*Start;//將數(shù)據(jù)存放在經(jīng)度數(shù)組中 latitude_buf[7]='\0';//只讓經(jīng)度和緯度顯示十個字符 longitude_buf[7]='\0';lat=atof((char*)latitude_buf+1);//字符串轉(zhuǎn)換為浮點(diǎn)型變量 lon=atof((char*)longitude_buf+1);//字符串轉(zhuǎn)換為浮點(diǎn)型變量 } }}/***********按鍵設(shè)置函數(shù)*****/voidKey_function(void){ key_num=Chiclet_Keyboard_Scan(); //按鍵掃描 if(key_num!=0) //有按鍵按下 { switch(key_num) { case1: //按鍵1,清零Air724Call(); break; default: break; } }}/***********監(jiān)測函數(shù)*****/voidMonitor_function(void){ if(uart2_flag==1) //GPS串口接受到120個數(shù)據(jù),開始解析 { uart2_flag=0; GPS_function(); }}/***********顯示函數(shù)*****/voidDisplay_function(void){switch(flag_display) //根據(jù)不同的顯示模式標(biāo)志位,顯示不同界面 { case0: Oled_ShowCHinese(8,0,(uint8_t*)"多功能學(xué)生書包"); Oled_ShowString(0,3,(uint8_t*)latitude_buf); //顯示維度 Oled_ShowString(64,3,(uint8_t*)longitude_buf); //顯示經(jīng)度if(flag_stat==1)Oled_ShowCHinese(48,6,"溺水"); elseif(flag_stat==2)Oled_ShowCHinese(48,6,"火災(zāi)");elseif(flag_stat==0)Oled_ShowCHinese(48,6,"正常"); break; }}/***********處理函數(shù)*****/voidManage_function(void){if(YL==0&&YL1==0) //書包兩側(cè)的壓力傳感器感水壓變化,自動觸發(fā)膨脹式氣囊{ flag_stat=1;QB_relay(1);} elseif(FIR==0) //檢測到火焰,蜂鳴器報(bào)警{ flag_stat=2; BEEP(1);} else { flag_stat=0; QB_relay(0); BEEP(0); }}/*USERCODEEND0*//***@briefTheapplicationentrypoint.*@retvalint*/intmain(void){/*USERCODEBEGIN1*//*USERCODEEND1*//*MCUConfiguration*//*Resetofallperipherals,InitializestheFlashinterfaceandtheSystick.*/HAL_Init();/*USERCODEBEGINInit*//*USERCODEENDInit*//*Configurethesystemclock*/SystemClock_Config();/*USERCODEBEGINSysInit*//*USERCODEENDSysInit*//*Initializeallconfiguredperipherals*/MX_GPIO_Init();MX_TIM1_Init();MX_USART1_UART_Init();MX_USART2_UART_Init();MX_USART3_UART_Init();MX_TIM3_Init();/*USERCODEBEGIN2*/HAL_TIM_Base_Start_IT(&htim1);HAL_UART_Receive_IT(&huart2,uart2_buf,120); //GPS串口中斷使能HAL_UART_Receive_IT(&Huart_4G,&uart4G_value,1);/*USERCODEEND2*//*Infiniteloop*//*USERCODEBEGINWHILE*/OLED_Init(); //OLED初始化OLED_Clear(); //OLED清屏Air724_init();//4G初始化while(1){Key_function(); //按鍵函數(shù) Monitor_function(); //監(jiān)測函數(shù) Display_function(); //顯示函數(shù) Manage_function(); //處理函數(shù) Ali_MQTT_Recevie(); //接受云平臺傳輸數(shù)據(jù)/*USERCODEENDWHILE*//*USERCODEBEGIN3*/ if(Publish_flag==1&&Air724_Status())//每1秒發(fā)送一次數(shù)據(jù){Publish_flag=0;Ali_MQTT_Publish();}}/*USERCODEEND3*/}/***@briefSystemClockConfiguration*@retvalNone*/voidSystemClock_Config(void){RCC_OscInitTypeDefRCC_OscInitStruct={0};RCC_ClkInitTypeDefRCC_ClkInitStruct={0};/**InitializestheRCCOscillatorsaccordingtothespecifiedparameters*intheRCC_OscInitTypeDefstructure.*/RCC_OscInitStruct.OscillatorType=RCC_OSCILLATORTYPE_HSI;RCC_OscInitStruct.HSIState=RCC_HSI_ON;RCC_OscInitStruct.HSICalibrationValue=RCC_HSICALIBRATION_DEFAULT;
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年貴州城市職業(yè)學(xué)院高職單招職業(yè)適應(yīng)性考試模擬試題帶答案解析
- 2026年衡陽幼兒師范高等??茖W(xué)校單招綜合素質(zhì)筆試備考試題帶答案解析
- 腫瘤精準(zhǔn)醫(yī)療發(fā)展現(xiàn)狀
- 2026年河南地礦職業(yè)學(xué)院單招綜合素質(zhì)考試備考試題帶答案解析
- 2026年湖北三峽職業(yè)技術(shù)學(xué)院單招綜合素質(zhì)筆試模擬試題帶答案解析
- 2026年安陽職業(yè)技術(shù)學(xué)院單招綜合素質(zhì)筆試備考試題帶答案解析
- 醫(yī)院臨床病理學(xué)操作規(guī)范
- 醫(yī)療醫(yī)院管理與患者滿意度
- 護(hù)理職業(yè)素養(yǎng)與溝通能力
- 醫(yī)療人工智能在心理健康診斷中的應(yīng)用
- JJF 2287-2025 測量水池聲學(xué)特性校準(zhǔn)規(guī)范(相關(guān)函數(shù)法)
- 財(cái)務(wù)崗位離職交接清單模版
- 光伏電站試運(yùn)行與交付標(biāo)準(zhǔn)指南
- 《車輛越野能力分級與評價體系》征求意見稿
- 小兒運(yùn)動發(fā)育遲緩課件
- 非煤礦山機(jī)電安全培訓(xùn)課件
- 基于PLC的S7-1200電機(jī)控制系統(tǒng)設(shè)計(jì)
- 多主體協(xié)同決策模型-洞察及研究
- 預(yù)應(yīng)力連續(xù)梁掛籃施工工藝創(chuàng)新與質(zhì)量控制研究
- 混凝土攪拌與運(yùn)輸方案
- 2025年濰坊市中考數(shù)學(xué)試題卷(含標(biāo)準(zhǔn)答案)
評論
0/150
提交評論