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