劉林真
(陽光學(xué)院,福建 福州 350015)
菜市場(chǎng),即農(nóng)貿(mào)市場(chǎng),是指在城鄉(xiāng)設(shè)立的可以進(jìn)行自由買賣農(nóng)副產(chǎn)品的市場(chǎng)[1].傳統(tǒng)的菜市場(chǎng)經(jīng)營模式一般是這樣的:菜市場(chǎng)商戶通過租賃一個(gè)攤點(diǎn),批發(fā)各種各樣的菜品零售賣給消費(fèi)者,賺取差價(jià).哪種菜品賣得好,賺得多,哪種菜品在銷售過程中重量會(huì)縮減,以及縮減比例是多少,這些問題都得靠菜場(chǎng)商戶靠經(jīng)驗(yàn)得知,有些菜場(chǎng)商戶為了更好統(tǒng)計(jì),在菜品售賣過程中還用紙張進(jìn)行記錄,但在菜場(chǎng)高峰期,這會(huì)讓菜場(chǎng)商戶手忙腳亂,而且還經(jīng)常因?yàn)橛涗洸煌暾麑?dǎo)致數(shù)據(jù)統(tǒng)計(jì)失敗.菜場(chǎng)商戶的上層就是供應(yīng)商,供應(yīng)商從菜農(nóng)、漁民那邊收購蔬菜,水果以及生鮮等食品,然后將收購來的食品賣給菜市場(chǎng)商戶等.通常供應(yīng)商要收購多少量更多也是取決于自己的經(jīng)驗(yàn).
綜上是菜市場(chǎng)目前的經(jīng)營現(xiàn)狀,菜場(chǎng)經(jīng)營不合理的主要原因是無法得到準(zhǔn)確的菜品銷售記錄.如果菜場(chǎng)商戶能夠準(zhǔn)確得到每天售賣的菜品記錄,對(duì)售賣的菜品數(shù)據(jù)進(jìn)行處理,就能夠得到損耗、盈利、庫存等信息,供應(yīng)商根據(jù)該信息,就清楚他對(duì)應(yīng)的零售商的庫存,清楚收購量.
針對(duì)計(jì)價(jià)和售賣物品問題,本系統(tǒng)提供如下解決方案:設(shè)計(jì)一款智慧電子秤,該電子秤具有傳統(tǒng)電子秤[2]的各種功能,同時(shí),增加WIFI模塊[3],將每一筆銷售記錄(菜品編號(hào),重量,價(jià)格、時(shí)間)傳送出去,考慮到菜場(chǎng)一般沒有電腦,先將數(shù)據(jù)傳至Android手機(jī)端[4],數(shù)據(jù)到達(dá)手機(jī)后,通過SQlite數(shù)據(jù)庫[5]進(jìn)行存儲(chǔ),并同步到服務(wù)器端數(shù)據(jù)庫,在PC端開發(fā)應(yīng)用程序,接收手機(jī)傳送過來的打包好的數(shù)據(jù),對(duì)數(shù)據(jù)進(jìn)行統(tǒng)計(jì)、查詢,讓商戶明明白白看到自己的經(jīng)營狀況,看到自己的盈利,看到某種菜品出售的情況,對(duì)供應(yīng)商的及時(shí)補(bǔ)貨以及數(shù)據(jù)統(tǒng)計(jì)提供了依據(jù).
本系統(tǒng)主要包含三個(gè)部分:
硬件部分(電子秤):硬件部分的電子秤具有普通電子秤計(jì)量精準(zhǔn)等特點(diǎn),具有確定單價(jià)、總價(jià)、累計(jì)、去皮等功能;能通過WIFI將每一筆銷售記錄傳送至手機(jī)端;能通過手機(jī)端進(jìn)行菜品單價(jià)的修改;除了將銷售記錄實(shí)時(shí)傳輸?shù)绞謾C(jī)端,同時(shí)能存儲(chǔ)到單片機(jī)ERPOM中,即電子秤可記錄,防止因手機(jī)故障收不到數(shù)據(jù)而導(dǎo)致數(shù)據(jù)統(tǒng)計(jì)失敗.
手機(jī)端:手機(jī)端部分有菜場(chǎng)商戶和供應(yīng)商兩種角色,菜場(chǎng)商戶能實(shí)現(xiàn)的功能包括:實(shí)時(shí)顯示銷售情況,查詢某菜品在某時(shí)間段的銷售情況;能修改菜品單價(jià)并同步到電子秤;能將銷售記錄同步到服務(wù)器數(shù)據(jù)庫;供應(yīng)商能追蹤屬于他們的菜場(chǎng)商戶的菜品庫存,并根據(jù)庫存總量自動(dòng)提醒是否補(bǔ)貨等.
PC端:設(shè)計(jì)基于B/S[6]的供貨管理系統(tǒng),本系統(tǒng)分為三個(gè)角色:管理員角色、零售商角色、批發(fā)商角色.其中管理員可進(jìn)行零售商、批發(fā)商的常規(guī)管理(添加、刪除等);零售商可進(jìn)行菜品入庫管理、查詢庫存,銷售統(tǒng)計(jì),庫存不足等提醒;批發(fā)商可進(jìn)行所屬零售商的管理,查詢零售商各菜品剩余情況,所出售菜品的統(tǒng)計(jì).系統(tǒng)架構(gòu)圖如圖1所示:
圖1 系統(tǒng)架構(gòu)圖Fig.1 System architecture diagram
電子秤硬件部分主要由STC89C52單片機(jī)作為主控制CPU,包括稱重模塊,AD轉(zhuǎn)換模塊,矩陣鍵盤、液晶顯示模塊,WIFI模塊.圖2為系統(tǒng)設(shè)計(jì)原理框圖.
圖2 系統(tǒng)設(shè)計(jì)原理框圖Fig.2 Schematic block diagram of the system
TC89C52單片機(jī)是一種功耗低性能高的微控制器,對(duì)一般轉(zhuǎn)換速率的電路都能勝任.本設(shè)計(jì)使用電阻應(yīng)變式稱重傳感器,它由彈性敏感原件和轉(zhuǎn)換原件組成,先用彈性敏感原件將被測(cè)量物體的重量轉(zhuǎn)換為彈性體的應(yīng)變量,然后再以轉(zhuǎn)換原件即電阻應(yīng)變計(jì)將彈性體的應(yīng)變值轉(zhuǎn)換為適于傳輸和測(cè)量的電阻值輸出.HX711是一款高精度24位A/D轉(zhuǎn)換器芯片[7],它的抗干擾能力較強(qiáng),還有較高的集成度和較快的響應(yīng)速度都適用于電子秤.ESP8266是一款專為移動(dòng)設(shè)備或是物聯(lián)網(wǎng)應(yīng)用設(shè)計(jì)的高度片內(nèi)集成的低功耗芯片[8],該模塊主要可以實(shí)現(xiàn)三個(gè)主要功能,即串口透?jìng)?、PWM調(diào)控、GPIO控制,本設(shè)計(jì)主要使用串口透?jìng)鞴δ?液晶屏選用帶有中文字庫的LCD12864(2片)來顯示.
硬件部分的程序采用keil uvision4開發(fā)環(huán)境.主要完成以下程序:
(1)按鍵掃描子程序:通過檢測(cè)按鍵是否按下,來實(shí)現(xiàn)其相應(yīng)的功能.主要包括去皮、累計(jì)、撤銷、部分買家買多種菜品又臨時(shí)撤銷某種菜品等常用的功能.
(2)AD轉(zhuǎn)換程序:通過采集稱重模塊得到的數(shù)據(jù),對(duì)數(shù)據(jù)進(jìn)行放大增益128dB,實(shí)現(xiàn)去毛皮和稱重功能.
(3)顯示模塊程序:能顯示菜品名稱、菜品單價(jià)、菜品重量以及總價(jià)等.
(4)WIFI程序:通過定義指令,設(shè)置WIFI模塊的工作模式、路由、連接方式、服務(wù)器監(jiān)聽端口號(hào)來配置局域網(wǎng),然后使用串口中斷,來實(shí)現(xiàn)整個(gè)WLAN的運(yùn)行.
硬件部分主程序流程如圖3所示.
圖3 主程序流程圖Fig.3 Main-program flow diagram
手機(jī)端的程序采用E4A(易安卓)軟件進(jìn)行開發(fā),本地?cái)?shù)據(jù)庫采用SQLite,APP提供給批發(fā)商和菜場(chǎng)商戶兩種角色使用.手機(jī)端APP系統(tǒng)功能結(jié)構(gòu)如圖4所示.
圖4 手機(jī)端APP系統(tǒng)功能結(jié)構(gòu)圖Fig.4 Function structure diagram of APP
(1)系統(tǒng)設(shè)置:使用系統(tǒng)前需要先配置服務(wù)器端與下位機(jī)端的相關(guān)信息.
(2)用戶登錄:登錄后,系統(tǒng)根據(jù)登錄用戶角色的不同提供了不同的操作界面.
(3)我的菜品管理:菜場(chǎng)商戶使用該模塊從服務(wù)器端刷新所配置的菜品、按鍵、單價(jià)信息并存儲(chǔ)到手機(jī)端的SQLite數(shù)據(jù)庫中,并同步到電子秤下位機(jī)中,并可隨時(shí)進(jìn)行價(jià)格的修改等.
(4)銷售記錄管理:手機(jī)端APP通過WIFI模塊與電子秤下位機(jī)連接,實(shí)時(shí)接收下位機(jī)上傳的銷售記錄,并同步上傳到服務(wù)器端,供用戶進(jìn)行查詢,統(tǒng)計(jì).
(5)我的零售商查詢:批發(fā)商可以查詢關(guān)聯(lián)的菜場(chǎng)商戶信息.
(6)庫存查詢:批發(fā)端可以查看菜場(chǎng)商戶的庫存信息,查詢某種菜品的庫存信息,APP能實(shí)時(shí)監(jiān)測(cè)菜場(chǎng)商戶的庫存報(bào)警,并根據(jù)庫存提醒是否自動(dòng)補(bǔ)貨.
(7)百度定位[9]:零售商會(huì)將市場(chǎng)位置通過百度定位傳到服務(wù)器端,供應(yīng)商可以確定所屬的零售商的地理位置,為配送地點(diǎn)以及配送服務(wù)提供幫助.
PC端的程序采用Visual Studio 2010工具[10]進(jìn)行開發(fā),使用ASP.NET技術(shù),開發(fā)語言為C#,系統(tǒng)數(shù)據(jù)庫采用Microsoft SQL Server 2008 R2,通過對(duì)菜市場(chǎng)菜品管理的需求分析,系統(tǒng)需要具備以下的幾個(gè)基本功能:
(1)由于菜市場(chǎng)商戶對(duì)電腦的操作能力不高,要求有良好的人機(jī)界面.
(2)能夠?qū)Σ似返匿N售情況、進(jìn)貨情況、菜品和人員情況進(jìn)行管理.
(3)能夠?qū)?shù)據(jù)庫中已經(jīng)存儲(chǔ)的菜品相關(guān)信息進(jìn)行修改、查詢操作.
(4)有簡(jiǎn)單的統(tǒng)計(jì)計(jì)算功能.
(5)統(tǒng)計(jì)功能中的數(shù)據(jù)由系統(tǒng)自動(dòng)計(jì)算,減少認(rèn)為的干擾因素.
PC端系統(tǒng)功能結(jié)構(gòu)圖如圖5所示:
具體功能模塊如下:
(1)用戶登錄:登錄后,系統(tǒng)根據(jù)登錄用戶角色的不同提供了不同的菜單供用戶使用.
(2)管理員功能模塊:管理員使用該模塊進(jìn)行系統(tǒng)管理(角色管理,用戶管理,菜單管理和數(shù)據(jù)備份)和基礎(chǔ)設(shè)置(零售商管理,批發(fā)商管理,菜品管理和菜品查詢).
(3)零售商功能模塊
①零售商首先進(jìn)行我的菜品管理,根據(jù)需要配置自己希望在電子秤上需要售賣的菜品、價(jià)格以及按鍵編號(hào)位置,實(shí)現(xiàn)電子秤的可移植性.
②通過菜品入庫進(jìn)行菜品初始庫存的添加.
③零售商在通過手機(jī)APP將電子秤下位機(jī)的實(shí)時(shí)銷售記錄上傳至服務(wù)器并自動(dòng)更新庫存后,可以通過銷售記錄查詢模塊按時(shí)間、菜品等進(jìn)行銷售記錄的查詢統(tǒng)計(jì)并生成統(tǒng)計(jì)圖表,通過圖表直觀地了解各階段的銷售情況,以方便零售商調(diào)整銷售方式.
④可以查詢庫存量信息,批發(fā)商信息等,為零售商進(jìn)行補(bǔ)貨提供可靠數(shù)據(jù)依據(jù).
(4)批發(fā)商功能模塊
①批發(fā)商可以查詢關(guān)聯(lián)的菜場(chǎng)商戶信息,添加或移除關(guān)聯(lián)商戶信息.
②實(shí)時(shí)查看關(guān)聯(lián)的菜場(chǎng)商戶菜品庫存信息,及時(shí)提供補(bǔ)貨支持.
③根據(jù)銷售信息了解菜品需求,為其向農(nóng)戶進(jìn)貨提供數(shù)據(jù)支持[11].
④根據(jù)百度地圖搜索零售商菜場(chǎng)位置,為配送地點(diǎn)以及配送服務(wù)提供幫助.
圖5 PC端網(wǎng)站功能結(jié)構(gòu)圖Fig.5 Website Function structure diagram of PC part
本系統(tǒng)包含服務(wù)器端及手機(jī)端兩個(gè)數(shù)據(jù)庫,其中服務(wù)器端數(shù)據(jù)庫采用 MS SQL Server,手機(jī)端采用SQLite本地?cái)?shù)據(jù)庫.手機(jī)端數(shù)據(jù)庫中的表是服務(wù)器端數(shù)據(jù)庫中的部分表,用于在無網(wǎng)絡(luò)情況下存儲(chǔ)臨時(shí)信息,在聯(lián)網(wǎng)環(huán)境下同步到服務(wù)器端數(shù)據(jù)庫.
數(shù)據(jù)庫設(shè)計(jì)是構(gòu)建供應(yīng)管理系統(tǒng)的首要任務(wù),設(shè)計(jì)過程主要分為需求分析、概念結(jié)構(gòu)設(shè)計(jì)、邏輯結(jié)構(gòu)設(shè)計(jì)、物理結(jié)構(gòu)設(shè)計(jì)、數(shù)據(jù)庫實(shí)施、數(shù)據(jù)庫運(yùn)行和維護(hù)六個(gè)階段[12].本文主要從概念結(jié)構(gòu)設(shè)計(jì)、邏輯結(jié)構(gòu)設(shè)計(jì)說明本系統(tǒng)數(shù)據(jù)庫設(shè)計(jì)的內(nèi)容.
E-R模型圖是概念結(jié)構(gòu)設(shè)計(jì)中最常用的建模工具.本系統(tǒng)全局E-R模型如圖6所示.
圖6 全局E-R模型圖Fig.6 Global E-R Model
通過概念模型到邏輯模型的轉(zhuǎn)化,設(shè)計(jì)出如下關(guān)系模式.其中服務(wù)器端數(shù)據(jù)庫包含角色菜單表(Sys-RoleMenu),菜品分類表(SysDept),批發(fā)商信息表(PFSInfo),零售商信息表(LSSInfo),我的菜品表(MyGoods),我的零售商表(MyLSS),入庫表(RuKu-Record),出庫記錄表(ChuKuJiLu)等.其部分關(guān)系模式如下所示:
系統(tǒng)用戶表(編號(hào),用戶編號(hào),密碼,姓名,角色編號(hào),用戶狀態(tài));
菜品分類表(編號(hào),分類編號(hào),分類名稱,排序序號(hào),上級(jí)分類編號(hào),菜品編號(hào));
我的菜品表(編號(hào),用戶賬戶,菜品編號(hào),單價(jià),是否同步,按鍵編號(hào),庫存 );
我的零售商表(編號(hào),批發(fā)商編號(hào),零售商編號(hào));
出庫記錄表(編號(hào),用戶賬戶,菜品編號(hào),單價(jià),重量,銷售時(shí)間,總價(jià));
入庫表(編號(hào),用戶賬戶,菜品編號(hào),入庫單價(jià),重量,入庫時(shí)間,總價(jià),批發(fā)商編號(hào),備注).
手機(jī)端數(shù)據(jù)庫包含系統(tǒng)配置表(SysConfig),我的菜品表(MyGoods),銷售記錄表(ChuKuJiLu)和我的零售商表(MyLSS),各表結(jié)構(gòu)如下表1至表4所示:
表1 SysConfig表Table 1 SysConfig figure
表2 MyGoods表Table 2 MyGoods figure
表3 ChuKuJiLu表Table 3 ChuKuJiLu figure
表4 MyLSS表Table 4 MyLSS figure
本系統(tǒng)使用過程如下:菜場(chǎng)商戶購買電子秤時(shí),即可在第一次通過PC端應(yīng)用程序?qū)ψ约菏圪u的菜品進(jìn)行編號(hào),對(duì)應(yīng)電子秤上的按鍵,同時(shí)對(duì)菜品單價(jià)進(jìn)行設(shè)置,一次同步數(shù)據(jù)即可,隨后菜場(chǎng)商戶就像使用普通電子秤一樣使用該智慧電子秤,除了可以手動(dòng)輸入價(jià)格外,也可以通過按鍵編號(hào)自動(dòng)給出菜品單價(jià),并將銷售的數(shù)據(jù)同步到手機(jī)端和電腦端.該系統(tǒng)的硬件部分如圖7所示.
部分手機(jī)端運(yùn)行界面如圖8所示.該圖展示了手機(jī)端零售商角色的主要功能:實(shí)時(shí)更新銷售記錄,查看自己的菜品,修改菜品單價(jià).
圖7 電子秤硬件圖Fig.7 Electronic scale hardware diagram
圖8 手機(jī)端截圖Fig.8 Mobile phone screenshot
部分PC端運(yùn)行界面如圖9所示.該圖展示了PC端零售商角色的主要功能:實(shí)時(shí)更新庫存,并設(shè)置閾值,當(dāng)庫存小于閾值時(shí),記錄變成紅色并提示零售商是否需要補(bǔ)貨.
圖9 PC端截圖Fig.9 PC part screenshot
經(jīng)過測(cè)試,本系統(tǒng)實(shí)現(xiàn)功能完整,稱重精度高,數(shù)據(jù)傳送過程不丟包,數(shù)據(jù)庫設(shè)計(jì)正確,能實(shí)現(xiàn)各功能,測(cè)試結(jié)果滿意.
根據(jù)調(diào)查,本系統(tǒng)在現(xiàn)有市場(chǎng)上是首個(gè)用手機(jī)APP支持電子秤的數(shù)據(jù)傳輸,使得產(chǎn)品操作更加簡(jiǎn)便.可在手機(jī)對(duì)數(shù)據(jù)進(jìn)行存儲(chǔ)、處理等.也可在手機(jī)上對(duì)各種菜品單價(jià)進(jìn)行輸入,可導(dǎo)入到電子秤上.對(duì)于文化水平可能相對(duì)較弱的菜市場(chǎng)商戶來說操作簡(jiǎn)單,更可以隨時(shí)隨地查看售賣等情況.
首個(gè)利用大數(shù)據(jù)[13]將供應(yīng)商和商戶數(shù)據(jù)整合起來.供貨商可以實(shí)時(shí)看見庫存,以及菜市場(chǎng)商戶的各種菜品的售賣情況.供應(yīng)商可以綜合現(xiàn)有庫存以及菜市場(chǎng)商戶的售賣情況更加準(zhǔn)確地得到消費(fèi)者的需求,減少因判斷市場(chǎng)需求錯(cuò)誤而帶來的損失.商戶可以根據(jù)供應(yīng)商售賣的量的大小可以判斷供應(yīng)以及價(jià)格的走向.結(jié)合起來的大數(shù)據(jù)不僅對(duì)供應(yīng)商以及商戶有利,還可以對(duì)菜農(nóng)明年種植什么以及收成時(shí)間提供有力的參考價(jià)值.
隨著現(xiàn)代化的發(fā)展以及“互聯(lián)網(wǎng)+”的推進(jìn),某些城市已經(jīng)建成智慧菜場(chǎng),智慧菜場(chǎng)通過前期布線將線上支付、數(shù)據(jù)的統(tǒng)計(jì)等等的功能都加入到傳統(tǒng)菜市場(chǎng)中,適當(dāng)?shù)慕鉀Q了數(shù)據(jù)統(tǒng)計(jì)等的問題.但是成本高,而且線上支付、掃碼等功能并不適用于老年人居多的傳統(tǒng)菜場(chǎng).智慧菜場(chǎng)需要更多時(shí)間的考驗(yàn)[14-15].
本系統(tǒng)從商戶角度去考慮他們的真正需求,將數(shù)據(jù)存儲(chǔ)在云端,讓產(chǎn)品變得更加有意義,減輕商戶的成本壓力問題.供貨商可以推斷到更加準(zhǔn)確地普遍消費(fèi)者的貨品需求,得到食品需求的走向從而預(yù)估今后收購食品的量.本設(shè)計(jì)較智慧菜場(chǎng)更實(shí)用,操作更加簡(jiǎn)便,解決了菜場(chǎng)商戶對(duì)菜品的管理,對(duì)經(jīng)營狀況的了解,同時(shí)能自動(dòng)補(bǔ)貨,極大地減輕了商戶的負(fù)擔(dān),改善了售賣條件.
[1] 王凱偉,涂義美.城區(qū)農(nóng)貿(mào)市場(chǎng)監(jiān)管存在的主要問題及對(duì)策[J].湖南財(cái)政經(jīng)濟(jì)學(xué)院學(xué)報(bào),2012,28(02):93-98.
[2]孫娜.基于單片機(jī)的便攜式電子秤的設(shè)計(jì)[J].中國科技信息,2012(01):98-100.
[3] 李曉陽.WiFi技術(shù)及其應(yīng)用與發(fā)展[J].信息技術(shù),2012,36(02):196-198.
[4] 蔣紹林,王金雙,張濤,等.Android安全研究綜述[J].計(jì)算機(jī)應(yīng)用與軟件,2012,29(10):205-210.
[5] 馬獲蕾,湯海鳳.Android系統(tǒng)中SQLite數(shù)據(jù)庫的研究[J].電腦知識(shí)與技術(shù),2013,9(28):6243-6245.
[6] 查修齊,吳榮泉,高元鈞.C/S到B/S模式轉(zhuǎn)換的技術(shù)研究[J].計(jì)算機(jī)工程,2014,40(01):263-267.
[7] 劉美娟,張琦,穆遠(yuǎn)威.基于HX711的高精度電子秤的設(shè)計(jì)[J].信息通信,2017(01):142-144.
[8] 范興隆.ESP8266在智能家居監(jiān)控系統(tǒng)中的應(yīng)用[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2016,16(09):52-56.
[9] 劉博,胡飛,陸偉.使用Visual Studio模板和策略來統(tǒng)一和維護(hù)項(xiàng)目的框架結(jié)構(gòu)[J].科學(xué)技術(shù)與工程,2007(13):3133-3135.
[10] 李瑞宣,王山東,徐志遠(yuǎn),等.基于Android平臺(tái)定位系統(tǒng)設(shè)計(jì)和實(shí)現(xiàn)[J].信息技術(shù),2013(12):187-190.
[11] 王小斌.VMCI下供應(yīng)鏈模糊需求信息共享價(jià)值與協(xié)調(diào)[J].系統(tǒng)工程學(xué)報(bào),2013,28(6):795-802.
[12] 陳紅梅.數(shù)據(jù)庫的邏輯結(jié)構(gòu)設(shè)計(jì)[J].福建電腦,2012(10):214-216.
[13] 李學(xué)龍,龔海剛.大數(shù)據(jù)系統(tǒng)綜述[J].中國科學(xué):信息科學(xué),2015,45(01):1-44.
[14] 葉純青.支付寶菜市場(chǎng)普及尚需時(shí)日[J].金融科技時(shí)代,2015,(10):17.
[15] 葉雄杰.基于云存儲(chǔ)的移動(dòng)視頻監(jiān)控系統(tǒng)研究[D].廣東:廣東工業(yè)大學(xué),2011.