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