張志杰,楊自榮,滕玉東,吳亞聯(lián)
(湘潭大學(xué) 信息工程學(xué)院,湖南 湘潭 411105)
近年來(lái),人們因?yàn)榭旃?jié)奏的生活方式而無(wú)暇顧及自己的飲食,從而養(yǎng)成了一系列不良的飲食習(xí)慣。營(yíng)養(yǎng)過(guò)剩會(huì)導(dǎo)致高血壓、糖尿病等慢性疾病,而營(yíng)養(yǎng)不良又會(huì)影響人體各方面的發(fā)育。據(jù)國(guó)際糖尿病聯(lián)盟(IDF)公布的數(shù)據(jù)顯示,2014年全球共有糖尿病患者3.87億人,而中國(guó)的患者數(shù)量居全球首位,且患病率呈逐年上升趨勢(shì)。可見,雖然我國(guó)的國(guó)民經(jīng)濟(jì)實(shí)力有所發(fā)展,但忽視了身體健康問(wèn)題[1]。從營(yíng)養(yǎng)學(xué)角度出發(fā),合理的膳食結(jié)構(gòu)不但要有充足的能量供應(yīng),同時(shí)也需要足量的維生素和微量元素供給。因此,在日常飲食中,只有注重飲食的合理性以及健康性,才能減少慢性病的發(fā)生,提升工作效率與生活質(zhì)量[2]。
國(guó)內(nèi)已有一些指導(dǎo)人們健康飲食的膳食分析軟件,此類軟件需手動(dòng)輸入一天所吃的食物信息,應(yīng)用不方便,且輸入的數(shù)據(jù)存在較大誤差,導(dǎo)致分析結(jié)果出現(xiàn)偏差。
為了更好地指導(dǎo)人們健康飲食,也為了讓餐飲服務(wù)更好地滿足用餐者的消費(fèi)需求,設(shè)計(jì)開發(fā)了一款以大數(shù)據(jù)為基礎(chǔ)的膳食分析系統(tǒng)。智能餐盤系統(tǒng)利用RFID射頻識(shí)別技術(shù),自動(dòng)獲取用戶的用餐數(shù)據(jù),通過(guò)WiFi模塊將用戶用餐數(shù)據(jù)上傳至OneNet云服務(wù)器,云端軟件自動(dòng)處理用戶的飲食數(shù)據(jù),用戶可在微信小程序中實(shí)時(shí)查看自己的飲食分析結(jié)果,從而進(jìn)一步改善自己的膳食搭配。同時(shí),用戶還可通過(guò)微信小程序[3]向系統(tǒng)餐飲合作服務(wù)方反饋建議,為餐飲服務(wù)方的經(jīng)營(yíng)提供支持。
本系統(tǒng)基于用戶實(shí)際用餐大數(shù)據(jù)完成膳食分析,簡(jiǎn)化膳食評(píng)價(jià)流程,增強(qiáng)膳食分析的可靠性,實(shí)現(xiàn)了膳食分析的智能化。
根據(jù)需求分析,本系統(tǒng)需實(shí)現(xiàn)以下功能:
(1)飲食分析:用戶可知曉用餐的熱量、三大營(yíng)養(yǎng)素、微量元素的攝入情況;
(2)余菜查詢:通過(guò)計(jì)算已售菜品的數(shù)量來(lái)反映食堂余菜量;
(3)飲食周報(bào):每周向用戶發(fā)送一個(gè)飲食周報(bào)(卡路里攝入情況,攝入營(yíng)養(yǎng)素比例,飲食時(shí)間波動(dòng)情況,飲食建議),為用戶下周的飲食提供參考;
(4)飲食定制:根據(jù)用戶的需求,系統(tǒng)提前為用戶提供幾種營(yíng)養(yǎng)菜譜,供用戶選擇;
(5)尚食圈:為用戶提供一個(gè)社交平臺(tái)。
本系統(tǒng)主要由用餐數(shù)據(jù)采集與發(fā)送模塊,云服務(wù)器端數(shù)據(jù)處理模塊和用戶微信小程序模塊組成。其具體設(shè)計(jì)方案如下所示:
(1)用餐數(shù)據(jù)采集與發(fā)送模塊由RC632讀卡器、RC522讀卡模塊、WiFi模塊、12864液晶顯示模塊、LCD液晶顯示屏組成。RC632讀卡器用以采集餐飲數(shù)據(jù);RC522讀卡模塊用以收集用戶身份數(shù)據(jù);WiFi模塊將用戶的餐飲數(shù)據(jù)和身份數(shù)據(jù)發(fā)送至服務(wù)器端;12864液晶顯示模塊和LCD液晶顯示屏分別顯示餐飲數(shù)據(jù)和用戶身份數(shù)據(jù)。
(2)云服務(wù)器端數(shù)據(jù)處理模塊:通過(guò)TCP協(xié)議來(lái)接收用戶餐飲數(shù)據(jù)和用戶身份數(shù)據(jù),在云端處理用戶的數(shù)據(jù),供小程序通過(guò)HTTPS請(qǐng)求獲取數(shù)據(jù)。
(3)用戶微信小程序:用戶可通過(guò)掃描餐桌上的二維碼進(jìn)入小程序,也可在微信中搜索附近的小程序進(jìn)入。小程序中包含有飲食分析、余菜查詢、飲食定制、飲食周報(bào)等功能。
系統(tǒng)總體設(shè)計(jì)如圖1所示。
圖1 系統(tǒng)總體設(shè)計(jì)框圖
系統(tǒng)采用RC632讀卡器模塊。MF RC632是飛利浦公司推出的適用于工作頻率為13.56 MHz的非接觸式智能卡和標(biāo)簽,適用于多種ISO非接觸式標(biāo)準(zhǔn)[4]。其電路原理如圖2所示。
圖2 RC632讀卡器電路原理圖
MF RC522是應(yīng)用于13.56 MHz非接觸式通信中高集成度讀寫卡系列芯片中的一員,是NXP公司針對(duì)“三表”應(yīng)用推出的一款低電壓、低成本、體積小的非接觸式讀寫卡芯片。電路原理如圖3所示。
本系統(tǒng)采用的WiFi模塊為樂(lè)鑫公司設(shè)計(jì)的ESP8266模塊。利用ESP8266 WiFi模塊連接當(dāng)前局域網(wǎng),通過(guò)AT指令根據(jù)服務(wù)器的IP和端口連接服務(wù)器。之后傳輸用戶身份數(shù)據(jù)及餐飲數(shù)據(jù)。ESP8266電路原理如圖4所示。
本模塊使用12864液晶顯示模塊。帶中文字庫(kù)的12864是一種具有4 位/8 位并行、2 線或3線串行多種接口方式,內(nèi)部含有國(guó)標(biāo)一級(jí)、二級(jí)簡(jiǎn)體中文字庫(kù)的點(diǎn)陣圖形液晶顯示模塊。利用該模塊靈活的接口方式和簡(jiǎn)單、方便的操作指令,可構(gòu)成全中文人機(jī)交互圖形界面。
本作品通過(guò)12864顯示屏顯示菜品的信息以及用戶信息及刷卡消費(fèi)的結(jié)果。
本系統(tǒng)的顯示界面(微信小程序)主要負(fù)責(zé)顯示服務(wù)信息以及接收來(lái)自云服務(wù)器的數(shù)據(jù)。該部分程序基于JavaScript編程實(shí)現(xiàn)。其整體設(shè)計(jì)和基本算法的架構(gòu)流程如圖5所示。
3.2.1 飲食分析
本功能通過(guò)基于RFID芯片的ID號(hào)比對(duì)食物數(shù)據(jù)庫(kù)實(shí)現(xiàn)。此功能可讓用戶知曉自己就餐所攝入的卡路里等相關(guān)參數(shù),并為用戶提供科學(xué)的飲食建議,其整體設(shè)計(jì)架構(gòu)流程如圖6所示。
3.2.2 余菜查詢
此選項(xiàng)通過(guò)檢測(cè)已售賣的菜品數(shù),可根據(jù)餐廳每日計(jì)劃的菜品數(shù)量得到當(dāng)前餐廳的余菜數(shù)。通過(guò)小程序查詢餐廳余菜數(shù)及菜品位置,方便用戶知道當(dāng)前餐廳是否有自己想吃的菜品,同時(shí)還可節(jié)約用戶尋找菜品的時(shí)間,讓餐廳的服務(wù)更加人性化。其整體設(shè)計(jì)架構(gòu)流程如圖7所示。
3.2.3 飲食周報(bào)
此功能基于用戶一周的用餐數(shù)據(jù),通過(guò)專業(yè)圖標(biāo)為用戶提供了一系列權(quán)威分析,其分析理論依據(jù)為營(yíng)養(yǎng)學(xué)相關(guān)理論[5]。該功能通過(guò)總結(jié)用戶一周的飲食情況來(lái)幫助用戶均衡膳食結(jié)構(gòu)并提供未來(lái)一周的飲食指導(dǎo),旨在降低因飲食問(wèn)題而導(dǎo)致的慢性病的發(fā)病率。飲食周報(bào)操作流程如圖8所示。
圖5 系統(tǒng)初始化流程圖
3.2.4 飲食定制
此功能為用戶提供了專屬的營(yíng)養(yǎng)套餐。用戶輸入自己的相關(guān)健康信息,如身高、體重等,系統(tǒng)根據(jù)這些信息及平常的用餐習(xí)慣,自動(dòng)為用戶提供營(yíng)養(yǎng)套餐[6]。用戶提前一天選擇好自己喜歡的套餐,第二天只需憑小程序里的號(hào)碼到餐廳的專屬窗口領(lǐng)取自己的套餐即可。餐廳可根據(jù)自身情況,自行設(shè)定專屬套餐的數(shù)量。此功能主要服務(wù)于一些有特定飲食需求的人群,比如對(duì)特定食物過(guò)敏的人群、糖尿病人等,其整體設(shè)計(jì)的架構(gòu)流程如圖9所示。
圖6 本餐分析操作流程圖
圖7 余菜查詢?cè)O(shè)計(jì)流程圖
圖8 飲食周報(bào)操作流程圖
圖9 飲食定制操作流程圖
3.2.5 尚食圈
此功能提供了該小程序的用戶交流平臺(tái),用戶可在上面發(fā)表自己的相關(guān)動(dòng)態(tài)。隨著社交網(wǎng)絡(luò)的發(fā)展,美食這一高度生活化的話題相比于其他話題更受到人們的青睞[7]。其整體設(shè)計(jì)的架構(gòu)流程如圖10所示。
服務(wù)器端主要由三個(gè)模塊組成,其結(jié)構(gòu)如圖11所示。具體的模塊說(shuō)明如下:
(1)服務(wù)器的監(jiān)聽:通過(guò)Flask框架搭建5 000通信端口,通過(guò)該端口發(fā)送與接收HTTP請(qǐng)求;
(2)讀取數(shù)據(jù)庫(kù)信息:頂層構(gòu)建peeweeModel對(duì)象,底層通過(guò)peewee框架對(duì)數(shù)據(jù)庫(kù)進(jìn)行具體操作。底層使用MySQL框架對(duì)數(shù)據(jù)進(jìn)行管理;
(3)向移動(dòng)云端發(fā)送數(shù)據(jù):通過(guò)OneNET云平臺(tái)的API公共接口獲取數(shù)據(jù)。
圖11 服務(wù)器結(jié)構(gòu)圖
智能結(jié)算臺(tái)自動(dòng)將用戶用餐數(shù)據(jù)發(fā)送到云端進(jìn)行處理,與市面上大部分飲食分析軟件不同,無(wú)需手動(dòng)添加用餐信息,大大節(jié)約了時(shí)間。同時(shí)用戶只需進(jìn)入微信小程序即可查詢到相關(guān)分析結(jié)果,幫助用戶建立良好的飲食習(xí)慣。
使用者若在配有該系統(tǒng)的餐廳用餐,通過(guò)掃描餐桌上的二維碼就可以進(jìn)入小程序。只需在小程序上綁定餐卡信息,無(wú)需下載APP即可享受到媲美營(yíng)養(yǎng)師的一系列服務(wù)。操作簡(jiǎn)單,適用于各年齡層的人群。
本系統(tǒng)主要針對(duì)高校餐廳[8]或稍加改動(dòng)應(yīng)用于醫(yī)院,針對(duì)患有慢性病的人群進(jìn)行特殊營(yíng)養(yǎng)干預(yù)并建立就餐人員健康檔案。
本文設(shè)計(jì)了一款基于微信小程序的智能膳食分析系統(tǒng),以云服務(wù)器為核心,將硬件收集信息模塊和微信小程序模塊相結(jié)合,在有效解決食堂擁擠問(wèn)題的基礎(chǔ)上,滿足現(xiàn)代人對(duì)飲食的高要求以及特定人群的飲食需求,進(jìn)而均衡國(guó)民膳食結(jié)構(gòu)以及增強(qiáng)國(guó)民的飲食健康意識(shí)。此外,在人們追求膳食營(yíng)養(yǎng)的社會(huì)背景下,其在餐飲事業(yè)上能夠有更好的推廣前景。
[1]汪會(huì)琴,胡如英,武海濱,等.2型糖尿病報(bào)告發(fā)病率研究進(jìn)展[J].浙江預(yù)防醫(yī)學(xué),2016(1):37-39.
[2]高冰,許秀舉.膳食因素與人體微量元素平衡關(guān)系的研究進(jìn)展[J].包頭醫(yī)學(xué)院學(xué)報(bào),2010,26(3):136-138.
[3]雷磊.微信小程序開發(fā)入門與實(shí)踐[M].北京:清華大學(xué)出版社,2017.
[4]李君.基于MF RC632的射頻卡讀寫器設(shè)計(jì)[D].天津:天津大學(xué),2007:17-20.
[5]羅森林,呂占斌,張鐵梅,等.一種個(gè)體膳食能量評(píng)估方法[J].北京理工大學(xué)學(xué)報(bào),2016,36(7):706-711.
[6]劉宏暢.改進(jìn)遺傳算法在營(yíng)養(yǎng)配餐系統(tǒng)中的應(yīng)用[D].北京:北京工業(yè)大學(xué),2015.
[7]毛茅,王洋,趙妤婕,等.基于社交網(wǎng)絡(luò)的美食互動(dòng)網(wǎng)站設(shè)計(jì)與評(píng)估[A].第七屆和諧人機(jī)環(huán)境聯(lián)合學(xué)術(shù)會(huì)議(HHME2011)論文集[C].北京:中國(guó)計(jì)算機(jī)學(xué)會(huì)多媒體技術(shù)專業(yè)委員會(huì),2011.
[8]呂敬.基于RFID技術(shù)的智能餐盤在高校食堂中的應(yīng)用[J].信息系統(tǒng)工程,2014(9):85.