劉西閣
(常州信息職業(yè)技術(shù)學(xué)院軟件與大數(shù)據(jù)學(xué)院,江蘇常州,213164)
垃圾污染問題是當(dāng)今城市環(huán)境衛(wèi)生最重要的問題之一,隨著時(shí)代的發(fā)展,城市規(guī)模越來越大,城鎮(zhèn)化人口也越來越多,城市生活垃圾數(shù)量也隨之在迅速增加,垃圾的及時(shí)清理就顯得特別重要。另外2019年6月,住建部、發(fā)改委、生態(tài)環(huán)境部等九部門聯(lián)合印發(fā)《住房和城鄉(xiāng)建設(shè)部等部門關(guān)于在全國地級及以上城市全面開展生活垃圾分類工作的通知》,提出自2019年起在全國地級及以上城市全面啟動(dòng)生活垃圾分類工作,垃圾分類回收是實(shí)現(xiàn)垃圾再利用,建立綠色循環(huán)經(jīng)濟(jì)的關(guān)鍵[1]。
智能垃圾箱的種類各式各樣,有感應(yīng)式垃圾箱、自動(dòng)壓縮式垃圾箱、分類式垃圾箱[2]。目前國內(nèi)的研究主要集中在自動(dòng)翻蓋[3]、語音播報(bào)、滿溢檢測[4]、智能分類[5-6]功能,有的還加入了太陽能供電功能[7]。為了研發(fā)功能更全面、使用更方便、設(shè)計(jì)更合理的垃圾箱,本文結(jié)合云平臺(tái),利用STM32單片機(jī)設(shè)計(jì)了一款智能回收垃圾箱,具有分類回收、滿溢報(bào)警、實(shí)時(shí)監(jiān)控、用戶識別等功能。
本設(shè)計(jì)以STM32單片機(jī)為核心芯片,根據(jù)功能要求,外圍擴(kuò)展光電傳感器、溫濕度傳感器、稱重傳感器、GPS、GPRS、語音播報(bào)等模塊,系統(tǒng)總體框架如圖1所示,單片機(jī)通過GPRS和云平臺(tái)建立遠(yuǎn)程連接,相互之間進(jìn)行數(shù)據(jù)上報(bào)和指令下發(fā),云平臺(tái)上能實(shí)時(shí)顯示垃圾箱相關(guān)信息供用戶查詢。垃圾箱實(shí)現(xiàn)的功能有垃圾投放用戶識別、分類投放、環(huán)境監(jiān)測、滿溢報(bào)警、重量監(jiān)測、位置定位。
圖1 系統(tǒng)總體框架圖
本系統(tǒng)選用的單片機(jī)型號為STM32F103ZET6,該芯片是一款性能較高,功耗較低的大容量增強(qiáng)型單片機(jī),共有112個(gè)通用IO口、3個(gè)SPI、2個(gè)I2C、5個(gè)串口等多個(gè)通信接口,可以外接擴(kuò)展設(shè)備,符合本設(shè)計(jì)外接多個(gè)模塊的要求。
晶體振蕩器電路的作用是給系統(tǒng)提供基本時(shí)鐘信號,本系統(tǒng)包含兩部分晶振電路,如圖2所示,OSC接外部高速晶振8MHz,用來產(chǎn)生高速外部用戶時(shí)鐘,OSC32接外部低速晶振32.768Hz,用來產(chǎn)生低速外部用戶時(shí)鐘。
圖2 晶振電路圖
晶振電路主要由兩個(gè)15pF負(fù)載電容和晶體振蕩器組成,晶體振蕩器為系統(tǒng)提供參考頻率,負(fù)載電容的變化會(huì)使兩端電壓不同從而導(dǎo)致晶體振蕩器所產(chǎn)生的正弦波不是完全對稱,因而本次應(yīng)用兩個(gè)15pF的負(fù)載電容。
GPRS模塊采用的是Air202型號,其為四頻段GSM/GPRS模塊,采用的是RDA8955平臺(tái)。內(nèi)置32Mb NorFlash和32Mb SRAM,支持三種開發(fā)模式:Lua腳本開發(fā)模式,AT命令開發(fā)模式以及C語言SDK開發(fā)模式。Air202有豐富的外圍接口,可支持最多16個(gè)GPIO,并支持ADC、音頻輸入和輸出功能,且具有省電模式。本設(shè)計(jì)選用單片機(jī)的串口1和Air202數(shù)據(jù)通信,將Air202模塊的UART1_TXD和UART1_RXD接口與單片機(jī)的PA9和PA10兩個(gè)引腳相連,除了電源和接地引腳外,其他沒有用到的管腳懸空,如圖3所示。
圖3 Air202模塊圖
GPS定位模塊選用的是Air530,該模塊是一款高性能,高集成度的多模衛(wèi)星定位導(dǎo)航模塊,硬件上采用了射頻基帶一體化設(shè)計(jì),集成了DC/DC、LDO、LNA、射頻前端、基帶處理、32位RISC CPU、RAM、FLASH存儲(chǔ)、RTC和電源管理等功能。GPS定位模塊,方便清理人員能快速的找到滿溢的垃圾箱,提高清理人員清理的效率。該模塊共有四個(gè)引腳,和單片機(jī)的串口2相連,具體連接方式為1腳接電源,2腳接單片機(jī)的PA2端口,3腳接單片機(jī)的PA3端口,4腳接地,如圖4所示。
圖4 Air530模塊圖
滿溢檢測采用E18-D80NK光電傳感器,發(fā)射與接收集成在一起,發(fā)射出的紅外線是由發(fā)射頭經(jīng)處理后發(fā)出,接收發(fā)射回來的紅外線也需要接受頭進(jìn)行解調(diào)處理才可以輸出,用于垃圾箱滿溢狀態(tài)檢測,該模塊DO數(shù)字信號引腳和單片機(jī)PA8接口相連。
溫濕度傳感器采用SHT10,它是一款用數(shù)字信號輸出的復(fù)合型傳感器,此傳感器可以進(jìn)行相對濕度和溫度的測量。該模塊共有四個(gè)引腳,1腳和4腳分別連接GND和5V電源,2腳和3腳為數(shù)據(jù)引腳和時(shí)鐘引腳,分別連接單片機(jī)的PD9和PD8接口,具體如圖5所示。
圖5 SHT10溫濕度模塊圖
垃圾稱重模塊采用HX711模塊+5kg壓力傳感器,HX711是一款高精度的測重24位A/D轉(zhuǎn)化器芯片。稱重模塊的數(shù)據(jù)引腳和時(shí)鐘引腳分別連接單片機(jī)的PE2和PE3接口。
語音模塊采用JQ6500語音芯片,外加一個(gè)揚(yáng)聲器。芯片共有24個(gè)管腳,采用SSOP塑料進(jìn)行封裝,芯片內(nèi)部集成了一個(gè)微型控制器和一個(gè)音頻數(shù)字信號處理器。其中數(shù)據(jù)收發(fā)引腳連接單片機(jī)的PD2和PC12即串口5,SPK+和SPK-引腳連接喇叭用于語音播放,具體連接如圖6所示。
圖6 JQ6500語音模塊圖
掃描槍采用的是CP2100,這是一種便攜性高,性能好,高集成度,高穩(wěn)定性的嵌入式二維碼通信模塊。該模塊共有5個(gè)引腳,數(shù)據(jù)通信引腳連接單片機(jī)串口4(PC10和PC11)。
垃圾箱需定期將環(huán)境信息和定位信息發(fā)送到云平臺(tái),方便垃圾箱管理者做出決策。程序中首先通過設(shè)備序列號和云平臺(tái)建立連接,如果連接成功,將相應(yīng)TLINK_DATA_LINK標(biāo)志位置位,采集垃圾箱相關(guān)數(shù)據(jù),并按照規(guī)定的數(shù)據(jù)格式(M,重量,滿溢,溫度,濕度,GPS定位,E)封裝,每隔30秒通過GPRS模塊上報(bào)云平臺(tái),數(shù)據(jù)采集上報(bào)的程序流程圖如圖7所示。
圖7 數(shù)據(jù)采集上報(bào)流程圖
GPS定位信息采集要先設(shè)置Air530模塊的工作模式,該模塊支持NMEA協(xié)議,單片機(jī)按GKC接口數(shù)據(jù)格式向其發(fā)送配置命令,設(shè)置模塊上報(bào)定位消息時(shí)間間隔和上報(bào)數(shù)據(jù)內(nèi)容。當(dāng)收到GPS消息后,判斷定位數(shù)據(jù)內(nèi)容是否有效、數(shù)據(jù)格式是否正確,并將定位消息存入特定變量,GPS定位信息采集流程圖如圖8所示。
圖8 GPS定位信息采集流程圖
對于垃圾投放者,垃圾箱需進(jìn)行智能提示協(xié)助完成垃圾分類投放,通過用戶的手機(jī)號或二維碼識別垃圾投放者身份,先檢測手機(jī)號或二維碼是否合法,然后利用語音播報(bào)提示用戶進(jìn)行選擇,根據(jù)用戶選擇打開相應(yīng)的垃圾箱實(shí)現(xiàn)分類投放,流程圖如圖9所示。
圖9 用戶交互流程圖
本項(xiàng)目云平臺(tái)選用的是TLINK平臺(tái),一種免費(fèi)開放的物聯(lián)網(wǎng)設(shè)備連接平臺(tái),平臺(tái)上可以根據(jù)項(xiàng)目需要添加監(jiān)控的設(shè)備,設(shè)備創(chuàng)建完成后,可在監(jiān)控中心查看每個(gè)設(shè)備的實(shí)時(shí)數(shù)據(jù)、連接狀態(tài)、數(shù)據(jù)更新時(shí)間等信息,因此該平臺(tái)功能完全滿足本項(xiàng)目對垃圾箱遠(yuǎn)程監(jiān)控的需求。
創(chuàng)建設(shè)備需要先明確設(shè)備的功能和參數(shù),根據(jù)項(xiàng)目需求分析可知,云平臺(tái)上需要?jiǎng)?chuàng)建有溫度、濕度、滿載、稱重和定位功能的設(shè)備,創(chuàng)建設(shè)備的流程為:
(1)添加設(shè)備定義設(shè)備名稱,本設(shè)計(jì)的設(shè)備名稱為智能二分類回收箱。
(2)選擇連接協(xié)議,本設(shè)計(jì)選用TCP傳輸協(xié)議,該協(xié)議具有順序控制、重發(fā)控制等機(jī)制,保證傳輸數(shù)據(jù)的正確性。
(3)添加傳感器,根據(jù)項(xiàng)目需求,給設(shè)備添加溫度、濕度、滿載、重量和定位五個(gè)傳感器。溫濕度數(shù)據(jù)保留一位小數(shù),總重量保留零位小數(shù),滿載狀態(tài)用0、1來表示,定位傳感器為定位型數(shù)值。
(4)位置信息,添加一個(gè)地理位置給設(shè)備,可以通過搜索查詢到需要的經(jīng)緯度信息。
(5)設(shè)置數(shù)據(jù)格式,平臺(tái)通過協(xié)議標(biāo)簽的組合來解析數(shù)據(jù)包,在協(xié)議標(biāo)簽中設(shè)置規(guī)范的數(shù)據(jù)格式,這樣平臺(tái)才能夠準(zhǔn)確接收并正確解析到設(shè)備上傳的數(shù)據(jù)。一個(gè)完整的協(xié)議標(biāo)簽要嚴(yán)格按照規(guī)范,依次是數(shù)據(jù)頭標(biāo)簽,分隔符標(biāo)簽,數(shù)據(jù)標(biāo)簽,以及結(jié)束符標(biāo)簽。
創(chuàng)建完成后的設(shè)備界面如圖10所示。
圖10 云平臺(tái)監(jiān)測界面
硬件和軟件設(shè)計(jì)完成之后,需要對系統(tǒng)進(jìn)行功能測試,搭建硬件測試環(huán)境如圖11所示,將軟件程序代碼下載到STM32單片機(jī),按照系統(tǒng)方案里要實(shí)現(xiàn)的功能點(diǎn)進(jìn)行驗(yàn)證,具體的測試內(nèi)容包括:
圖11 智能垃圾箱測試系統(tǒng)
(1)數(shù)據(jù)上報(bào):云平臺(tái)上能實(shí)時(shí)監(jiān)測到上報(bào)的溫濕度、重量、滿載和定位信息。改變垃圾箱實(shí)際環(huán)境,云平臺(tái)監(jiān)測數(shù)據(jù)會(huì)隨著環(huán)境的改變而變化。
(2)用戶識別:能通過掃描二維碼和輸入手機(jī)號進(jìn)行投放用戶識別,并根據(jù)用戶的選擇打開相應(yīng)垃圾回收箱的控制門進(jìn)行垃圾分類投放。
(3)語音播報(bào):用戶操作時(shí)除了顯示屏顯示提示信息外,語音模塊應(yīng)能正常播報(bào)相應(yīng)提示內(nèi)容。
智能回收垃圾箱在美化城市環(huán)境衛(wèi)生上具有舉足輕重的作用,本設(shè)計(jì)以STM32為核心芯片,實(shí)現(xiàn)了垃圾箱信息監(jiān)測、用戶識別、分類投放功能。但系統(tǒng)功能還可以再繼續(xù)改進(jìn),比如增加用戶積分、垃圾自動(dòng)分類等。