藍國財,黃梅春,吳樹添,黃駟基,歐城輝
(廣西民族師范學院,廣西 崇左 532200)
隨著我國社會經濟水平的不斷提高和互聯網技術在不斷發展[1-2],目前儲物柜已經被應用于更多的公共場合下,以適應人們對物品存儲的需求。但是目前儲物柜大多數采用的都是獨立存儲、自動存儲或者紙質條形碼存儲,這類存儲方式只會越來越費時費力,盡管條形碼儲物柜識別速度快、精度高、但折疊,搓揉后的條形碼稍有損壞,這種儲物柜識別率會大大降低,甚至會無法識別。并且條形碼儲物柜的打印紙是一次性的,用完后需要源源不斷地加入打印紙才能使其正常工作,這樣就大大增加了使用的成本,并且部分用戶使用完條形碼后會有將條形碼亂丟、亂放的現象,這對環境造成極大的影響。這一系列問題表明條形碼儲物柜已經不能完全滿足當前社會需求。于是本文提出一款語音播報的智能儲物柜,該設計可以通過手機App掃碼或者輸入取件碼即可完成取件操作,無需操作儲物柜。通過藍牙模塊把儲物柜的數據上傳到手機App,管理員可以通過進入儲物柜后臺查看儲物柜存儲情況,與其他類型儲物柜對比本設計具有管理方便、操作便捷、成本低、保密性更好的特點。
本系統涵蓋硬件與軟件兩大方面,系統總體由主控芯片、消殺模塊、SIM800A短信模塊、人機交互系統、門鎖驅動和客戶端App 6個部分組成。其中硬件方面包括STM32微控制器、LM2596S電源模塊、消殺模塊、SIM800A短信模塊、電磁鎖模塊、HC-05藍牙模塊、HMI串口觸摸屏,軟件方面包含單片機程序開發、手機App客戶端開發、HMI串口屏界面設計三方面相融合。系統框架如圖1所示。

圖1 系統框架
采用STM32F103C8T6單片機作為該系統的主控芯片,主要負責管理系統內數據的發送和接收工作,通過自身的3個串口分別與HMI串口屏、SIM800A短信模塊、HC-05藍牙模塊進行通信。STM32F103C8T6單片機 是基于 Cortex-M3 內核的 32 位高性能控制器[3];具有兩個12位A/D轉換器、7通道DMA控制器、有64k的閃存存儲器、20KB SRAM、多達80路快速I/O端口以及7路定時器和3路UASRT串口,最高頻率高達72 MHz。與傳統 8 位的 51 系列單片機相比,具有功耗低、處理速度快和硬件資源豐富等優點,其性能參數符合本設計的要求。語音播報儲物柜主控系統電路原理圖如圖2所示。

圖2 語音播報儲物柜主控系統電路原理
HMI串口屏的分辨率高達800×480,屏幕顯示清晰并且自帶CPU處理器、數據存儲器、可編程口、FLASH存儲、音視頻解碼芯片、SD卡槽等外設。并且HMI串口屏具有觸屏輸入、按鈕控件、音頻控件、圖片控件和定時器控件等多種組態控件,使得這款串口屏操作簡單、開發方便、功能性強、使用范圍廣等優點。
本設計采用SIM800A短信模塊實現取件碼的發送,主控芯片通過串口2發送的AT指令給SIM800A短信模塊,短信模塊通過解析指令后給指定電話號碼發送一個由主控芯片隨機生成的6位數取件碼。
SIM800A的工作頻率是GSM/GPRS(900/1 800 MHz),能夠低功耗地實現語音[3],SMS以及數據信息等多種功能。該模塊使用SMT封裝雙頻GSM/GPRS模塊方案,有處理器運行速度快、成本低、操作簡單等優點,符合本設計需求。
消毒模塊通過超聲波換能,使液態水分子經陶瓷霧化板高頻共振分解為天然流動水霧,超聲波可使水溶性藥物在常溫下霧化為1 μm~5 μm微霧顆粒作為消毒水介質,利用超聲波的定向壓力作用,將消毒水噴灑到物體表面,起到殺菌消毒的作用。
HMI串口屏、SIM800A短信模塊、消殺模塊都是需要5 V大電流來驅動的,主控芯片驅動電流是遠遠不夠的,故本設計采用LM2596S電源模塊可以更好地為本系統提供穩定的電源。
本設計使用主控芯片的串口3和藍牙模塊進行通信,實現數據的傳輸,藍牙模塊是主從一體的藍牙串口模塊所以藍牙模塊既可作為主機也可作為從機[4]。當我們需要藍牙從主控芯片中獲取數據時,藍牙就作為從機接收數據,然后再作為主機給手機App傳送數據由此實現數據的雙向傳輸。
本設計包含硬件程序設計和軟件程序設計。硬件是基于主控芯片STM32F103C8T6單片機的C語言程序設計、HMI串口屏的界面設計,軟件設計則是采用App Inventor在線網站圖形化編程的方式實現。
本設計使用的編譯平臺是Keil5 MDK編譯器,這款編譯器功能非常強大,并且支持在線調試、仿真等功能。首先將主控芯片的3個串口分別與HMI串口屏、SIM800A短信模塊和HC-05藍牙模塊用導線連接好。其電磁鎖及消殺模塊按照電路圖分別用導線與主控芯片對應的IO口連接好即可,硬件連接完成后,即可對其程序進行編寫,其主要程序就是如何處理串口接收和發送的大量數據,為解決這類問題,本設計采用結構體和數組的方式進行處理。將接收到HMI串口屏的數據存入數組中,經過主控芯片處理后隨機生成一個6位數的取件碼,通過SIM800A給對應用戶發送取件碼,同時主控芯片通過藍牙模塊給手機App云端發送數據以便管理員查看后臺數據。單片機程序流程如圖3所示。

圖3 單片機程序流程
App Inventor是一款完全在線圖形化的手機App開發網站,這款在線手機App開發網站非常適合編程基礎比較薄弱的人去使用,開發環境的大部分組件只需要在使用時去看一眼數據手冊即可,使用時首先要對手機App的頁面進行布局,這個布局的方式比較人性化,完全可以按照用戶自己的想法,去進行布局,其布局就是將用戶需要的按鈕、圖片、標簽、文本輸入框、密碼輸入框、各類傳感器、多媒體等組件拖拽到對應的屏幕位置中即可,最后一步就是編寫程序了,與其說是編寫程序,不如說是玩俄羅斯方塊,這個程序的編寫只需要把對應的代碼塊拼接到一起即可完成程序的編寫,不需要花太多的時間去學習和鉆研這個程序如何編寫,極大程度地方便了開發人員和初學者。
USART HMI編程軟件是一款完全基于C語言的編程環境,并且HMI串口屏是支持觸屏的,不僅如此,HMI串口屏還可以通過插入視頻控件,來播放廣告或者宣傳其他產品。所以本設計采用其代替按鍵和其他顯示屏的顯示工作。首先第一步是界面的布局,打開USART HMI軟件通過在工具欄添加對應的文本框、按鈕、圖片、二維碼、音頻和視頻等多種組態控件,該系統總共制作了3個頁面,分別是選擇存取件頁面、取件頁面、存件頁面。第二步是對HMI串口屏的程序編寫,主控芯片可以通過串口1發送指令來更改HMI串口屏的顯示內容和切換音頻。第三步使用串口下載工具連接到電腦把程序下載到屏幕即可。用戶取件頁面設計如圖4所示。

圖4 用戶取件頁面設計
本設計介紹了結合手機App對儲物柜進行物品的存取操作,在取件和存件時采用智能語音播報的方式提醒用戶,以便在柜門較多的場合下,用戶打開柜門后找不到自己所打開的是那個柜門的問題。經實踐證明該設計可行性高、操作簡單、安全性好、運營成本低等優點,符合目前社會的需求。