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