智能行李寄存系統(tǒng)
3.2控制器軟件設(shè)計(jì)
控制器軟件的實(shí)現(xiàn)基于FreeRTOS嵌入式實(shí)時(shí)操作系統(tǒng)平臺(tái)來(lái)完成,主要由初始化程序、WIFI接收任務(wù)程序和LoRa接收任務(wù)程序組成。控制器上電啟動(dòng)后,開(kāi)始運(yùn)行初始化程序,執(zhí)行自檢,對(duì)需要使用的變量或任務(wù)進(jìn)行初始化。然后創(chuàng)建WIFI接收任務(wù)程序和LoRa接收任務(wù)程序。兩個(gè)任務(wù)程序被創(chuàng)建后便開(kāi)始并行運(yùn)行。
主程序流程如圖12所示。WIFI接收任務(wù)程序用于處理手機(jī)APP發(fā)送的四種指令,具體過(guò)程如下:
(1)當(dāng)用戶存放行李時(shí),手機(jī)APP會(huì)將終端設(shè)備編號(hào)和用戶信息(用戶名、手機(jī)號(hào)等)發(fā)送給控制器??刂破魇盏皆撝噶詈?,更新數(shù)據(jù)表為存放狀態(tài)。(
2)當(dāng)管理員需要查詢行李狀態(tài)時(shí),控制器將對(duì)應(yīng)的狀態(tài)返回給手機(jī)APP端。
(3)當(dāng)用戶取件時(shí),手機(jī)APP給控制器發(fā)送取件指令,控制器通過(guò)LoRa模塊給終端設(shè)備發(fā)送提醒指令。
(4)當(dāng)管理員通過(guò)手機(jī)APP給控制器設(shè)置WIFI名和密碼時(shí),控制器更新相應(yīng)的系統(tǒng)數(shù)據(jù)。
WIFI接收任務(wù)程序流程如圖13所示。
LoRa接收任務(wù)程序用于接收終端返回的指令,包括查詢指令和取件成功指令,其流程如圖14所示。當(dāng)收到終端的查詢應(yīng)答指令后,控制器給手機(jī)APP再返回一條應(yīng)答指令。當(dāng)管理員尋找到用戶行李后,按下終端確認(rèn)按鈕,終端設(shè)備會(huì)發(fā)送取件成功的指令給控制器??刂破魇盏皆撝噶詈?,更新對(duì)應(yīng)的數(shù)據(jù)表為取件成功狀態(tài),同時(shí)給手機(jī)APP發(fā)送一條取件成功的指令。
4終端設(shè)計(jì)
以STM8單片機(jī)為處理器,基于C語(yǔ)言開(kāi)發(fā)完成了智能行李寄存系統(tǒng)終端。終端在使用過(guò)程中放置在行李上,并與用戶手機(jī)號(hào)綁定??赏ㄟ^(guò)該終端上的蜂鳴器和LED燈實(shí)現(xiàn)聲光提醒功能,實(shí)現(xiàn)行李的快速查找。
4.1終端硬件設(shè)計(jì)
終端硬件主要由STM8單片機(jī)、LoRa通信模塊、天線、紐扣電池、按鍵、蜂鳴器和LED指示燈等組成,如圖15所示。其中STM8單片機(jī)為終端的主控芯片,外接LoRa通信模塊與控制器通信。終端硬件具體實(shí)現(xiàn)電路圖如圖16所示。
終端在使用過(guò)程中放置在行李上,并跟行李綁定。為了使用方便,終端體積應(yīng)盡可能小,功耗應(yīng)盡量低。因此,終端使用紐扣電池供電,并在通信協(xié)議上使用空中喚醒技術(shù)以降低待機(jī)功耗。
終端接收控制器發(fā)送的指令,可啟動(dòng)蜂鳴器和LED閃光燈提醒功能,使管理員很快能找到所需行李。待管理員取到行李后,可以通過(guò)終端上的開(kāi)關(guān)停止聲光提醒。終端在非工作狀態(tài)可以關(guān)閉電源,以延長(zhǎng)供電時(shí)間。
4.2終端軟件設(shè)計(jì)
主程序及數(shù)據(jù)接收流程如圖17所示。為了降低終端功耗,在軟件上使用了空中喚醒策略。終端設(shè)備加電啟動(dòng)后,開(kāi)始自檢,啟動(dòng)定時(shí)器。正常情況下,終端設(shè)備處于低功耗模式運(yùn)行,通過(guò)定時(shí)器定時(shí)接收來(lái)自控制器的前導(dǎo)碼數(shù)據(jù)。如果是喚醒本機(jī)的前導(dǎo)碼,則喚醒本機(jī)終端,使其處于正常運(yùn)行模式。
評(píng)論