趙鋼
(西安航空職業技術學院 陜西 西安 710089)
垃圾問題,伴隨人類文明的發展日益嚴重。 新浪網曾做過一項調查,在3435 名被訪者中,僅有38.6%的家庭給垃圾分了類。 很多市民很愿意配合垃圾分類這項工作,但困擾他們的問題是:垃圾該如何準確分類。 在《關于廣州市資源環保考察團赴臺考察情況的報告》中明確寫道,“雖然98%的人支持垃圾分類,但自覺參與垃圾分類、且相對投放準確的不到30%。 ”
2013 年7 月,“垃圾不落地” 模式在廣州越秀區六榕街道試行近一年。 如今大部分街坊,垃圾不再混合堆放樓道,而是下樓再扔。盡管如此,可在分類的準確度上,卻仍有待提高。
面對日益增長的垃圾產量和環境狀況惡化的局面,我們需要通過科學的垃圾分類管理,最大限度地實現垃圾資源利用,減少垃圾處置量,改善生存環境質量。 因此,研究一套便捷的可向用戶展示日常垃圾分類信息的系統是很有必要的。
無線技術可以分為高速率和低速率兩類[1],高速率無線技術主要包括Infrared Ray、Wi-Fi、HomeRF、Bluetooth、DECT(Digital Enhanced Cordless Telecommunications)、HiperLAN 和UWB(Ultra Wideband)等,低速率無線技術主要包括ZigBee 和Z-Wave(基于射頻的短距離無線通信技術)。 可組網的無線技術特性如表1 所示。
表1 可無線通信技術特性比較Tab.1 Comparative study of wireless communication technology
其中ZigBee 自組自愈能力強,通信可靠,工作頻段靈活,最大傳輸范圍在10~75 m, 且理論上可組建65536 個節點的網絡,其網絡容量及250 kbps 的傳輸速率已完全滿足小區信息提示網絡的需要。
基于ZigBee 的小區垃圾分類提示系統的實現方案,實際上是向住在小區的住戶展示日常生活垃圾的分類信息, 方便用戶查詢。 主要由終端節點、ZigBee 路由器、ZigBee 網絡協調器以及服務器終端等組成,其網絡結構示意圖如圖1 所示。
圖1 小區ZigBee 網絡結構示意圖Fig. 1 Community ZigBee network structure
終端節點主要用于向用戶展示基本的垃圾分類規則,并收集轉發不確定分類垃圾的信息,ZigBee 網絡路由器是建網的主要環節,負責識別加入終端節點的網絡地址,并選擇合適的網絡路徑傳輸給協調器;ZigBee 網絡協調器負責發起網絡并對其進行管理和維護,包括對新加入的設備分配網絡地址,節點的加入和離開等。
系統是基于ZigBee 技術[2-3]的信息提示網絡,選擇Chipcon公司推出的用來實現嵌入式ZigBee 應用的片上系統CC2430。 CC2430 采用增強型8051MCU、32/64/128KB 閃存、8KBSRAM 等高性能模塊, 并內置ZigBee 協議棧, 同時支持2.4 GHz、IEEE802.15.4/ZigBee 協議。
終端節點[4]包括以下幾個部分:基于單片機的顯控錄音模塊、 紅外人體感應模塊、CC2430 片上系統、32 MHz 系統時鐘和32.768 kHz 的實時時鐘、調試接口、天線以及電源。 其中單片機的顯控模塊主要用來顯示常用垃圾分類信息與社區每日推送的信息等, 紅外人體感應模塊用于檢測靠近終端的居民從而喚醒終端,CC2430 片上系統主要完成服務器消息的接收與用戶消息的上傳,其硬件結構圖如圖2 所示。
圖2 終端硬件結構示意圖Fig. 2 Terminal hardware structure
由于終端節點系統設計[5],一般會考慮低功耗的因素,故通信距離在100 m 左右,這個距離并不利于組建覆蓋范圍較大的網絡,為了進一步提高網絡的覆蓋范圍,可利用射頻前端CC2591,來提高發送功率以及接收靈敏度。 其硬件結構圖如圖3 所示。
圖3 路由器硬件示意圖Fig. 3 Structure of router hardware
CC2591 集成了+22 dBm 的功率放大器以及+6 dB 的低噪聲放大器,是一款高性能、低成本、低功耗,集成度最高的2.4 GHz 射頻前端。
由于小區垃圾分類提示系統工作在居民小區, 故會存在2.4 GHz 頻帶,以家用無線設備為主的干擾源,如工作在2.4 GHz 的無線鍵鼠等。為使提示系統可覆蓋整個小區,需使用多種天線配合組網,在樓層間距離短,可采用PCB 板載倒F 型天線; 在樓宇間由于傳輸距離較遠, 同頻干擾對網絡影響較大, 可使用具有較強方向性的八木天線與平板天線結合的方式,八木天線可用于路由器發射天線,平板天線可用于協調器接收天線。
基于ZigBee 網絡的小區垃圾分類提示系統[6],其軟件性能取決于協議棧的設計與應用程序的開發。因此,軟件部分設計主要包括ZigBee 協議棧和ZigBee 模塊相關部分設計。
協議棧[2]定義了通信硬件和軟件在不同級間協調工作的方式,ZigBee 無線網絡是建立在ZigBee 協議棧的基礎上的。ZigBee 協議棧采用分層結構,由一組子層構成;協議分層的目的,是為了使各層相對獨立,每一層都能提供特定服務,服務由協議定義,程序員只需關心與自身工作直接相關層級協議。
本設計中,采用Chipcon 公司開發的協議棧Z-Stack。 ZStack 協議棧是TI 提供的符合ZigBee 規范的免費協議棧,可以完全運行在CC2430 節點上。 它運行在操作系統的抽象層(OSAL,Operating System Abstract Layer)上,而OSAL 采用了與Windows 程序類似的消息事件驅動機制,通過觸發任務事件來實現系統的任務調度。
ZigBee 模塊的工作,通過每層特定服務,完成設定的工作任務。各項服務都是通過服務原語來實現的,原語在程序中就相當于一個可實現設定功能的函數, 每個事件都是由服務原語組成,它使一個設備的其中一層,可通過該層的服務入口與建立對等連接的設備相同層級進行通訊。 原語通常分為以下四類型: 請求原語 (Request primitive), 響應原語(Response primitive),指示原語(Indieation primitive)和確認原語(Confirm primitive)。
ZigBee 設備都具有兩個基本功能,即加入網絡和離開網絡。 ZigBee 協調器和ZigBee 路由器還具有:允許設備加入網絡,允許設備離開網絡,參與分配邏輯網絡地址,維護近鄰設備列表等功能。
4.3.1 ZigBee 模塊協調器建網
一個ZigBee 網絡[2]有且只有一個網絡協調器,網絡的建立由它發起。當需要建立一個新的ZigBee 網絡時,協調器將經過以下主要步驟,能量探測、主動掃描,信道選擇,以及網絡短地址、網絡標識符、網絡拓撲參數、信標周期等的確定。 其網絡建立流程如圖4 所示,允許節點加入網絡流程圖如圖5 所示。
圖4 協調器建網流程圖Fig. 4 The coordinator network flow chart
在協調器建網建網過程中, 初始化創建新網絡使用了NLME-NETWORK-FORMATION.request 原語。設備NLME 將檢索主動掃描返回的PAN 掃描符,找到其中現存網絡最少的第一個信道作為創建新網絡的工作信道。 如果找不到合適的信道,NLME 將中止創建新網絡的過程并通知上層:創建網絡失敗。如果找到合適的信道,NLME 將為新網絡選擇一個PAN標識。
ZigBee 協調器和ZigBee 路由器能夠允許節點加入網絡,而ZigBee 終端節點則不能,如果允許節點加入網絡過程初始化發生在一個ZigBee 終端節點上, 節點NLME 將中止該過程。允許節點加入網絡的過程通過NLME-PERMIT-JOINING.request 原語來初始化。
圖5 允許節點加入網絡流程圖Fig. 5 Allows a node to join the network flow chart
4.3.2 ZigBee 模塊路由器建網
路由器節點在ZigBee 網絡[7-8]中起接力的作用,終端節點、 路由節點以及協調器節點間的數據傳輸都可以通過路由實現。 NLME_START_ROUTER 原語用來把一個新的網絡的設備初始化成ZigBee 路由器,或用來重新配置一個ZigBee 路由器的超幀。 其參數:BeaconOrder 表示上層期望的網絡信標階數;SuperframeOrder 表示上層期望的網絡超幀階數;BatteryLifeExtension 取 值 為TRUE 時,NLME 將 請 求ZigBee路由器運行時支持電池壽命延長模式, 取值為FALSE 時,NLME 將請求ZigBee 路由運行時不支持電池壽命延長模式。其建網流程與允許節點加入網絡流程相似。
本設計的ZigBee 路由的建立過程采用按需路由協議AODV,該協議適合運用于移動頻繁或節點數據較多的應用場合。 在ZigBee 網絡中AODV 算法為兩個節點之間路由路徑提供多種選擇,當一條路徑失效,AODV 算法可快速尋找一條新的路由路徑來代替原來的路由,具有很強的網絡自適應能力。
4.3.3 ZigBee 模塊終端節點入網過程
終端節點主要用來傳遞用戶的不確定信息, 并向上發送至其上節點,最終發送到協調器,同時它也可以接收協調器發來的命令與信息。 子節點通過孤點方式連接網絡或者重新連接網絡的流程如圖6 所示。
圖6 子節點加入網絡流程圖Fig. 6 Child nodes to join the network flowchart
終端節點通過發送NLME-JOIN.request 來執行孤點方式網絡連接,其原語RejoinNetwork 參數設置為0x01。 如果子節點掃描到父節點成功(即孤點掃描),則網絡層管理實體發送NLME-JOIN.confirm 原語通知上層請求連接執行成功, 其原語狀態參數設置為SUCCESS。 如果孤點掃描不成功,網絡層管理實體終止該流程, 并通過發送NLME-JOIN.confirm 原語告知上層沒有掃描到網絡, 其原語的狀態參數設置為NO_NETWORKS。
本文所設計的基于ZigBee 技術的小區垃圾分類提示系統,成功結合了ZigBee 無線網絡的數據傳輸速率高,功耗低,網絡容量大,自組自愈能力強,通信可靠等功能優點,具有成本低,技術成熟、結構合理,方便擴展等優勢,在全面提高小區戶主環保意識的同時,為小區的垃圾分類管理,分類信息統計及垃圾回收研究提供了數據依據,對研究我國城市垃圾分類及回收有一定的指導意義。
[1] 呂鑫,王忠. ZigBee無線數據傳輸模塊的設計與實現[J].安徽師范大學學報:自然科學版,2010,33(4):332-335.
LV Xin,WANG Zhong.Design & realization of ZigBee data transmission module [J].Journal of Anhui Normal University:Natural Science,2010,33(4):332-335.
[2] 高守瑋,吳燦陽.ZigBee技術實踐教程[M].北京航空航天大學出版,2009.
[3] 鄒志勇, 周曼. 基于ZigBee和GPRS飲水機自動叫水智能系統設計[J].自動化與儀器儀表, 2013,33(1):74-75.
ZOU Zhi-yong,ZHOU Man.Based on the ZigBee and GPRS dispenser automatically called water smart system design[J].Automation & Instrumentation, 2013,33(1):74-75.
[4] 丁捷.基于ZigBee的溫室無線網絡節點設計及研究[D].鄭州:河南科技大學,2012.
[5] 黃玉立.基于CC2591的無線通信前端設計及實現[D].成都:電子科技大學,2011.
[6] 任麗莉, 范亞芹. ZigBee信號在智能小區中傳輸的改進[J].吉林大學學報:信息科學版,2011,29(6):518-522.
REN Li-li,FAN Ya-qin.Transmission improvement of ZigBee signal in intelligent community [J].Journal of Jilin University:Information Science Edition,2011,29(6):518-522.
[7] 陳海燕,張晨.ZigBee無線語音通信組網技術[J].哈爾濱理工大學學報,2012,17(4):68-72.
CHEN Hai-yan,ZHANG Chen.The technology of ZigBee for building wireless voice communications network [J].Journal of Harbin University of Science and Technology,2012,17(4):68-72.
[8] 曾小虎.ZigBee路由實現與通信性能測試研究[D].廣州:廣東工業大學,2012.