林镕,王世強,江濤,駱江懷,陳也,李婷
(中南林業(yè)科技大學(xué)涉外學(xué)院,湖南 長沙 410000)
隨著中國國力日益強大、國民消費水平不斷提高,商場作為提供綜合性消費服務(wù)的購物中心,應(yīng)積極思考如何更好地服務(wù)消費者,在帶給消費者更好地消費體驗的同時,也增加自身的客流和業(yè)績。然而在人流眾多的大型商場,排隊現(xiàn)象經(jīng)常出現(xiàn),特別是節(jié)假日期間,稍好的餐廳排隊已是常態(tài),這給消費者帶來不好的消費體驗。為改善這種狀態(tài),本系統(tǒng)采用STC89C52單片機作為主控芯片及紅外對管等器件設(shè)計與開發(fā)一個基于紅外實時人數(shù)采集的商場商戶實時營業(yè)狀態(tài)查詢系統(tǒng)[1-2]。本系統(tǒng)采用紅外傳感器采集商場各商戶的人流信息,經(jīng)單片機處理與分析后上傳至服務(wù)器,提供給微信小程序(“去哪嗨”)使用。通過微信小程序(“去哪嗨”),消費者可以實時查看各商戶營業(yè)狀態(tài),還可以結(jié)合程序提供的各商戶基本信息與消費者評價快速決定去哪消費,并能實時預(yù)約和評價所選擇的商戶,從一定程度上減少消費者的排隊時間。
本系統(tǒng)由STC89C52單片機、紅外對管裝置、數(shù)據(jù)庫服務(wù)器以及小程序組成。將兩對紅外對管裝置安裝在商戶的門口內(nèi)外,由紅外對管裝置所采集到的數(shù)據(jù)信息傳輸至單片機,數(shù)據(jù)經(jīng)單片機處理后再上傳至服務(wù)器,最后通過微信小程序進行相關(guān)數(shù)據(jù)調(diào)用。根據(jù)設(shè)計的需要,本系統(tǒng)的硬件電路主要分為以下幾個模塊:單片機主控電路、紅外對管發(fā)射和接收電路、顯示電路以及信號濾波及放大電路等。主程序編程用以實現(xiàn)紅外對管計數(shù)、所采集數(shù)據(jù)的顯示以及數(shù)據(jù)的處理等功能。本系統(tǒng)設(shè)計的原理結(jié)構(gòu)圖如圖1所示。
圖1 系統(tǒng)原理結(jié)構(gòu)圖
STC89C52單片機作為本系統(tǒng)的主控芯片,用于控制紅外對管對進出人數(shù)的采集、計數(shù)、數(shù)據(jù)轉(zhuǎn)換及無線收發(fā)。整個系統(tǒng)的硬件電路主要分為以下幾個模塊:
本系統(tǒng)使用的是STC89C52單片機最小系統(tǒng),該芯片由時鐘電路、復(fù)位電路及電源電路構(gòu)成一個基本應(yīng)用系統(tǒng)。時鐘電路的主要器件為晶振,晶振使用11.0592MHz或者使用12MHz,便于定時,晶振電路還包括起振電容,一般起振電容為10pF-30pF,離晶振較近。復(fù)位電路的復(fù)位端接單片機的9引腳,接入高電平進行復(fù)位,復(fù)位持續(xù)時間由單片機復(fù)位電路所接的電阻和電容的大小決定。為避免程序燒入單片機出現(xiàn)故障,單片機還提供穩(wěn)定的電源電路。本系統(tǒng)使用單片機STC89C52單片機最小系統(tǒng)能完成所需要的電路控制和計算要求。
圖2 單片機最小系統(tǒng)
為了判斷人員進出狀態(tài),本系統(tǒng)使用了兩對對射式紅外傳感器。兩對紅外傳感器分別安裝在商戶的門口內(nèi)外兩側(cè),每一對紅外對管位于同一水平線上,安裝高度約為1m,安裝時要求兩對紅外對管水平間距約為30cm。當有人從室外進入室內(nèi)或由室內(nèi)到室外時,由于兩組紅外對管輸出的高電平信號時間有所間隔,故以此來判斷人們的進出[3]。紅外對管安裝如圖3所示。
圖3 紅外對管安裝示意圖
第一種情況:在無人經(jīng)過門口時,兩組紅外傳感器的接收端均為低電平,計數(shù)保持不變。
第二種情況:當有人進入室內(nèi)時,門外A先變?yōu)楦唠娖?,門內(nèi)B之后再變?yōu)楦唠娖?,單片機人數(shù)計數(shù)加1;當有人要從室內(nèi)出去時,門內(nèi)B先變?yōu)楦唠娖?,門外A再變?yōu)楦唠娖?,那么人?shù)減1。
還有一種情況較為復(fù)雜:當有人在門口停留時,若人在門外,門外A變?yōu)楦唠娖?,門內(nèi)B等待0.5s后狀態(tài)無變化,單片機延時等待,此時若門外A變?yōu)榈碗娖蕉T內(nèi)B的狀態(tài)未發(fā)生改變,則不計數(shù);若門外A變?yōu)榈碗娖胶?,而門內(nèi)B變?yōu)榱烁唠娖?,則計數(shù)加1。當人在室內(nèi)時,情況與之相反[4-5]。紅外對管計數(shù)控制如圖4所示。
圖4 傳感器計數(shù)控制
本系統(tǒng)仿真過程中采用按鍵來模擬人員進出情況,圖6為按鍵模擬人的進/出狀態(tài)。本系統(tǒng)按鍵連接單片機的P2.2引腳、P2.3引腳和P2.4引腳,其中P2.2引腳為設(shè)置鍵,當經(jīng)過P2.3引腳和P2.4引腳傳輸數(shù)據(jù)到單片機時,進行人數(shù)的加減,單片機P3.0引腳為傳輸數(shù)據(jù)的輸出端,P3.1引腳為傳輸數(shù)據(jù)的輸入端,當經(jīng)過P3.1引腳接收到數(shù)據(jù)時,數(shù)據(jù)經(jīng)過處理,發(fā)送到接收數(shù)據(jù)的端口,并且將接收到的數(shù)據(jù)轉(zhuǎn)換成數(shù)字信號,再將處理過的數(shù)字信號經(jīng)單片機的P3.0引腳在LCD液晶顯示屏上面顯示。
圖5 按鍵模擬人的進/出狀態(tài)
計數(shù)顯示部分由單片機STC89C52控制完成。顯示部分通過LCD1602顯示屏顯示,如圖6所示。
圖6 LCD 顯示模塊
當紅外傳感器檢測到有人經(jīng)過時,這個信號將供給單片機計數(shù)控制[6]。單片機計數(shù)程序設(shè)計流程圖如圖7所示。
圖7 計數(shù)程序設(shè)計流程圖
兩對紅外對管采集所得數(shù)據(jù),經(jīng)過信號濾波放大編碼后無線發(fā)送至單片機處理,然后經(jīng)由4G模組上傳至服務(wù)器,再通過微信小程序進行相關(guān)數(shù)據(jù)調(diào)用[7]。圖8為數(shù)據(jù)傳輸流程圖。
圖8 數(shù)據(jù)傳輸流程圖
4G模塊的控制是通過51單片機利用串口發(fā)送at命令來實現(xiàn)的,單片機收集到的從紅外傳感器來的數(shù)據(jù)則通過串口傳輸至4G模塊,4G模塊將其收到的信息即單片機數(shù)據(jù)通過http協(xié)議傳送至私人建立的云服務(wù)器,數(shù)據(jù)庫再與云服務(wù)器進行數(shù)據(jù)的讀取與儲存往來,用戶通過與服務(wù)器的交互獲取需要的數(shù)據(jù)[8]。
通過寫一個服務(wù)端web應(yīng)用程序,提供https接口讓小程序調(diào)用,這個應(yīng)用程序可操作本地數(shù)據(jù)庫。然后在微信小程序上通過wx.request http請求來進行訪問,在這個上面,通常用到的會有g(shù)et和post兩個協(xié)議。通過訪問服務(wù)器上所部署的預(yù)處理語言PHP,服務(wù)器將會使用ws來處理得到的數(shù)據(jù),并返回結(jié)果,再預(yù)處理PHP的內(nèi)容,根據(jù)得到的數(shù)據(jù)庫傳遞的參數(shù)對小程序進行操作。小程序訪問數(shù)據(jù)庫服務(wù)端的參數(shù)設(shè)置如圖9所示。
圖9 小程序訪問服務(wù)端參數(shù)設(shè)置
小程序頁面主要由以下三個文件構(gòu)成:
(1)HTML文件:小程序的標簽代碼文件,使用了index.html和ys.html兩個標簽文件,index.html是主標簽文件,包含了整個小程序頁面的整體,采用多個盒子標簽,包含了多個商業(yè)logo代碼。ys.html是從文件,只包含了CSS樣式文件。
(2)CSS文件:小程序的樣式代碼文件,包含了整個body和box的寬、高以及背景顏色等樣式,并設(shè)置img和img.Hover(圖片樣式和圖片被點擊后的樣式)。
(3)JS文件:小程序的邏輯代碼文件,使原本靜態(tài)的頁面可以“動”起來,實現(xiàn)網(wǎng)頁交互以及跳轉(zhuǎn)功能,里面包含了整個小程序的網(wǎng)頁跳轉(zhuǎn)的鏈接代碼和小程序的邏輯代碼。
本系統(tǒng)通過紅外對管能夠較穩(wěn)定、準確地實時監(jiān)測到商戶人流信息,用戶還可通過微信小程序?qū)崟r查詢各商戶基本信息和客流,并進行預(yù)約和評價選擇消費的商戶。在人流量大的大型商場,能夠?qū)崟r為消費者提供客流及商戶基本信息,能有效提升消費者消費體驗,有利于提升人們的滿足感和幸福感,所以本商戶實時經(jīng)營狀態(tài)查詢系統(tǒng)的設(shè)計與開發(fā)會給人們生活提供方便,有利于創(chuàng)建和諧美好家園。