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