秦苗苗,呂凱旋,姜冰冰
(鄭州輕工業(yè)大學(xué),河南 鄭州 450000)
近年來,經(jīng)濟飛速發(fā)展,城市化程度不斷提高,導(dǎo)致垃圾數(shù)量呈爆炸性增長,進而導(dǎo)致嚴重的垃圾管理問題。這主要是由于垃圾監(jiān)測和管理流程不當(dāng)造成的。隨著物聯(lián)網(wǎng)技術(shù)的發(fā)展,技術(shù)人員可以利用物聯(lián)網(wǎng)技術(shù)將垃圾桶和互聯(lián)網(wǎng)相聯(lián)系,傳遞信息,從而對垃圾桶實行智能化監(jiān)控,解決垃圾溢滿影響城市形象的問題。
傳統(tǒng)的無線信息傳輸技術(shù),如GPRS、藍牙、ZigBee等盡管在功能上均能夠完成基本工作,但劣勢在于功耗大且有效傳輸距離短,不利于長期使用,故采用具有明顯低功耗和低成本優(yōu)勢的NB-IoT(窄帶物聯(lián)網(wǎng))無線傳輸技術(shù)解決上述問題。通過物聯(lián)網(wǎng)技術(shù)監(jiān)管垃圾桶,完善溢滿檢測系統(tǒng),提高環(huán)衛(wèi)工作的工作效率,減少環(huán)衛(wèi)工作中資源的浪費。
本文設(shè)計的基于NB-IoT的垃圾桶溢滿檢測系統(tǒng)包括硬件部分、軟件部分和IoT平臺部分。硬件部分主要研究主控模塊的控制方式以及物聯(lián)網(wǎng)技術(shù)的運用方法;軟件部分主要研究NB-IoT網(wǎng)絡(luò)的通信方式;IoT平臺部分主要研究平臺的搭建方式以及簡單的數(shù)據(jù)可視化方法。
本系統(tǒng)采用干電池為電路系統(tǒng)供電,以垃圾桶桶蓋為安裝載體,通過MSP430主控模塊控制實用激光測距傳感器獲取桶內(nèi)垃圾余量,通過控制實時時間模塊獲取時間,利用NB-IoT通信模塊通過基站將數(shù)據(jù)發(fā)送到IoT平臺。系統(tǒng)組成如圖1所示。
圖1 溢滿檢測系統(tǒng)框架
本系統(tǒng)的硬件組成包括:供電系統(tǒng)模塊、主控模塊、桶內(nèi)測距模塊、NB-IoT通信模塊、實時時間模塊,如圖2所示。供電系統(tǒng)模塊為溢滿檢測系統(tǒng)的硬件供電,主控模塊是硬件系統(tǒng)的控制模塊,控制各種邏輯算法以及系統(tǒng)運行流程。測距模塊電路主要針對傳感器的輪詢讀取電路進行設(shè)計,采用邏輯開關(guān)芯片作為系統(tǒng)選通傳感器的模擬開關(guān)。
圖2 溢滿檢測系統(tǒng)硬件模塊設(shè)計
供電系統(tǒng)模塊為溢滿檢測系統(tǒng)的硬件供電,本次設(shè)計采用干電池,可根據(jù)微控制器的型號來確定干電池的電壓(3 V/5 V)。主控模塊是硬件系統(tǒng)的控制模塊,控制各種邏輯算法以及系統(tǒng)運行的流程。桶內(nèi)測距模塊的目的是采集垃圾桶內(nèi)垃圾余量數(shù)據(jù),這是本次設(shè)計中進行溢滿判斷的基礎(chǔ)數(shù)據(jù)。數(shù)據(jù)上傳到IoT平臺后通過一系列算法即可進行溢滿檢測。通信模塊的主要作用是在微控制器的控制下把數(shù)據(jù)上傳到IoT平臺,并且在系統(tǒng)進入低功耗模式時,通信模塊也要配合低功耗模式進入休眠狀態(tài)。實時時間模塊具有確定實時時間的功能,為每個數(shù)據(jù)打上時間標(biāo)記,便于分析和管理。
本系統(tǒng)軟件包括系統(tǒng)初始化部分、TOF10120激光測距部分、PCF8563實時時間獲取部分、M5311 NB-IoT通信模組上傳與接收數(shù)據(jù)部分。系統(tǒng)流程如圖3所示。
圖3 系統(tǒng)流程
該系統(tǒng)實現(xiàn)的功能如下:
(1)初始化部分:單片機初始化,各種功能對應(yīng)寄存器的初始化配置以及函數(shù)的初始化聲明等;
(2)PCF8563獲取實時時間部分:系統(tǒng)硬件設(shè)備上傳的數(shù)據(jù)包含實時時間,所以需要在上傳數(shù)據(jù)之前獲取準(zhǔn)確的時間,PCF8563芯片與單片機間進行IC通信把實時時間傳輸給單片機主控模塊;
(3)TOF10120激光測距部分:TOF10120激光測距模塊與單片機進行UART通信,把原始數(shù)據(jù)傳輸給單片機主控模塊,共有4個激光測距模塊,因此需要進行傳感器數(shù)據(jù)的輪詢讀??;
(4)M5311 NB-IoT通信模組通信部分:M5311 NB-IoT通信模組與單片機間進行UART通信,與IoT平臺通信首先需要通過SIM卡入網(wǎng),NB模組聯(lián)網(wǎng)上報數(shù)據(jù)的過程根據(jù)AT指令完成,單片機通過UART通信將AT指令按照一定的邏輯順序發(fā)送給NB-IoT通信模組,控制NB-IoT通信模組把數(shù)據(jù)上傳到IoT平臺。
IoT平臺需要在服務(wù)器中搭建,微控制器通過NB-IoT通信模塊將數(shù)據(jù)上傳到IoT平臺,同時接收IoT平臺下發(fā)的數(shù)據(jù)。IoT平臺將接收的數(shù)據(jù)經(jīng)過處理后進行數(shù)據(jù)的可視化操作,方便用戶實時監(jiān)管。硬件上傳的原始數(shù)據(jù)首先存放到后端的某一位置,接著經(jīng)過一系列算法解析后,把需要用到的數(shù)據(jù)提供給前端,最后在UI界面上進行數(shù)據(jù)的可視化處理,用戶就可以從UI界面上看到處理后的數(shù)據(jù)。數(shù)據(jù)下發(fā)與上傳是完全相反的流程,在下發(fā)數(shù)據(jù)控制硬件系統(tǒng)時,首先從UI界面進行操作,寫入某些數(shù)據(jù)或按下某些按鈕后,經(jīng)過前后端的交互,后端部分把數(shù)據(jù)進行封裝,轉(zhuǎn)化為JSON格式發(fā)送給硬件系統(tǒng),如圖4所示。
圖4 溢滿檢測系統(tǒng)IoT平臺部分設(shè)計
通過串口檢測工具監(jiān)控NB-IoT通信模組和單片機之間的通信,以此來測試溢滿檢測系統(tǒng)的功能能否成功實現(xiàn)。主要進行兩次數(shù)據(jù)交流測試,分別是單片機上傳原始數(shù)據(jù)到平臺和平臺對硬件系統(tǒng)下發(fā)控制數(shù)據(jù),硬件系統(tǒng)按照平臺下發(fā)的數(shù)據(jù)配置相關(guān)模塊進行工作。
確定模組正常工作之后,硬件系統(tǒng)連接服務(wù)器后就可以上傳封裝好的JSON格式數(shù)據(jù)到IoT平臺,上傳數(shù)據(jù)成功后,硬件系統(tǒng)需要接收服務(wù)器回傳的數(shù)據(jù)。上傳數(shù)據(jù)部分的串口工具監(jiān)測示意圖如圖5所示。
圖5 上傳數(shù)據(jù)部分的串口監(jiān)測示意圖
系統(tǒng)硬件成功連接到服務(wù)器后,請求服務(wù)器下發(fā)配置數(shù)據(jù),以幫助系統(tǒng)的硬件部分進行對時,即確定當(dāng)前的時間。之后IoT平臺會傳輸具體數(shù)據(jù)到系統(tǒng)的硬件部分,完成數(shù)據(jù)的接收工作后,需要清除HTTP連接。系統(tǒng)接收服務(wù)器的數(shù)據(jù)回傳配置部分串口工具監(jiān)測示意圖如圖6所示。
圖6 數(shù)據(jù)回傳配置部分串口工具監(jiān)測示意圖
本文設(shè)計的垃圾桶溢滿檢測系統(tǒng)為智慧城市的衛(wèi)生環(huán)境治理提供了有效的方法。該系統(tǒng)選用了超低功耗的主控MSP430FR2433單片機,配合低功耗M5311 NB-IoT通信模組,使得系統(tǒng)在正常工作時所使用的電量極低,同時在空閑狀態(tài)時進入低功耗模式,使得持續(xù)耗電量維持在較低水平。系統(tǒng)擁有廣闊的使用空間與較好的市場前景。