周瑞婷,周麟翔,呂坤山,石勝相,牛笑楠
(西北民族大學(xué)電氣工程學(xué)院,甘肅蘭州,730030)
本項目是針對外賣行業(yè)存在的社會問題進(jìn)行研究和解決。共享外賣自提箱可實現(xiàn)恒溫、半導(dǎo)體制冷、支付存餐、指紋開鎖、物聯(lián)網(wǎng)遠(yuǎn)程復(fù)位、榛子云發(fā)短信、攝像頭監(jiān)控、GPS物聯(lián)網(wǎng)遠(yuǎn)程監(jiān)控、太陽能儲能作為備用電源等基本功能,極大程度的方便外賣員和用戶。既可以節(jié)省外賣員的送餐時間,提高效率。又受到用戶的歡迎。隨著嵌入式電子技術(shù)的飛速發(fā)展、電子技術(shù)相關(guān)的產(chǎn)品日益增加。近年來已經(jīng)出現(xiàn)了外賣自提柜,這種外賣自提柜成本比較高,功能相對比較單一?;趥鹘y(tǒng)的存儲箱,本文設(shè)計的共享外賣自提箱可以實現(xiàn)指紋開鎖、物聯(lián)網(wǎng)遠(yuǎn)程復(fù)位、榛子云發(fā)短信、攝像頭監(jiān)控等特色功能。
在系統(tǒng)的控制上,本項目使用的是處理速度更強(qiáng)、硬件資源也比較豐富的STM32系列芯片兩個。其中一個芯片用于對箱子的控制,另外一個STM32芯片用于對系統(tǒng)以及箱子的監(jiān)控。該芯片有5V電壓即可進(jìn)行驅(qū)動,使用十分方便。在軟件編程上,使用C語言進(jìn)行STM32單片機(jī)代碼的編寫,在項目中,使用到STM32單片機(jī)的基本外設(shè)有定時器、串口通信、I2C通信、IO口的復(fù)用等,實現(xiàn)這些功能的前提是熟練掌握STM32系列的微控制器。
本項目設(shè)計的主要目的是要解決外賣行業(yè)在當(dāng)前社會中的一些問題。例如:外賣丟失,外賣錯拿的問題、用戶無法及時取餐,導(dǎo)致外賣員長時間等待、食物質(zhì)量問題等。而共享外賣自提箱可以結(jié)合各類傳感器模塊,解決外賣配送中存在的各種問題。
本系統(tǒng)以共享外賣自提箱為研究對象,該共享外賣自提箱使用兩塊以STM32 Cortex-M4為內(nèi)核的主控芯片,其中包括加熱片、制冷片、指紋識別模塊、GPS模塊、ESP8266模塊、電磁鎖、繼電器、顯示屏模塊、溫濕度傳感器等模塊構(gòu)成一個完整的共享外賣自提箱系統(tǒng),具體硬件系統(tǒng)設(shè)計如圖1所示。
本系統(tǒng)由于要實現(xiàn)共享就需采用 GPS 實現(xiàn)項目的可被定位,安裝攝像頭監(jiān)控,以防丟失及方便管理。同時安裝掃碼支付模塊實現(xiàn)箱子的商業(yè)價值。此外采用 ESP8266 模塊連接阿里云平臺實現(xiàn)微信小程序和阿里云之間的通信以及阿里云和單片機(jī)之間的通信。為了給客戶提供不同存儲環(huán)境的選擇,采用加熱片和隔熱膜實現(xiàn)加熱功能。采用制冷片和小風(fēng)扇以及水泵實現(xiàn)制冷功能,水泵為了給制冷片散熱,小風(fēng)扇為了將冷氣擴(kuò)散。由于系統(tǒng)需要較大的功率,本項目采用家用交流電作為電源,太陽能進(jìn)行儲能作為備用電源,通過逆變電器將儲能 12V 轉(zhuǎn)換為 220V 交流電,使用變電器將 220V 交流電轉(zhuǎn) 12V 直流電對系統(tǒng)進(jìn)行供電,以保證系統(tǒng)的基本工作(不進(jìn)行加熱功能)。此外采用榛子云平臺為外賣員存儲好食物后發(fā)短信給客戶通知其取餐;此外具有矩陣按鍵開鎖功能、物聯(lián)網(wǎng)遠(yuǎn)程復(fù)位為防止卡死以及為外賣員提高開鎖條件;在使用的過程中,同時自提箱內(nèi)安裝 DHT11 溫濕度傳感器做到自動控制溫度,自提柜上 OLED 屏幕會實時顯示溫濕度情況;采用定位系統(tǒng)為自提柜提供了安全保障。采用 ESP8266 模塊與阿里云平臺搭建遠(yuǎn)程控制箱內(nèi)溫度情況;通過繼電器對其電磁鎖進(jìn)行有效的控制,可實現(xiàn)酒精消毒。
2.2.1 電路硬件組成
電路硬件部分由電源輸入部分、鍵盤輸入部分、密碼存儲部分、復(fù)位部分、晶振部分、顯示部分、報警部分、開鎖部分組成。電路整體原理圖如圖2所示。
2.2.2 主控芯片
本設(shè)計采用的主控芯片型號為STM32F103C8T6,芯片自帶三個串口通信的功能可以滿足本設(shè)計的需求,使用串口1對指紋識別的信息進(jìn)行采集處理,使用串口2連接ESP8266連接阿里云物聯(lián)網(wǎng)平臺并上傳數(shù)據(jù),使用串口3進(jìn)行GPS定位模塊的數(shù)據(jù)采集。
2.2.3 GPS模塊
本設(shè)計采用的GPS模塊型號為 ATK1218-BD+IPX線+雙模有源天線,定位芯片為S1216。串口波特率為4800-230400bps,本設(shè)計中采用9600波特率。通信協(xié)議為NMEA-0183,定位精度為2.5m,更新速率為20Hz。原理圖如圖3所示。
2.2.4 指紋識別模塊
本設(shè)計采用的指紋識別模塊型號為AS608光學(xué)指紋識別模塊。芯片內(nèi)置DSP運(yùn)算單元,使用了指紋識別算法,能夠高效地采集指紋圖像信息并識別指紋特征。該模塊采用串口通信,可直接通過串口通信協(xié)議即可控制指紋識別模塊的指紋識別、錄入和刪除等操作。該模塊供電電壓為3.3V,工作電流為60mA以下。
2.2.5 ESP8266WiFi模塊
本設(shè)計采用的ESP8266 WiFi模塊型號為NodeMcu Lua WIFI V3。該模塊的工作電壓為3.3V。模塊內(nèi)部集成MCU能夠通過串口和單片機(jī)進(jìn)行通信。在本設(shè)計中,ESP8266通過AT指令連接阿里云,STM32單片機(jī)通過串口和ESP8266連接,通過程序編寫將ESP連接阿里云所需要的AT資料發(fā)送到ESP。從而使得ESP連接到阿里云物聯(lián)網(wǎng)平臺并與STM32單片機(jī)通信進(jìn)行數(shù)據(jù)的傳輸。原理圖如圖4所示。
2.2.6 藍(lán)牙模塊
本設(shè)計采用的藍(lán)牙模塊型號為HC-08的低功率藍(lán)牙。該模塊的工作電壓為5V。HC-08藍(lán)牙采用的通信協(xié)議是Bluetooth SpecificationV4.0 BLE藍(lán)牙協(xié)議。設(shè)計中STM32單片機(jī)通過串口對HC-08進(jìn)行控制。無線工作的頻段為2.4GHz,使用的通信調(diào)制為GFSK。模塊可以實現(xiàn)70~90 m的遠(yuǎn)距離傳輸數(shù)據(jù)。
本項目設(shè)計過程中使用到很多傳感器模塊,對于不同的模塊有不同的通信協(xié)議,所以在IO復(fù)用時需要對各個模塊的IO口在STM32上進(jìn)行合理分配。
由于不同的傳感器的工作電壓不相同,制冷片、加熱片等需要12V電壓。指紋識別、溫濕度傳感器等需要5V電壓。顯示屏等需要3.3V電壓。本項目系統(tǒng)供電采用220V的家用交流電作為電源,使用太陽能采集、電池儲能、逆變器轉(zhuǎn)換等過程產(chǎn)生220V交流電作為備用電源。之所以選擇家用交流電作為電源,是因為一般的鋰電池沒法滿足系統(tǒng)功率的需要。通過變壓器將220V交流電轉(zhuǎn)換為12V直流電。經(jīng)過穩(wěn)壓模塊引出3路電壓,分別為12V、5V和3.3V的電壓供系統(tǒng)模塊使用。電路設(shè)計如圖5所示。
STM32單片機(jī)使用的編程語言是C語言,使用的編譯器是Keil。程序在編寫過程中使用模塊化編程,把不同模塊的初始化及驅(qū)動過程函數(shù)封裝在不同的.c文件中,在main.c文件中的主函數(shù)只實現(xiàn)調(diào)用的過程,不同文件中函數(shù)的調(diào)用通過對相應(yīng).h文件的引用來實現(xiàn)。
STM32程序設(shè)計相當(dāng)?shù)暮唵?,等待外賣員掃碼支付然后進(jìn)行通電。等待微信小程序密碼、環(huán)境選擇命令。若沒有接收到正確的命令,則繼續(xù)等待;若接收到密碼、環(huán)境選擇等命令,則開鎖并打開加熱片或者制冷片執(zhí)行工作。隨后關(guān)門。等待用戶取餐,當(dāng)有按鍵輸入,觸發(fā)密碼確認(rèn),判斷密碼是否正確,如正確,開鎖取餐。關(guān)閉系統(tǒng)工作狀態(tài)。程序流程圖如圖6所示。
微信小程序是外賣員存餐的直接顯示窗口,由HTML5+ CSS+Javascript開發(fā),外賣員可以在微信小程序中輸入用戶姓名電話等信息,可自動發(fā)送密碼短信。
微信小程序中共有三個頁面,第一個頁面為微信小程序連接榛子云平臺,通過輸入手機(jī)號可自動生成密碼并發(fā)送短信。第二個頁面是連接阿里云平臺,通過阿里云中的數(shù)據(jù)云流轉(zhuǎn)和STM32組成的下位機(jī)相連接,主要顯示STM32采集到的溫度值。第三個頁面為藍(lán)牙界面開發(fā),具有下發(fā)數(shù)據(jù)給共享外賣自提箱系統(tǒng)的功能。并帶有數(shù)據(jù)發(fā)送格式提示。微信小程序界面如圖7所示。
本項目采用的是阿里云平臺進(jìn)行開發(fā)。創(chuàng)建阿里云賬號,進(jìn)入物聯(lián)網(wǎng)平臺創(chuàng)建產(chǎn)品、設(shè)備等信息得到ProductKey、DeviceName、DeviceSecret。并利用MQTT編程工具產(chǎn)生單片機(jī)連接阿里云所需的基本信息。STM32通過AT指令把基本信息上傳,將ESP8266連接至阿里云并上傳溫度數(shù)據(jù)至阿里云服務(wù)器。阿里云服務(wù)器接收到數(shù)據(jù)之后通過云流轉(zhuǎn)將數(shù)據(jù)發(fā)送到微信小程序。同時,項目中涉及的物聯(lián)網(wǎng)遠(yuǎn)程復(fù)位技術(shù)是通過阿里云自帶APP開發(fā)設(shè)置一個按鈕并關(guān)聯(lián)設(shè)備服務(wù)數(shù)據(jù)下發(fā)到STM32單片機(jī),阿里云服務(wù)器接收到APP的數(shù)據(jù)后,把接收到的數(shù)據(jù)轉(zhuǎn)發(fā)到ESP8266模塊ESP8266對接收到的數(shù)據(jù)進(jìn)行處理,轉(zhuǎn)換為相對應(yīng)的控制信號,控制芯片的復(fù)位。物聯(lián)網(wǎng)連接架構(gòu)圖如圖8所示。
其中,M2M是機(jī)器對機(jī)器(Machine-To-Machine)通信簡稱。目前,M2M重點(diǎn)在于機(jī)器對機(jī)器的無線通信,存在以下三種方式:機(jī)器對機(jī)器,機(jī)器對移動電話(如用戶遠(yuǎn)程監(jiān)視),移動電話對機(jī)器(如用戶遠(yuǎn)程控制)。
文中設(shè)計通過將嵌入式技術(shù)、太陽能儲能技術(shù)、物聯(lián)網(wǎng)技術(shù)、半導(dǎo)體制冷技術(shù)、榛子云發(fā)短信技術(shù)、指紋識別技術(shù)等相結(jié)合,使用STM32單片機(jī)作為主控板,制作一套兼具智能性和實用性的共享外賣自提箱。解決了目前外賣行業(yè)存在的外賣錯拿等問題。從而為外賣員和用戶帶來新的使用體驗。