李力 張賜煜
關(guān)鍵詞:物聯(lián)網(wǎng);智能系統(tǒng);水面垃圾清理器
1引言
公園湖泊和城市景觀河道是人們業(yè)余休閑活動(dòng)的主要場(chǎng)所,由于各種原因,水面經(jīng)常漂浮著塑料瓶、泡沫、樹(shù)葉、小樹(shù)枝、塑料袋等各類(lèi)垃圾,沒(méi)能及時(shí)清理,影響周?chē)h(huán)境。垃圾長(zhǎng)期漂浮在水中不但會(huì)產(chǎn)生病原微生物,在腐敗過(guò)程中還會(huì)產(chǎn)生大量的酸性和堿性有機(jī)污染物,并會(huì)將其中的重金屬溶解出來(lái),形成有機(jī)物質(zhì)、重金屬和病原微生物等污染源。這不僅會(huì)降低水質(zhì)量,同時(shí)會(huì)影響水域的觀賞性。此外,垃圾是蚊、蠅的滋生地,其含有許多致病微生物,這些因素必然會(huì)影響社會(huì)廣大市民的身體健康。
目前,我國(guó)水面垃圾的打撈水域可分為大型水域和觀賞性水域。在大型水域通常采用垃圾打撈船進(jìn)行打撈,而觀賞性水域(如公園湖泊、城市景觀河道等)則通常采用人工打撈的方式進(jìn)行打撈。垃圾打撈船體積龐大,靠近岸邊的垃圾仍依靠人工打撈。所以,無(wú)論哪種水域,人工打撈都是不可避免的,人工打撈通常難度較大、費(fèi)時(shí)費(fèi)力效率低,且往往是周期性打撈,漂浮垃圾不能被及時(shí)打撈,直接影響城市形象和生態(tài)文明建設(shè)。
據(jù)《中國(guó)環(huán)境新聞網(wǎng)》數(shù)據(jù)顯示,2018年我國(guó)水面垃圾處理行業(yè)規(guī)模達(dá)42億元,并以平均每年49.2%的增長(zhǎng)率快速增長(zhǎng),預(yù)計(jì)2025年水面垃圾處理行業(yè)規(guī)模將達(dá)145億元。目前,水面漂浮垃圾治理方法普遍是清潔人員利用船只配合打撈工具在污染水域巡航打撈。該方法不僅工作效率不高,而且清潔工的勞動(dòng)強(qiáng)度大,易受烈日寒冬的影響,并且腐臭環(huán)境對(duì)清潔工的身體有不良影響。少部分水面垃圾清潔設(shè)備只能依賴(lài)進(jìn)口,價(jià)格昂貴。
傳統(tǒng)水面垃圾清潔器一般位置固定、不方便移動(dòng),需人工調(diào)整位置對(duì)準(zhǔn)漂浮垃圾聚集區(qū),還需要人工定時(shí)查看清理。雖然國(guó)內(nèi)外已經(jīng)開(kāi)發(fā)出比較先進(jìn)的水面垃圾清理裝置,但是體積較大,結(jié)構(gòu)復(fù)雜且難以攜帶,不利于面積較小或形狀復(fù)雜多變的城市河道、景觀水池、飲用水庫(kù)的垃圾清理,而且這些裝置絕大多數(shù)使用燃油驅(qū)動(dòng),對(duì)需清理的水域會(huì)造成二次污染。因此,開(kāi)發(fā)一款能夠降低水面漂浮垃圾打撈成本、降低打撈難度、提高水體質(zhì)量的設(shè)備,填補(bǔ)水面垃圾清潔智能設(shè)備的空白,是十分必要的。水面垃圾清理器——“水面清道夫”水面清潔垃圾桶就是基于此而研發(fā)的。
2產(chǎn)品工作原理和硬件設(shè)計(jì)
本項(xiàng)目研制的“水面清道夫”是一款結(jié)合物聯(lián)網(wǎng)技術(shù)的水面垃圾清潔設(shè)備,主體由內(nèi)桶、外桶以及水泵構(gòu)成,通過(guò)水泵在桶內(nèi)形成微漩渦,將附近的漂浮物吸附進(jìn)桶內(nèi),實(shí)現(xiàn)垃圾自動(dòng)收集,并通過(guò)物聯(lián)網(wǎng)技術(shù)進(jìn)行智慧監(jiān)控,將數(shù)據(jù)反饋至用戶(hù)手機(jī),整個(gè)垃圾清理過(guò)程只需人工定期清理網(wǎng)兜內(nèi)垃圾,即可保證設(shè)備正常工作運(yùn)轉(zhuǎn)。該設(shè)備耗電量小,清理效率高,能清理湖泊、小河沿岸等水域的漂浮垃圾,其系統(tǒng)結(jié)構(gòu)框圖如圖1所示。
產(chǎn)品物聯(lián)網(wǎng)系統(tǒng)的通信層面使用了NB-IoT技術(shù)配合MQTT協(xié)議。為了更好地搭配N(xiāo)B-IoT技術(shù),傳輸協(xié)議層使用了MQTT協(xié)議,MQTT是專(zhuān)門(mén)針對(duì)物聯(lián)網(wǎng)開(kāi)發(fā)的輕量級(jí)傳輸協(xié)議。工作在TCP/IP協(xié)議上,由TCP/IP協(xié)議提供穩(wěn)定的網(wǎng)絡(luò)連接;MQTT協(xié)議針對(duì)低帶寬網(wǎng)絡(luò),低計(jì)算能力的設(shè)備,做了特殊的優(yōu)化,使其能適應(yīng)各種物聯(lián)網(wǎng)應(yīng)用場(chǎng)景。目前,MQTT擁有各種平臺(tái)和設(shè)備上的客戶(hù)端,已經(jīng)形成初步的生態(tài)系統(tǒng),使其在物聯(lián)網(wǎng)、小型設(shè)備、移動(dòng)應(yīng)用等方面有較廣泛的應(yīng)用。
2.1產(chǎn)品工作原理
產(chǎn)品主體由內(nèi)桶、外桶以及水泵構(gòu)成,智能控制部分由STM32單片機(jī)主控,通過(guò)水位傳感器等獲取水域水位、流速等信息,利用電動(dòng)推桿控制外桶的升降,外桶可根據(jù)水位自動(dòng)調(diào)節(jié)高度。底部裝有抽水泵,水進(jìn)入垃圾桶后,內(nèi)桶由于受到浮力會(huì)升起至高于水面,然后水泵將水排出,使漂浮垃圾間歇性地進(jìn)入濾網(wǎng)內(nèi)桶中,解決了傳統(tǒng)的水上垃圾桶漂浮垃圾容易再次隨著水流走的問(wèn)題。
2.2內(nèi)桶自動(dòng)浮起設(shè)計(jì)
內(nèi)桶上半部分使用泡沫材料充當(dāng)浮子,隨著水不斷涌人桶內(nèi),內(nèi)桶隨浮力的增加而上升,直到高于水平面后,水無(wú)法再進(jìn)入。此時(shí)抽水泵將水抽出,內(nèi)桶隨桶內(nèi)的水減少而下降,水會(huì)再次進(jìn)入桶內(nèi)。
2.3內(nèi)部防水設(shè)計(jì)
底部排水采用單向閥門(mén)設(shè)計(jì),有效防止水從底部滲入,防止水滲入腐蝕設(shè)備,外觀設(shè)計(jì)采用圓梯形,以降低水對(duì)外筒的浮力影響,大大提高設(shè)備使用壽命。
3管理系統(tǒng)設(shè)計(jì)
水面垃圾清理器智能系統(tǒng)主要由硬件端和軟件端組成。其中,硬件端中控機(jī)負(fù)責(zé)獲取服務(wù)器指令隊(duì)列、下發(fā)指令至執(zhí)行器和上傳狀態(tài)機(jī)中的數(shù)據(jù);執(zhí)行器模塊控制電機(jī)運(yùn)轉(zhuǎn)、維護(hù)設(shè)備動(dòng)力以及處理中控機(jī)的指令:狀態(tài)機(jī)模塊負(fù)責(zé)定時(shí)上報(bào)設(shè)備參數(shù)和意外預(yù)警。軟件端按功能劃分為數(shù)據(jù)庫(kù)端、服務(wù)端和客戶(hù)端。數(shù)據(jù)庫(kù)端處理設(shè)備數(shù)據(jù)和用戶(hù)數(shù)據(jù),服務(wù)端主要用于收發(fā)數(shù)據(jù)和儲(chǔ)存指令隊(duì)列,客戶(hù)端用于用戶(hù)身份驗(yàn)證、設(shè)備操作和設(shè)備監(jiān)聽(tīng)。
3.1運(yùn)行設(shè)計(jì)
3.1.1整體框架
在對(duì)基于物聯(lián)網(wǎng)技術(shù)的水面垃圾清理器智能系統(tǒng)進(jìn)行設(shè)計(jì)時(shí),主要以整個(gè)處理功能所呈現(xiàn)出的訴求點(diǎn)為基礎(chǔ),構(gòu)建基于智能處理與終端操控部件相整合的系統(tǒng)框架,整體框架如圖2所示。
框架要點(diǎn)如下:(1)用戶(hù)點(diǎn)擊小程序發(fā)起HTTPrequest請(qǐng)求,該請(qǐng)求被提交到DispatcherServlet(前端控制器);(2)由DispatcherServlet請(qǐng)求一個(gè)或多個(gè)HandlerMapping(處理器映射器),并返回一個(gè)執(zhí)行鏈(HandlerExecutionChain);(3)DispatcherServlet將執(zhí)行鏈返回的Handler信息發(fā)送給HandlerAdapter(處理器適配器);(4) HandlerAdapter根據(jù)Handler信息找到并執(zhí)行相應(yīng)的Handler(常稱(chēng)為Controller);(5)HandlerAdapter接收到ModeIAndView對(duì)象后,將其返回給DispatcherServlet;(6)DispatcherServlet接收到ModelAndView對(duì)象后,向客戶(hù)端發(fā)起請(qǐng)求ViewResolver(視圖解析器)并對(duì)視圖進(jìn)行解析;(7)ViewResolver根據(jù)View信息匹配到相應(yīng)的視圖結(jié)果,并返回給DispatcherServlet;(8)DispatcherServlet接收到具體的View視圖后,進(jìn)行視圖渲染,將Model中的模型數(shù)據(jù)填充到View視圖中的request域,生成最終的View(視圖);(9)視圖負(fù)責(zé)將結(jié)果顯示到小程序。
3.1.2運(yùn)行設(shè)計(jì)
(1)執(zhí)行流程
執(zhí)行流程為“小程序一服務(wù)器_設(shè)備”。
①小程序向服務(wù)器發(fā)送執(zhí)行命令(附帶目標(biāo)設(shè)備信息),服務(wù)器記錄并等待目標(biāo)設(shè)備執(zhí)行。
②設(shè)備定時(shí)向服務(wù)器獲取執(zhí)行列表并執(zhí)行命令。
(2)數(shù)據(jù)流程
數(shù)據(jù)流程為“小程序-服務(wù)器-設(shè)備”。
①設(shè)備向服務(wù)器發(fā)送執(zhí)行反饋或心跳請(qǐng)求(請(qǐng)求內(nèi)容包括設(shè)備狀態(tài)、水質(zhì)信息)。
②服務(wù)器記錄設(shè)備上傳的信息,標(biāo)記執(zhí)行反饋并將信息儲(chǔ)存到服務(wù)器。
③小程序可通過(guò)相應(yīng)服務(wù)器獲取各設(shè)備信息。
(3)通信協(xié)議
通信協(xié)議為“小程序-HTTP-服務(wù)器-MQTT-設(shè)備”。
檢測(cè)終端可以檢測(cè)裝置容量、水位等信息,并獨(dú)立于收集裝置。微信小程序和服務(wù)器之間使用HTTP協(xié)議,服務(wù)器和清潔設(shè)備之間使用MQTT協(xié)議。
(4)網(wǎng)絡(luò)
網(wǎng)絡(luò)為“小程序-4G-服務(wù)器-NB-IoT-設(shè)備”。
檢測(cè)終端可以檢測(cè)裝置容量、水位等信息,并獨(dú)立于收集裝置。檢測(cè)終端與信息接收終端形成雙向通信,通信采用4G通信網(wǎng)絡(luò)。服務(wù)器和垃圾清潔器之間通過(guò)NB-IoT建立聯(lián)系,實(shí)現(xiàn)小程序?qū)η鍧嵲O(shè)備的智能控制。
(5)單片機(jī)控制
通過(guò)STM32單片機(jī)、水位及水質(zhì)傳感器、NB-IoT通信模組等硬件,結(jié)合軟件開(kāi)發(fā)技術(shù),實(shí)現(xiàn)基于物聯(lián)網(wǎng)技術(shù)的設(shè)備智能化。小程序通過(guò)HTTP協(xié)議發(fā)送控制水泵請(qǐng)求,服務(wù)器記錄請(qǐng)求并等待執(zhí)行,設(shè)備通過(guò)MQTT協(xié)議向服務(wù)器發(fā)送獲取執(zhí)行報(bào)文(次/30s),獲取執(zhí)行操作后反饋給服務(wù)器執(zhí)行狀態(tài)及結(jié)果,服務(wù)器獲取反饋后標(biāo)記請(qǐng)求狀態(tài)將其存人數(shù)據(jù)庫(kù)。
(6)設(shè)備狀態(tài)監(jiān)聽(tīng)
設(shè)備定時(shí)(1次/分鐘)向服務(wù)器發(fā)送心跳請(qǐng)求,其中附帶設(shè)備狀態(tài)信息,包括但不限于電量、容量、水質(zhì)等信息,服務(wù)器接受心跳請(qǐng)求記錄設(shè)備狀態(tài)。小程序可通過(guò)遠(yuǎn)程連接服務(wù)器的數(shù)據(jù)庫(kù)獲取設(shè)備狀態(tài)信息。
(7)姿態(tài)調(diào)整
小程序向服務(wù)器發(fā)送姿態(tài)調(diào)整請(qǐng)求,服務(wù)器進(jìn)入實(shí)日寸連接狀態(tài)并請(qǐng)求設(shè)備進(jìn)行實(shí)時(shí)連接,設(shè)備獲取服務(wù)器請(qǐng)求進(jìn)入姿態(tài)狀態(tài),更改獲取執(zhí)行報(bào)文時(shí)間間隔1s.姿態(tài)調(diào)整完畢后小程序向服務(wù)器發(fā)送關(guān)閉姿態(tài)調(diào)整請(qǐng)求,服務(wù)器斷開(kāi)設(shè)備實(shí)時(shí)連接,設(shè)備恢復(fù)獲取執(zhí)行報(bào)文時(shí)間間隔30s。
(8)消息推送機(jī)制
主要分為三個(gè)模塊來(lái)開(kāi)發(fā),即Comet,Web,Message。
Comet模塊:負(fù)責(zé)消息排隊(duì)、向客戶(hù)端程序推送數(shù)據(jù);系統(tǒng)依據(jù)消息ID順序獲取消息,消息推送后在Comet中排隊(duì),然后發(fā)起RPC給Message,以實(shí)現(xiàn)消息存儲(chǔ)。
Message模塊:負(fù)責(zé)消息的存儲(chǔ)和讀寫(xiě);接收來(lái)自Comet模塊的消息并進(jìn)行持久化,或接收Web模塊的讀取消息并請(qǐng)求獲取離線消息。
Web模塊:負(fù)責(zé)節(jié)點(diǎn)詢(xún)問(wèn)、離線消息獲取及后臺(tái)節(jié)點(diǎn)管理等;節(jié)點(diǎn)詢(xún)問(wèn)主要依據(jù)客戶(hù)端的訂閱Key -致性hash計(jì)算出連接的Comet節(jié)點(diǎn)地址:離線消息通過(guò)Web接口返回給客戶(hù)端,但消息的讀取則通過(guò)RPC發(fā)送給Message模塊,盡量保證職責(zé)單一。
4結(jié)束語(yǔ)
基于廣東科學(xué)技術(shù)職業(yè)學(xué)院創(chuàng)新創(chuàng)業(yè)訓(xùn)練計(jì)劃,項(xiàng)目團(tuán)隊(duì)研發(fā)了基于物聯(lián)網(wǎng)技術(shù)的“軟硬結(jié)合”的水面清潔設(shè)備,其清潔效率高、簡(jiǎn)單便捷、使用成本低。
計(jì)算機(jī)應(yīng)用文摘·觸控2022年23期