劉西閣
(常州信息職業技術學院軟件與大數據學院,江蘇常州,213164)
垃圾污染問題是當今城市環境衛生最重要的問題之一,隨著時代的發展,城市規模越來越大,城鎮化人口也越來越多,城市生活垃圾數量也隨之在迅速增加,垃圾的及時清理就顯得特別重要。另外2019年6月,住建部、發改委、生態環境部等九部門聯合印發《住房和城鄉建設部等部門關于在全國地級及以上城市全面開展生活垃圾分類工作的通知》,提出自2019年起在全國地級及以上城市全面啟動生活垃圾分類工作,垃圾分類回收是實現垃圾再利用,建立綠色循環經濟的關鍵[1]。
智能垃圾箱的種類各式各樣,有感應式垃圾箱、自動壓縮式垃圾箱、分類式垃圾箱[2]。目前國內的研究主要集中在自動翻蓋[3]、語音播報、滿溢檢測[4]、智能分類[5-6]功能,有的還加入了太陽能供電功能[7]。為了研發功能更全面、使用更方便、設計更合理的垃圾箱,本文結合云平臺,利用STM32單片機設計了一款智能回收垃圾箱,具有分類回收、滿溢報警、實時監控、用戶識別等功能。
本設計以STM32單片機為核心芯片,根據功能要求,外圍擴展光電傳感器、溫濕度傳感器、稱重傳感器、GPS、GPRS、語音播報等模塊,系統總體框架如圖1所示,單片機通過GPRS和云平臺建立遠程連接,相互之間進行數據上報和指令下發,云平臺上能實時顯示垃圾箱相關信息供用戶查詢。垃圾箱實現的功能有垃圾投放用戶識別、分類投放、環境監測、滿溢報警、重量監測、位置定位。

圖1 系統總體框架圖
本系統選用的單片機型號為STM32F103ZET6,該芯片是一款性能較高,功耗較低的大容量增強型單片機,共有112個通用IO口、3個SPI、2個I2C、5個串口等多個通信接口,可以外接擴展設備,符合本設計外接多個模塊的要求。
晶體振蕩器電路的作用是給系統提供基本時鐘信號,本系統包含兩部分晶振電路,如圖2所示,OSC接外部高速晶振8MHz,用來產生高速外部用戶時鐘,OSC32接外部低速晶振32.768Hz,用來產生低速外部用戶時鐘。

圖2 晶振電路圖
晶振電路主要由兩個15pF負載電容和晶體振蕩器組成,晶體振蕩器為系統提供參考頻率,負載電容的變化會使兩端電壓不同從而導致晶體振蕩器所產生的正弦波不是完全對稱,因而本次應用兩個15pF的負載電容。
GPRS模塊采用的是Air202型號,其為四頻段GSM/GPRS模塊,采用的是RDA8955平臺。內置32Mb NorFlash和32Mb SRAM,支持三種開發模式:Lua腳本開發模式,AT命令開發模式以及C語言SDK開發模式。Air202有豐富的外圍接口,可支持最多16個GPIO,并支持ADC、音頻輸入和輸出功能,且具有省電模式。本設計選用單片機的串口1和Air202數據通信,將Air202模塊的UART1_TXD和UART1_RXD接口與單片機的PA9和PA10兩個引腳相連,除了電源和接地引腳外,其他沒有用到的管腳懸空,如圖3所示。

圖3 Air202模塊圖
GPS定位模塊選用的是Air530,該模塊是一款高性能,高集成度的多模衛星定位導航模塊,硬件上采用了射頻基帶一體化設計,集成了DC/DC、LDO、LNA、射頻前端、基帶處理、32位RISC CPU、RAM、FLASH存儲、RTC和電源管理等功能。GPS定位模塊,方便清理人員能快速的找到滿溢的垃圾箱,提高清理人員清理的效率。該模塊共有四個引腳,和單片機的串口2相連,具體連接方式為1腳接電源,2腳接單片機的PA2端口,3腳接單片機的PA3端口,4腳接地,如圖4所示。

圖4 Air530模塊圖
滿溢檢測采用E18-D80NK光電傳感器,發射與接收集成在一起,發射出的紅外線是由發射頭經處理后發出,接收發射回來的紅外線也需要接受頭進行解調處理才可以輸出,用于垃圾箱滿溢狀態檢測,該模塊DO數字信號引腳和單片機PA8接口相連。
溫濕度傳感器采用SHT10,它是一款用數字信號輸出的復合型傳感器,此傳感器可以進行相對濕度和溫度的測量。該模塊共有四個引腳,1腳和4腳分別連接GND和5V電源,2腳和3腳為數據引腳和時鐘引腳,分別連接單片機的PD9和PD8接口,具體如圖5所示。

圖5 SHT10溫濕度模塊圖
垃圾稱重模塊采用HX711模塊+5kg壓力傳感器,HX711是一款高精度的測重24位A/D轉化器芯片。稱重模塊的數據引腳和時鐘引腳分別連接單片機的PE2和PE3接口。
語音模塊采用JQ6500語音芯片,外加一個揚聲器。芯片共有24個管腳,采用SSOP塑料進行封裝,芯片內部集成了一個微型控制器和一個音頻數字信號處理器。其中數據收發引腳連接單片機的PD2和PC12即串口5,SPK+和SPK-引腳連接喇叭用于語音播放,具體連接如圖6所示。

圖6 JQ6500語音模塊圖
掃描槍采用的是CP2100,這是一種便攜性高,性能好,高集成度,高穩定性的嵌入式二維碼通信模塊。該模塊共有5個引腳,數據通信引腳連接單片機串口4(PC10和PC11)。
垃圾箱需定期將環境信息和定位信息發送到云平臺,方便垃圾箱管理者做出決策。程序中首先通過設備序列號和云平臺建立連接,如果連接成功,將相應TLINK_DATA_LINK標志位置位,采集垃圾箱相關數據,并按照規定的數據格式(M,重量,滿溢,溫度,濕度,GPS定位,E)封裝,每隔30秒通過GPRS模塊上報云平臺,數據采集上報的程序流程圖如圖7所示。

圖7 數據采集上報流程圖
GPS定位信息采集要先設置Air530模塊的工作模式,該模塊支持NMEA協議,單片機按GKC接口數據格式向其發送配置命令,設置模塊上報定位消息時間間隔和上報數據內容。當收到GPS消息后,判斷定位數據內容是否有效、數據格式是否正確,并將定位消息存入特定變量,GPS定位信息采集流程圖如圖8所示。

圖8 GPS定位信息采集流程圖
對于垃圾投放者,垃圾箱需進行智能提示協助完成垃圾分類投放,通過用戶的手機號或二維碼識別垃圾投放者身份,先檢測手機號或二維碼是否合法,然后利用語音播報提示用戶進行選擇,根據用戶選擇打開相應的垃圾箱實現分類投放,流程圖如圖9所示。

圖9 用戶交互流程圖
本項目云平臺選用的是TLINK平臺,一種免費開放的物聯網設備連接平臺,平臺上可以根據項目需要添加監控的設備,設備創建完成后,可在監控中心查看每個設備的實時數據、連接狀態、數據更新時間等信息,因此該平臺功能完全滿足本項目對垃圾箱遠程監控的需求。
創建設備需要先明確設備的功能和參數,根據項目需求分析可知,云平臺上需要創建有溫度、濕度、滿載、稱重和定位功能的設備,創建設備的流程為:
(1)添加設備定義設備名稱,本設計的設備名稱為智能二分類回收箱。
(2)選擇連接協議,本設計選用TCP傳輸協議,該協議具有順序控制、重發控制等機制,保證傳輸數據的正確性。
(3)添加傳感器,根據項目需求,給設備添加溫度、濕度、滿載、重量和定位五個傳感器。溫濕度數據保留一位小數,總重量保留零位小數,滿載狀態用0、1來表示,定位傳感器為定位型數值。
(4)位置信息,添加一個地理位置給設備,可以通過搜索查詢到需要的經緯度信息。
(5)設置數據格式,平臺通過協議標簽的組合來解析數據包,在協議標簽中設置規范的數據格式,這樣平臺才能夠準確接收并正確解析到設備上傳的數據。一個完整的協議標簽要嚴格按照規范,依次是數據頭標簽,分隔符標簽,數據標簽,以及結束符標簽。
創建完成后的設備界面如圖10所示。

圖10 云平臺監測界面
硬件和軟件設計完成之后,需要對系統進行功能測試,搭建硬件測試環境如圖11所示,將軟件程序代碼下載到STM32單片機,按照系統方案里要實現的功能點進行驗證,具體的測試內容包括:

圖11 智能垃圾箱測試系統
(1)數據上報:云平臺上能實時監測到上報的溫濕度、重量、滿載和定位信息。改變垃圾箱實際環境,云平臺監測數據會隨著環境的改變而變化。
(2)用戶識別:能通過掃描二維碼和輸入手機號進行投放用戶識別,并根據用戶的選擇打開相應垃圾回收箱的控制門進行垃圾分類投放。
(3)語音播報:用戶操作時除了顯示屏顯示提示信息外,語音模塊應能正常播報相應提示內容。
智能回收垃圾箱在美化城市環境衛生上具有舉足輕重的作用,本設計以STM32為核心芯片,實現了垃圾箱信息監測、用戶識別、分類投放功能。但系統功能還可以再繼續改進,比如增加用戶積分、垃圾自動分類等。