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