李長軍,李明洋,郝在盛,苑得鑫
(中國石油大學(xué)(華東),山東 青島 266580)
水是生命之源,科學(xué)飲水對于人體健康十分重要。然而,隨著生活節(jié)奏的加快,很多職場工作人員和學(xué)生每天的飲水量不足,甚至有20%的人白天幾乎不喝水,大眾飲水健康情況不容樂觀[1]。培養(yǎng)社會大眾科學(xué)飲水習(xí)慣,對于提升公眾整體健康水平具有重要意義。同時,此舉也是“倡導(dǎo)自我健康管理,對生命全過程全面呵護”的大健康理念的具體體現(xiàn)。
本文設(shè)計了一套智能飲水提醒系統(tǒng),通過用戶飲水信息的采集、傳輸、分析處理及應(yīng)用,實現(xiàn)科學(xué)、智能的飲水提醒,旨在將物聯(lián)網(wǎng)技術(shù)運用到大健康領(lǐng)域[2-5],利用現(xiàn)代技術(shù)手段提升公眾健康意識,倡導(dǎo)健康生活習(xí)慣,引領(lǐng)健康新風(fēng)尚。
智能飲水提醒系統(tǒng)是一個運用物聯(lián)網(wǎng)技術(shù)、傳感器技術(shù)、通信技術(shù)、計算機技術(shù)而開發(fā)的軟硬件綜合系統(tǒng),包括設(shè)備終端、服務(wù)器端和用戶終端,系統(tǒng)總體架構(gòu)如圖1所示。
圖1 系統(tǒng)總體架構(gòu)
設(shè)備終端指經(jīng)過改造的飲水機,是用戶最終獲得飲水服務(wù)的裝置。在設(shè)備終端上主要實現(xiàn)用戶身份識別及飲水信息采集等功能。用戶在獲取飲水服務(wù)之前,首先應(yīng)通過指紋識別驗證身份,在使用飲水機接水時,設(shè)備終端通過各種傳感器記錄水量、水溫、水質(zhì)等飲水參數(shù),并通過數(shù)據(jù)通信模塊實時傳輸至服務(wù)器端。
服務(wù)器端能夠接收到從不同設(shè)備終端發(fā)來的用戶飲水?dāng)?shù)據(jù),基于用戶信息數(shù)據(jù)庫,儲存和調(diào)用各類飲水?dāng)?shù)據(jù)。
用戶終端即在手機、手環(huán)、平板或其他智能終端上的客戶端應(yīng)用程序。用戶終端能夠讀取、下載服務(wù)器端的用戶個人飲水?dāng)?shù)據(jù),對用戶的飲水習(xí)慣、飲水健康指數(shù)進行分析和展示。同時,以健康飲水規(guī)律為依據(jù),設(shè)計飲水提醒的邏輯,若用戶飲水不足,則通過用戶終端向用戶發(fā)送提醒信息。
智能飲水提醒系統(tǒng)的設(shè)備終端是在飲水機外形的基礎(chǔ)上,加裝控制系統(tǒng)硬件而構(gòu)成的。控制系統(tǒng)硬件包括主控模塊、身份識別模塊、飲水信息采集模塊以及通信模塊。
本設(shè)計的主控芯片選用STM32F407單片機。STM32單片機是基于ARM的32位通用加強型微控制器,能夠進行實時仿真和追蹤,其內(nèi)核為32位高性能ARM Cortex-M4處理器,配備強大的時鐘系統(tǒng)(4~26 MHz的外部高速晶振、內(nèi)部16 MHz的高速RC振蕩器等),其時鐘響應(yīng)頻率高達168 MHz,是目前市場上主流的控制芯片之一。本設(shè)計選用的STM32F407模塊通用性好,便于靈活開發(fā),具有突出的內(nèi)核以及出色的外部設(shè)計[6-8],便于嵌入到飲水機結(jié)構(gòu)中,且配備4.3英寸顯示屏,能夠?qū)崟r展示飲水?dāng)?shù)據(jù),使用戶獲得更加直觀的交互體驗。
身份識別采用指紋識別方式,選用ATK-301模塊。該模塊是ALIENTEK推出的一款具有高性能的電容式半導(dǎo)體指紋識別模塊。模塊采用了FPC公司出品的按壓式電容指紋傳感器,該傳感器具有穩(wěn)定、功耗低、圖像一致性效果好、耐靜電等級高的特點。模塊搭配GigaDevice生產(chǎn)的指紋控制專用芯片,針對指紋傳感器做出了大量圖像優(yōu)化、速度優(yōu)化、算法優(yōu)化,使模塊具有識別速度快、通過率高等特點。相對傳統(tǒng)光學(xué)指紋模塊,該模塊具有識別速度更快、體積更小、功耗更低等特點。
飲水信息采集模塊是系統(tǒng)中應(yīng)用最頻繁且最容易出現(xiàn)故障的部分。本設(shè)計采用YF-S201流量傳感器,該傳感器基于霍爾原理設(shè)計,具有計量準(zhǔn)確、故障率低等特點。當(dāng)水流沖擊傳感器內(nèi)葉輪時,葉輪旋轉(zhuǎn)帶動磁鋼,進而觸發(fā)霍爾傳感器向單片機發(fā)送一組脈沖信號,單片機根據(jù)用戶接水時段內(nèi)接收到的脈沖信號數(shù)量計算得出接水流量,實現(xiàn)飲水量的采集。
設(shè)備終端與服務(wù)器端的數(shù)據(jù)通信是智能飲水提醒系統(tǒng)的關(guān)鍵環(huán)節(jié)。本設(shè)計的通信模塊采用ALIENTEK推出的高性能WiFi轉(zhuǎn)串口模塊ATK-ESP8266,由于其簡單易用,且內(nèi)置TCP/IP協(xié)議棧,能夠?qū)崿F(xiàn)串口與WiFi之間的轉(zhuǎn)換。通過ATK-ESP8266模塊,傳統(tǒng)的串口設(shè)備只需簡單的配置,便可通過網(wǎng)絡(luò)傳輸數(shù)據(jù),是目前IoT中使用最廣泛的WiFi模塊之一。在滿足通信功能的前提下,使用該模塊能夠減輕總體設(shè)計的體量和臃腫程度,使系統(tǒng)更加簡潔和輕量化。ATKESP8266作為STM32F407與服務(wù)器端連接的橋梁,將設(shè)備終端收集到的用戶飲水信息實時傳輸?shù)椒?wù)器端,實現(xiàn)數(shù)據(jù)同步。
服務(wù)器端是連接設(shè)備終端與用戶終端的紐帶。設(shè)備終端將用戶飲水?dāng)?shù)據(jù)通過互聯(lián)網(wǎng)實時傳輸?shù)椒?wù)器端,并在數(shù)據(jù)庫中按照一定格式存儲;用戶終端需要調(diào)取信息時,首先向服務(wù)器端發(fā)送請求,服務(wù)器端在數(shù)據(jù)庫中調(diào)取特定信息并通過互聯(lián)網(wǎng)發(fā)送到用戶終端,實現(xiàn)數(shù)據(jù)傳遞。
本系統(tǒng)的服務(wù)器端采用PHP開發(fā)。PHP是一種通用開源腳本語言,跨平臺性強。與其他編程語言相比,PHP將程序嵌入到HTML文檔中執(zhí)行,執(zhí)行效率更高,適用于業(yè)務(wù)邏輯簡單、展現(xiàn)要求較高的系統(tǒng)需求[9]。
數(shù)據(jù)庫采用SQL Server,能夠通過Web對數(shù)據(jù)進行輕松、安全的訪問,其具有強大、靈活、基于Web和安全的應(yīng)用程序管理。
用戶終端是用戶查詢飲水信息及獲得飲水提醒服務(wù)的最終載體。用戶終端與服務(wù)器端通過互聯(lián)網(wǎng)建立即時聯(lián)系,獲取特定信息,并能實現(xiàn)飲水?dāng)?shù)據(jù)的分析與呈現(xiàn)。
中國營養(yǎng)學(xué)會發(fā)布的《中國居民膳食指南》指出,成年男性每天推薦1 700 mL以上的飲水,女性則為1 500 mL以上,同時,推薦飲水量與用戶的年齡、身高、體重、運動情況、飲食情況、生活規(guī)律以及環(huán)境溫度相關(guān),本系統(tǒng)根據(jù)用戶個人基本信息,計算出該用戶當(dāng)日應(yīng)飲水總量[10]。系統(tǒng)中設(shè)定了6個預(yù)設(shè)提醒時間,分別為起床后、上午、中午、下午、傍晚和晚間,根據(jù)用戶某一時間段內(nèi)飲水的實際情況,判斷用戶是否達到健康飲水條件,若未達到,則在相應(yīng)提醒時間向用戶發(fā)送提醒信息。系統(tǒng)設(shè)定的提醒時間及提醒規(guī)則見表1所列。
表1 飲水提醒時間及提醒規(guī)則設(shè)計
除飲水提醒功能外,用戶終端還能實現(xiàn)個人信息管理、新用戶注冊、飲水信息查詢、飲水健康報告表等功能。在本系統(tǒng)的基礎(chǔ)上,利用計算機軟件技術(shù),還可進一步擴展用戶終端的功能,如推送健康咨詢、建立虛擬社區(qū)、建立打卡獎勵機制等,極大豐富系統(tǒng)的健康內(nèi)涵,逐步形成完整的兼具健康理念和趣味性的科技產(chǎn)品及生態(tài)鏈[10]。
為培養(yǎng)大眾科學(xué)飲水的習(xí)慣,提升公眾整體健康水平,本文基于STM32F407嵌入式技術(shù)、物聯(lián)網(wǎng)技術(shù)及計算機技術(shù)設(shè)計了智能飲水提醒系統(tǒng),該系統(tǒng)包含設(shè)備終端、服務(wù)器端和用戶終端,能夠?qū)τ脩麸嬎闆r進行記錄和分析,并提供科學(xué)的飲水提醒。經(jīng)過樣機運行測試表明,該系統(tǒng)功能達到了設(shè)計要求,操作便捷,易于擴展,對于培養(yǎng)公眾健康飲水習(xí)慣起到了積極的推動作用,具有廣闊的推廣前景和巨大的應(yīng)用價值。