赤峰工業(yè)職業(yè)技術(shù)學(xué)院 孫鳳嬌 郭相臣 齊東東 鄭立乾
現(xiàn)代社會(huì),在學(xué)校、公司、商場(chǎng)等大型辦公場(chǎng)所,桶裝飲水機(jī)擁有巨大的市場(chǎng),它不僅方便了人們的生活,提高了人們的生活質(zhì)量,也是社會(huì)發(fā)展進(jìn)步的一個(gè)體現(xiàn)。在飲水機(jī)的集中管理上,管理人員往往采用實(shí)地觀察的方式了解飲水機(jī)的工作狀態(tài)及水量信息,飲水機(jī)越多工作量就越大。隨著智能手機(jī)行業(yè)的日益壯大,手機(jī)APP早已走進(jìn)我們的生活,這使得人們借助手機(jī)實(shí)時(shí)了解飲水機(jī)的水量及工作狀態(tài)成為可能。為此,設(shè)計(jì)了基于Arduino的飲用水配送管理系統(tǒng),實(shí)現(xiàn)飲水的實(shí)時(shí)狀態(tài)監(jiān)測(cè)。
系統(tǒng)總體上分為硬件和軟件兩大組成部分。每臺(tái)飲水機(jī)安裝一套硬件設(shè)備,用于測(cè)試水量,并將水量信息以無線通信方式發(fā)送到后臺(tái)入數(shù)據(jù)庫(kù)。每臺(tái)飲水機(jī)設(shè)置一個(gè)二維碼用于標(biāo)識(shí)飲水機(jī)身份??蛻舳塑浖訟PP的形式安裝在手機(jī)上,管理員可以借助APP實(shí)時(shí)了解所有飲水機(jī)的水量信息,也可以添加、修改或刪除飲水機(jī)身份信息。其中硬件包括Arduino控制器、壓力傳感模塊;軟件包括數(shù)據(jù)處理模塊和手機(jī)APP。系統(tǒng)結(jié)構(gòu)如圖1所示。
圖1 系統(tǒng)總體結(jié)構(gòu)
本系統(tǒng)采用WeMos D1 WiFi Arduino UNO開發(fā)板作為中央處理單元。該板是一款帶有集成式Wi-Fi模塊的新型Arduino Uno板,基于ATmega328P,具有集成式esp8266 Wi-Fi模塊。擁有14個(gè)數(shù)字輸入/輸出引腳(其中6個(gè)可用作PWM輸出)、6個(gè)模擬輸入、1個(gè)16MHz陶瓷諧振器、1個(gè)USB連接、1個(gè)電源插座、1個(gè)ICSP頭和1個(gè)復(fù)位按鈕。本系統(tǒng)用其A0口采集壓力傳感器測(cè)量數(shù)據(jù),用其WI-FI模塊向服務(wù)器上送數(shù)據(jù)。
該模塊由底座和壓力傳感器構(gòu)成。底座為兩塊圓餅形鑄鐵,起支撐水桶的作用。壓力傳感器置于兩片圓餅形鑄鐵中間。壓力傳感器選用蚌埠市中諾傳感器有限公司生產(chǎn)的ZNLBM-30KG型拉壓力兩用傳感器,配合ZNBSQ型變送器,將飲水機(jī)重量轉(zhuǎn)換為0~5V電壓輸出,送Arduino中央處理模塊處理。
數(shù)據(jù)處理模塊由Oracle 10g數(shù)據(jù)庫(kù)、Tomcat7.0服務(wù)器組成主要用于實(shí)現(xiàn)數(shù)據(jù)的傳輸、存儲(chǔ)、訪問控制。手機(jī)APP以簡(jiǎn)潔的操作界面實(shí)現(xiàn)人機(jī)交互。
WeMos D1 WiFi Arduino UNO單片機(jī)借助自身WIFI模塊,利用環(huán)境的無線網(wǎng)絡(luò),將壓力傳感器采集到的水桶水量數(shù)據(jù)實(shí)時(shí)上傳到服務(wù)器。服務(wù)器接收前端傳遞的數(shù)據(jù)進(jìn)行處理,更新數(shù)據(jù)庫(kù)信息,顯示到手機(jī)APP。
系統(tǒng)工作過程中參與數(shù)據(jù)存儲(chǔ)的實(shí)體有兩類,分別是管理員和飲水機(jī)。管理員作為參與者的角色驅(qū)動(dòng)整個(gè)庫(kù)存系統(tǒng),屬性有(id編號(hào),username用戶名,password密碼,name姓名,phone電話,role角色)。飲水機(jī)是整個(gè)庫(kù)存系統(tǒng)和整個(gè)企業(yè)銷售系統(tǒng)的中樞角色,屬性有(water_id飲水機(jī)編號(hào),name客戶姓名,phone客戶電話,weight飲水機(jī)重量,state水量百分比,address地址,date日期)。
該系統(tǒng)軟件采用Struts2+Spring2+Hibernate3+Ajax即SSH架構(gòu),實(shí)現(xiàn)Web層、業(yè)務(wù)層、數(shù)據(jù)庫(kù)訪問層三層架構(gòu)模式??蛻舳瞬恢苯优c數(shù)據(jù)庫(kù)交互,而是通過組件與中間層建立連接,再由中間層與數(shù)據(jù)庫(kù)交互,使用了Spring的IoC來實(shí)組件之間的依賴關(guān)系注入,Spring的作用貫穿了整個(gè)中間層,將Web層、業(yè)務(wù)層、數(shù)據(jù)庫(kù)訪問層及PO無縫整合。數(shù)據(jù)庫(kù)訪問層將對(duì)持久層數(shù)據(jù)的基本增、刪、查、改等操作提取到BaseDAO中,BaseDAO繼承Spring的HibernateDaoSupp,用于處理數(shù)據(jù)請(qǐng)求并返回結(jié)果。
客戶端手機(jī)APP具備基本設(shè)置、飲水機(jī)管理、查看所有飲水機(jī)、查看水量不足的飲水機(jī)四大功能。其中,基本設(shè)置功能用于添加、刪除、顯示管理員的姓名、帳號(hào)、密碼、電話信息。系統(tǒng)擁有一位超級(jí)管理員,只有超級(jí)管理員可以執(zhí)行添加和刪除操作,普通管理員只能查看信息。飲水機(jī)管理功能功能用于添加和刪除加入系統(tǒng)的飲水機(jī)。可以通過掃描二維碼的方式添加,也可以手動(dòng)添加。查看飲水機(jī)信息功能用于顯示飲水機(jī)的詳細(xì)信息,包括:飲水機(jī)的編號(hào)、用戶的個(gè)人信息、以及飲水機(jī)容量和百分比、日期。查看水量不足的飲水機(jī)功能:顯示飲水機(jī)水量不足的用戶信息。
本文設(shè)計(jì)的飲用水配送管理系統(tǒng)是一個(gè)智能、快捷的管理系統(tǒng)。管理員可借助本系統(tǒng)同時(shí)管理多個(gè)飲水機(jī),實(shí)時(shí)了解用戶飲水機(jī)水量信息,及時(shí)替換水量不足的飲水機(jī),有效提高工作效率。系統(tǒng)安裝方便,界面易操作且成本低廉。系統(tǒng)在赤峰工業(yè)職業(yè)技術(shù)學(xué)院經(jīng)過了一個(gè)學(xué)期的測(cè)試,性能穩(wěn)定,運(yùn)行效果良好,具有一定的推廣價(jià)值。
[1]崔陽(yáng),張維華,白云峰,等.一種基于Arduino的智能家居控制系統(tǒng)[J].計(jì)算機(jī)技術(shù)與應(yīng)用,2014(4):123-125.
[2]蔡睿妍.Arduino的原理及應(yīng)用[J].電子設(shè)計(jì)工程,2012(18):155-157.
[3]孟萌.基于Arduino的數(shù)據(jù)采集器研究[J].電子技術(shù)與軟件工程,2016(4):87-88.
[4]王大虎,孫一帆,張且且.基于Arduino控制板的壓力采集監(jiān)測(cè)系統(tǒng)設(shè)計(jì)[J].河南理工大學(xué)學(xué)報(bào)(自然科學(xué)版),2013(4):463-466.