胡 煜,王 勛,陶 銘
(東莞理工學(xué)院 計算機科學(xué)與技術(shù)學(xué)院,廣東 東莞 523808)
目前,隨著人口的不斷增長和人們生活水平的提高,生活垃圾每年也在不斷地增長累積。由于公共場所的面積過大,清潔工人無法及時了解到各個垃圾桶的使用情況,所以人們經(jīng)常能看到有些垃圾桶堆滿垃圾甚至溢出。這些垃圾未能及時處理,對生活環(huán)境造成了很大的影響。隨著物聯(lián)網(wǎng)技術(shù)與智慧城市的發(fā)展,物聯(lián)網(wǎng)技術(shù)能夠使垃圾桶與互聯(lián)網(wǎng)相連,進行信息的交換和通信,實現(xiàn)智能化監(jiān)控,進而解決垃圾未及時處理導(dǎo)致生活環(huán)境以及區(qū)域形象的問題。
物聯(lián)網(wǎng)(Internet of Things, IoT)是指通過信息傳感設(shè)備,如GPS定位模塊、人體紅外避障檢測模塊、壓力傳感器模塊等與互聯(lián)網(wǎng)結(jié)合起來形成的一個巨大的網(wǎng)絡(luò)[1]。其目的是將物體與網(wǎng)絡(luò)相連接,以網(wǎng)絡(luò)為媒介,實現(xiàn)物物相連[2]。系統(tǒng)可以實時、自動地對物體進行識別、追蹤、定位等,并觸發(fā)相應(yīng)事件。物聯(lián)網(wǎng)這個概念是在1999年提出的,定義了所有物品通過信息傳感設(shè)備與互聯(lián)網(wǎng)連接起來,實現(xiàn)智能化管理與識別[3]。無線傳感器網(wǎng)絡(luò)(Wireless Sensor Networks,WSNs)是物聯(lián)網(wǎng)識別網(wǎng)絡(luò)的重要技術(shù)形式,是由大量部署在監(jiān)測區(qū)域內(nèi)的傳感器節(jié)點進行數(shù)據(jù)的觀察、信息的采集或檢測事件的發(fā)生等,通過無線通信方式形成多跳自組織網(wǎng)絡(luò),再將感知數(shù)據(jù)傳輸至信宿[4]。隨著物聯(lián)網(wǎng)技術(shù)的快速發(fā)展,“智能垃圾桶+物聯(lián)網(wǎng)”的結(jié)合可以避免垃圾堆積如山、垃圾旁滋生細菌、對環(huán)境造成污染等問題,能夠友好地減輕管理人員與環(huán)衛(wèi)工人的工作負擔(dān),提高工作效率,具有良好的社會效益和經(jīng)濟效益。
本套系統(tǒng)采用STM32F103處理器作為采集節(jié)點的嵌入式處理器,搭載系統(tǒng)所需要的各式傳感器,如壓力傳感器等。以NB-IoT作為無線傳感網(wǎng)絡(luò)的數(shù)據(jù)傳輸節(jié)點,通過NB-IoT傳輸數(shù)據(jù)到服務(wù)器端,垃圾桶管理員、環(huán)衛(wèi)工人可以登錄手機客戶端系統(tǒng),查看垃圾桶的使用情況,知曉垃圾桶的當(dāng)前位置等。
窄帶物聯(lián)網(wǎng)(Narrow Band Internet of Things, NB-IoT)是萬物互聯(lián)的一個重要分支,是一種基于蜂窩通信網(wǎng)絡(luò)的物聯(lián)網(wǎng)技術(shù)體系,采用了基于4G LTE/演進的分組核心網(wǎng)(EPC)網(wǎng)絡(luò)架構(gòu)[5]。它的特點是窄帶、高覆蓋、低功耗、低成本、高連接,解決了傳統(tǒng)物聯(lián)網(wǎng)存在的技術(shù)碎片化、覆蓋不足等問題,極大地提升了物聯(lián)網(wǎng)的實際應(yīng)用能力[6]。NB-IoT設(shè)備支持待機時間長、對網(wǎng)絡(luò)要求連接較高的設(shè)備連接。NBIoT設(shè)備的電池壽命可達10年,同時以全面蜂窩網(wǎng)絡(luò)的覆蓋給智能設(shè)備帶來了無限發(fā)展[7]。
傳輸控制協(xié)議/網(wǎng)際協(xié)議(Transmission Control Protocol/Internet Protocol, TCP/IP)是指多個不同網(wǎng)絡(luò)之間實現(xiàn)信息傳輸?shù)膮f(xié)議簇,是互聯(lián)網(wǎng)的通信基礎(chǔ)框架。在本系統(tǒng)中,服務(wù)器與硬件端以及客戶端的通信,使用Socket套接字將復(fù)雜的TCP/IP協(xié)議隱藏在Socket接口后面,硬件與客戶端接入TCP/IP端口地址即可以TCP的方式進行發(fā)送與接收數(shù)據(jù)[8]。
基于NB-IoT的智能垃圾桶系統(tǒng)由基于NB-IoT的無線傳感器網(wǎng)絡(luò)、基于TCP/IP的串行通信技術(shù)、數(shù)據(jù)庫服務(wù)器、Android客戶端四部分組成。無線傳感器網(wǎng)絡(luò)由NB-IoT進行自組網(wǎng)連接。搭載于嵌入式處理器STM32F103中的傳感器采集完信息后,通過NB-IoT上傳至蜂窩基站,再傳輸?shù)椒?wù)器中,服務(wù)器對數(shù)據(jù)進行一系列處理之后,返回分析結(jié)果到Android客戶端。系統(tǒng)框架結(jié)構(gòu)如圖1所示。
圖1 系統(tǒng)結(jié)構(gòu)
系統(tǒng)的組成結(jié)構(gòu)主要分為數(shù)據(jù)采集、聯(lián)網(wǎng)監(jiān)控、桶蓋自動化、系統(tǒng)狀態(tài)監(jiān)控四個部分。數(shù)據(jù)采集,通過壓力傳感器模塊、超聲波測距模塊和GPS定位模塊采集重量、距離、經(jīng)緯度數(shù)據(jù);聯(lián)網(wǎng)監(jiān)控,通過NB-IoT將數(shù)據(jù)上傳至服務(wù)器,以及經(jīng)接收服務(wù)器傳輸過來的指令,實現(xiàn)遠程監(jiān)控;桶蓋自動化,通過步進電機模塊以及人體紅外傳感器模塊實現(xiàn),當(dāng)有人來的時候,自動打開,否則關(guān)閉。系統(tǒng)功能結(jié)構(gòu)如圖2所示。
圖2 智能垃圾桶系統(tǒng)功能結(jié)構(gòu)
壓力傳感器模塊采集垃圾重量數(shù)據(jù),GPS定位模塊采集垃圾桶所在的經(jīng)緯度數(shù)據(jù),人體紅外避障模塊檢測人體并返回是否有人通過的數(shù)據(jù)(用引腳高低電平表示),超聲波測距模塊采集垃圾桶堆積的高度。采集完數(shù)據(jù)后,通過STM32F103嵌入式處理器進行一定的數(shù)據(jù)處理后,通過BC35-G模塊(NB-IoT)將數(shù)據(jù)上傳至云服務(wù)器,BC35-G模塊也可以接收來自于服務(wù)器發(fā)送過來的指令,通過STM32F103處理后做出一定的指示。系統(tǒng)流程如圖3所示。
圖3 智能垃圾桶硬件系統(tǒng)數(shù)據(jù)流程
系統(tǒng)初始化上電后,當(dāng)開始進行工作時,檢查服務(wù)器是否有發(fā)送指令,有則進行接收指令,并對指令進行一定的分析并執(zhí)行;若無,則進行按鍵掃描。檢查是否需要打開垃圾桶蓋,若否,則進行紅外避障模塊的檢測。檢查是否有人靠近,當(dāng)有人打開關(guān)閉垃圾桶后,傳感器就會對垃圾信息進行采集并封裝后上傳至服務(wù)器。最后循環(huán)整個流程,具體流程圖如圖4所示。
圖4 系統(tǒng)流程
服務(wù)器后端系統(tǒng)基于JavaEE編寫,JavaEE是一個開發(fā)分布式企業(yè)級應(yīng)用的規(guī)范和標準,JavaEE應(yīng)用程序是由組件構(gòu)成的。本項目中使用的JavaEE技術(shù)有Web Service、Struts、Spring、Hibernate、JSP、Servlet、JDBC、JavaBean、XML[9]??刂茖咏邮湛蛻舳税l(fā)送過來的請求,請求進入業(yè)務(wù)層進行相關(guān)的業(yè)務(wù)處理,并通過數(shù)據(jù)持久層對數(shù)據(jù)庫進行CIUD操作。主要任務(wù)是返回垃圾桶采集到的一些實時數(shù)據(jù),實現(xiàn)對智能垃圾桶控制以及對異常信息的處理審核。服務(wù)器與硬件端通過NB-IoT進行通信,接收BC35-G傳送過來的數(shù)據(jù)后,解析處理數(shù)據(jù)并把數(shù)據(jù)存儲到數(shù)據(jù)庫中。系統(tǒng)E-R圖如圖5所示。
圖5 數(shù)據(jù)庫系統(tǒng)E-R圖
Android是一種以Linux為基礎(chǔ)的開放源碼操作系統(tǒng),Android主要是以Linux系統(tǒng)為核心,主要使用Java編程語言開發(fā)[10]。本系統(tǒng)通過Java開發(fā)安卓客戶端,通過HTML、CSS、JavaScript以及衍生出來的各種框架搭建Web網(wǎng)頁端。硬件采用TCP/IP協(xié)議網(wǎng)絡(luò)通信,通過端口發(fā)送JSON格式數(shù)據(jù)到服務(wù)端,服務(wù)端將接收到的正確數(shù)據(jù)存儲到MySQL數(shù)據(jù)庫,再由服務(wù)器發(fā)送數(shù)據(jù)給Android客戶端與Web客戶端。
管理員Web平臺通過驗證登錄后,跳轉(zhuǎn)到管理員所屬首頁,在這個頁面上管理員可以管理清潔工、查看清潔工信息、管理垃圾桶、查看垃圾桶信息、查看事務(wù)信息和效績審核。
清潔工Web平臺通過驗證登錄后進入清潔工首頁,在這個頁面上清潔工可以查看垃圾桶信息數(shù)據(jù)、查看個人效績與同事聯(lián)系方式、修改個人信息、提交事務(wù)。Android移動端通過驗證登錄后進入查看所管理垃圾桶信息界面,可以查看個人信息和垃圾桶詳細記錄,業(yè)務(wù)流程圖如圖6所示。
圖6 客戶端功能結(jié)構(gòu)
系統(tǒng)開始運行,啟動硬件端相應(yīng)的垃圾桶節(jié)點,聯(lián)網(wǎng)成功后,硬件端檢測是否符合目標需求:能否在檢測到人的時候,自動打開桶蓋,人離開時,關(guān)閉桶蓋;采集的經(jīng)緯度信息、垃圾重量、桶蓋與垃圾的距離數(shù)據(jù)是否傳到相應(yīng)服務(wù)器中并解析反饋到客戶端中。
清潔工可以在Android客戶端查看相應(yīng)的信息,包括垃圾桶詳細信息查看以及溢滿提醒,還可以獲取清潔工個人信息,查看清潔工信息,如圖7所示。
圖7 垃圾桶相關(guān)信息
Web客戶端重點功能操作如下,對垃圾桶的添加、查看、編輯、刪除,如圖8所示。其他功能如下:管理員與非管理員登錄系統(tǒng),進行查看、修改個人信息;清潔工信息模塊,進行清潔工信息的查看、添加、編輯、刪除操作;績效評優(yōu)模塊,對清潔工清理垃圾桶次數(shù)統(tǒng)計、績效管理;事務(wù)模塊,清潔工提交事務(wù)到管理員,進行事務(wù)提交(例如請假),管理員對事務(wù)進行審批處理、查看等。以上功能均已完成測試。
圖8 垃圾桶管理及詳細記錄
本文設(shè)計的基于NB-IoT的智能垃圾桶系統(tǒng)硬件端完成了傳感器與STM32F103的連接,所需要采集的信息均可以采集并上傳,服務(wù)器也能正確接收數(shù)據(jù);軟件端完成了清潔工、管理員所需要求的設(shè)計與實現(xiàn),即不僅完成了基本的數(shù)據(jù)處理及反饋,還在此基礎(chǔ)上增添了績效模塊、事務(wù)模塊等,能夠進行評優(yōu)、處理員工信息等,更加貼近實際情況。本系統(tǒng)雖實現(xiàn)了垃圾桶基本的智能化,但還有許多不足以及可擴展之處,將來對其完善。在未來智慧城市的建造中,不僅僅是垃圾桶,還有許多基礎(chǔ)設(shè)施設(shè)備需要通過智能化設(shè)計,以便讓我們的城市更加智能。