占華林,徐濤濤,陳如明,葉立穎,張開軒
(江西科技師范大學(xué),江西 南昌 330013)
隨著國(guó)家推行智能城市建設(shè)計(jì)劃,市政設(shè)施的智能化管控也逐漸提上日程[1]。作為一種重要的市政服務(wù)設(shè)施,路燈的智能化管理與控制水平是智能城市建設(shè)的重要內(nèi)容體現(xiàn)之一。然而傳統(tǒng)的路燈控制方法手段較為單一且信息化水平低,缺少故障自動(dòng)上報(bào)等重要功能,在一定程度上造成了電力資源浪費(fèi)、控制成本上升、路燈控制效率低等問(wèn)題。針對(duì)這一問(wèn)題,本文采用信息化管理手段(Zigbee 無(wú)線組網(wǎng)和片上系統(tǒng)),實(shí)現(xiàn)路燈按線路、按區(qū)域遠(yuǎn)程集中控制與管理,緩解電力供應(yīng)緊張、節(jié)省人力成本、提升路燈公共照明管理水平,減少因路燈照明故障而引起的交通事故,對(duì)促進(jìn)社會(huì)治安管理和維護(hù)有重大意義。
設(shè)置若干個(gè)智慧路燈節(jié)點(diǎn)、若干個(gè)路由節(jié)點(diǎn)、網(wǎng)關(guān)節(jié)點(diǎn)和監(jiān)控中心組成的智慧路燈管理系統(tǒng)。路燈節(jié)點(diǎn)和路由節(jié)點(diǎn)利用物聯(lián)網(wǎng)專用片上系統(tǒng)和擴(kuò)展外圍電路組成,實(shí)現(xiàn)路燈周圍環(huán)境的多種數(shù)據(jù)采集,如車流量、天氣亮暗、故障上報(bào)、行人因素、道路狀況等。網(wǎng)關(guān)節(jié)點(diǎn)采用片上系統(tǒng)CC2430 主芯片設(shè)計(jì)或者采用ARM 嵌入式系統(tǒng)設(shè)計(jì),并將數(shù)據(jù)通過(guò)Zigbee 組網(wǎng)通信傳到監(jiān)控中心的顯示終端上,路燈管理部門、交通管理部門等政府機(jī)構(gòu)第一時(shí)間了解到路燈運(yùn)行情況,根據(jù)道路實(shí)際狀況,自動(dòng)控制路燈。若遇特殊情況,可以緊急制動(dòng)。
(1)街區(qū)內(nèi)布控路燈節(jié)點(diǎn):街道按需安裝智能路燈,采用Zigbee 技術(shù)組網(wǎng),將采集到的數(shù)據(jù)(車流量)傳輸?shù)骄W(wǎng)關(guān)節(jié)點(diǎn)(空間過(guò)大,可以加裝路由節(jié)點(diǎn))。該組網(wǎng)方式自由靈活,采集數(shù)據(jù)按需定制。(2)街區(qū)內(nèi)與監(jiān)控中心數(shù)據(jù)傳輸:街區(qū)內(nèi)與監(jiān)控中心的數(shù)據(jù)傳輸采用窄帶物聯(lián)網(wǎng)(NB-IoT)、電力線載波通信技術(shù)、LTE(4G/5G)和WiFi 進(jìn)行組網(wǎng)傳輸,實(shí)現(xiàn)路燈照明系統(tǒng)與監(jiān)控中心實(shí)時(shí)數(shù)據(jù)傳輸。(3)人機(jī)交互的監(jiān)控中心。設(shè)計(jì)監(jiān)控中心的上位機(jī)軟件,達(dá)到實(shí)時(shí)了解街區(qū)路燈的運(yùn)行狀態(tài)和環(huán)境參數(shù)等目的。
中心節(jié)點(diǎn)由遵守Zigbee 協(xié)議射頻模塊CC2530(該芯片集成了射頻收發(fā)模塊、8051 核)、底板模塊和液晶顯示模塊等組成,其底板擴(kuò)展了USB 接口用于燒錄程序,其主要功能是接收路由節(jié)點(diǎn)發(fā)送的數(shù)據(jù)或終端節(jié)點(diǎn)直接發(fā)送的數(shù)據(jù)并在液晶屏顯示溫濕度和光照強(qiáng)度。根據(jù)光照強(qiáng)度來(lái)實(shí)現(xiàn)遠(yuǎn)程控制燈的開與關(guān)。
CC2530 無(wú)線單片機(jī)內(nèi)部集成了兩大模塊:80C51 內(nèi)核及無(wú)線收發(fā)RF 射頻,此芯片采用了QFPA 封裝,40Pin,GPIO 引腳21 個(gè),可以當(dāng)作I/O,ADC 或DAC、定時(shí)計(jì)時(shí)器和通用同步/異步串行接收/發(fā)送器,能夠利用IAR 軟件對(duì)特殊寄存器的位或字節(jié)進(jìn)行設(shè)置或讀取。
路由節(jié)點(diǎn)和終端節(jié)點(diǎn)在硬件設(shè)計(jì)上較為相似,只是在軟件模塊部分存在差異。終端節(jié)點(diǎn)只負(fù)責(zé)采集路燈周圍的環(huán)境數(shù)據(jù),其由傳感器模塊、Zigbee 協(xié)議射頻模塊CC2530 等結(jié)構(gòu)組成。而在路由節(jié)點(diǎn)設(shè)計(jì)中,根據(jù)設(shè)計(jì)要求,主要設(shè)置了溫濕度傳感器SHT10 模塊、光傳感器模塊,使用其來(lái)完成對(duì)溫度、濕度和光照等信息的準(zhǔn)確采集。
其中,溫濕度傳感器SHT10 是一款具有校正功能、可實(shí)現(xiàn)信息數(shù)字化輸出且能耗較低的數(shù)字化傳感器,內(nèi)含有工業(yè)級(jí)CMOS 管和兩個(gè)子模塊(其一為電容式聚合體測(cè)溫模塊,其二為能隙式測(cè)溫模塊),有效地保證了溫濕度傳感器工作過(guò)程的穩(wěn)定性和可靠性。此外,濕度傳感器SHT10 中還設(shè)計(jì)了多達(dá)8 個(gè)獨(dú)立通道和14 位模數(shù)的多路轉(zhuǎn)換器,有效保證了溫度數(shù)據(jù)轉(zhuǎn)換的精度。
具體設(shè)計(jì)如下:光照傳感器通過(guò)CC2530 的P0.4 引腳讀取模擬量,經(jīng)過(guò)片內(nèi)ADC 模塊將模擬量轉(zhuǎn)化為數(shù)字量,數(shù)字轉(zhuǎn)換結(jié)果以2 的補(bǔ)碼形式表示。
3.1.1 Zigbee 協(xié)議基本介紹
無(wú)線自組網(wǎng)Zigbee 通信協(xié)議是一種距離短、速率低、帶寬窄、能耗低的通信協(xié)議,特點(diǎn)是近距離、自組織、抗破壞、低能耗、低成本、速率低,適合于工廠自動(dòng)化生產(chǎn)和遠(yuǎn)程控制,可以移植到各種嵌入式平臺(tái)里。Zigbee 通信協(xié)議由ZigBee Alliance(Zigbee 聯(lián)盟)定義,先后發(fā)布了多個(gè)版本,但ZigBee 通信協(xié)議的最底層部分(物理層和數(shù)據(jù)鏈路層)是基于IEEE 802.15.4 改寫的,路由ROU層和網(wǎng)絡(luò)NWK 層是由Zigbee 聯(lián)盟定義。借助Zigbee 協(xié)議可以組成大規(guī)模的控制網(wǎng)絡(luò),如本文的城市路燈智能控制系統(tǒng),所以在本文應(yīng)用中設(shè)計(jì)了三種類型網(wǎng)絡(luò)設(shè)備:負(fù)責(zé)中心工作的協(xié)調(diào)器節(jié)點(diǎn)Coordinator、負(fù)責(zé)轉(zhuǎn)發(fā)的路由器節(jié)點(diǎn)Router 和負(fù)責(zé)采集數(shù)據(jù)的終端設(shè)備節(jié)點(diǎn)End-Device。
在ZigBee 通信協(xié)議的基礎(chǔ)上組建的無(wú)線控制網(wǎng)絡(luò)中,有且僅有一個(gè)協(xié)調(diào)器節(jié)點(diǎn)(也可稱其為中心節(jié)點(diǎn)),但可以存在多個(gè)路由節(jié)點(diǎn)Router 和多個(gè)終端節(jié)點(diǎn)EndDevice,同時(shí),不同類型節(jié)點(diǎn)承擔(dān)不同的功能。協(xié)調(diào)器節(jié)點(diǎn)主要用于負(fù)責(zé)控制整個(gè)網(wǎng)絡(luò)的啟動(dòng)、運(yùn)行、硬件初始化和管理路由節(jié)點(diǎn)加入(為路由節(jié)點(diǎn)分配網(wǎng)絡(luò)ID 號(hào))等程序,但不允許終端設(shè)備節(jié)點(diǎn)加入直接加入到中心節(jié)點(diǎn)(協(xié)調(diào)器節(jié)點(diǎn));路由器節(jié)點(diǎn)Router 起橋梁紐帶作用,主要功能是管理終端設(shè)備節(jié)點(diǎn),允許終端設(shè)備節(jié)點(diǎn)加入(即為終端節(jié)點(diǎn)分配ID 號(hào))和數(shù)據(jù)中轉(zhuǎn),同時(shí)路由節(jié)點(diǎn)按實(shí)際情況也可以采集環(huán)境數(shù)據(jù);終端設(shè)備節(jié)點(diǎn)的主要功能為采集路燈環(huán)境周圍的數(shù)據(jù)和執(zhí)行上位機(jī)傳來(lái)的命令。
3.1.2 TI Zigbee 協(xié)議棧ZStack
協(xié)議是由協(xié)議棧軟件來(lái)實(shí)現(xiàn)的,國(guó)內(nèi)外不少公司提供屬于自己平臺(tái)的Zigbee 協(xié)議棧,但本文里選用了美國(guó)德州儀器公司的協(xié)議棧ZStack 2007/PRO(在CC2530 上實(shí)現(xiàn)),本協(xié)議大體上遵守OSI 軟件規(guī)范。具體來(lái)講:按功能的不同分成了14 個(gè)目錄文件,每個(gè)目錄或文件具體作用如下:(1)App:應(yīng)用層。按用戶的需要進(jìn)行設(shè)計(jì)。(2)HAL:硬件抽象層。這一層分為兩個(gè)子目錄,一個(gè)子目錄是與硬件處理器無(wú)關(guān)的,命名為Common,該目錄包含有與硬件相關(guān)的配置hal_assert.c 和驅(qū)動(dòng)hal_drivers.c 及操作函數(shù)。另一個(gè)子目錄是與硬件處理器相關(guān)的,包含頭文件目錄Include 和功能實(shí)現(xiàn)相關(guān)的Target 目錄。(3)MAC:數(shù)據(jù)鏈路層。該層的主要功能是物理通信信道避讓功能,包含高層MAC、低層MAC 和頭文件Include 目錄,實(shí)現(xiàn)網(wǎng)絡(luò)層NWK 和物理層PHY 連接功能。另外需要提醒的,數(shù)據(jù)鏈路層的代碼是不公開的,但我們可以以庫(kù)的形式使用。(4)MT:監(jiān)制調(diào)試層。該層的主要功能用于調(diào)試,即通過(guò)串口打印功能調(diào)試各層之間的交互。(5)NWK:網(wǎng)絡(luò)層。用于配置網(wǎng)絡(luò)層參數(shù)和為APP 層提供函數(shù)接口以供調(diào)用。(6)OSAL:操作系統(tǒng)抽象協(xié)議層,實(shí)現(xiàn)任務(wù)調(diào)度和管理。(7)Security:安全層。數(shù)據(jù)加密,保證數(shù)據(jù)的安全性。(8)Services:ZigBee 設(shè)備地址處理函數(shù)目錄,為網(wǎng)絡(luò)中的路由節(jié)點(diǎn)和終端節(jié)點(diǎn)分配ID 號(hào)。(9)Tools:工具配置目錄,Zigbee 協(xié)議棧相關(guān)信息配置。(10)ZDO:一種集成公共功能的集合,按用戶需求調(diào)用應(yīng)用支持子層的服務(wù)和網(wǎng)絡(luò)層的服務(wù)。(11)ZMAC:Zigbee 協(xié)議棧數(shù)據(jù)鏈路導(dǎo)出層接口文件,方便數(shù)據(jù)鏈路層的配置。(12)Zmain:整個(gè)工程的子函數(shù)調(diào)用都集中在入口函main()里,方便應(yīng)用層功能實(shí)現(xiàn)。
IAR 是一家專注于嵌入式開發(fā)環(huán)境的設(shè)計(jì)、開發(fā)公司,公司創(chuàng)建于1983 年,業(yè)務(wù)范圍涵蓋嵌入式的各個(gè)領(lǐng)域,包括嵌入式系統(tǒng)設(shè)計(jì)、開發(fā)環(huán)境搭建、系統(tǒng)測(cè)試等。IAR 公司典型產(chǎn)品代表是IAR Embedded Workbench,集成了編輯、編譯、下載、燒錄等功能,支持C、C++等多種語(yǔ)言,廣泛應(yīng)用于環(huán)境監(jiān)控、自動(dòng)化控制、航空領(lǐng)域和消費(fèi)領(lǐng)域電子產(chǎn)品等。
IAR EW 開發(fā)環(huán)境支持多種廠商嵌入式處理器的應(yīng)用程序開發(fā),內(nèi)部集成了多種功能,具有靈活性強(qiáng)、開發(fā)快捷、簡(jiǎn)單高效等特點(diǎn)。另外,IAR EW 開發(fā)環(huán)境具有工程管理功能,適應(yīng)大型工程,按功能進(jìn)行子文件夾管理,極大地方便了不同功能模塊之間的查找,不同種編程語(yǔ)言都有加亮顯示功能。在IAR 開發(fā)環(huán)境中,子工程模塊可以拼接成大工程模塊,但在管理和使用上具有相對(duì)獨(dú)立性,可以分級(jí)分層進(jìn)行描述,還可以使用go to definition 功能查閱底層代碼。
IAR Embedded Workbench 進(jìn)行項(xiàng)目開發(fā)的主要過(guò)程如下:(1)首先針對(duì)不同的硬件平臺(tái),配置IAR 開發(fā)環(huán)境,如CPU 選型、設(shè)置堆棧大小。(2)編輯源文件。(3)連接目標(biāo)文件,包含調(diào)試選項(xiàng)。(4)對(duì)程序進(jìn)行調(diào)試直到?jīng)]有錯(cuò)誤。(5)調(diào)試通過(guò)后,重新連接。(6)生成程序代碼,下載。
3.3.1 溫濕度讀取函數(shù)
溫濕度讀取函數(shù)的功能是讀取路燈所處環(huán)境的溫濕度數(shù)據(jù),并將采集的數(shù)據(jù)快速轉(zhuǎn)發(fā)至無(wú)線組網(wǎng)的路由節(jié)點(diǎn)。其內(nèi)容設(shè)置情況如下:
3.3.2 光照度讀取函數(shù)
光照度讀取函數(shù)的功能是讀取光照數(shù)據(jù)并傳送給路由節(jié)點(diǎn)。其內(nèi)容設(shè)置情況如下:
在路燈智能控制系統(tǒng)硬件設(shè)計(jì)的基礎(chǔ)上,手工焊接LED 燈電路板(用來(lái)模擬路燈),檢測(cè)線路之間、芯片引腳之間是否出現(xiàn)斷路和短路。使用工具測(cè)試芯片基本功能是否正常。系統(tǒng)加電后,使用萬(wàn)用表檢測(cè)VCC 電壓、示波器檢測(cè)信號(hào)輸出。硬件排除后,加載軟件后進(jìn)行軟硬件聯(lián)調(diào),發(fā)現(xiàn)語(yǔ)氣錯(cuò)誤,驗(yàn)證功能。采用LED 燈模擬路燈實(shí)物,當(dāng)光照情況下,路燈便滅,當(dāng)在暗的環(huán)境下,路燈便亮。
在系統(tǒng)調(diào)試時(shí),檢測(cè)出兩個(gè)問(wèn)題:(1)LED 驅(qū)動(dòng)問(wèn)題:采用IO 引腳無(wú)法直接控制燈的亮與滅,必須讓CC2530的IO 引腳作為控制信號(hào)來(lái)控制開關(guān)三極管或繼電器。(2)GPIO 沖突問(wèn)題:在GPIO 初始化時(shí),先查看嵌入式CPU 的GPIO 管腳數(shù),然后按功能進(jìn)行統(tǒng)一分配,絕對(duì)不能出現(xiàn)管腳重復(fù)使用的情況,否則程序達(dá)不到預(yù)期功能。
本文結(jié)合新興的無(wú)線傳輸技術(shù)、片上系統(tǒng),成功開發(fā)了一套具有高度感知能力的集多種功能為一體的智慧路燈控制系統(tǒng),從而實(shí)現(xiàn)依據(jù)光照亮度遠(yuǎn)程控制路燈亮與滅。在下一步的工作中,可依據(jù)現(xiàn)場(chǎng)需要,遠(yuǎn)程實(shí)現(xiàn)更多功能,如遠(yuǎn)程單燈控制、定時(shí)照明、定數(shù)照明、智能調(diào)光、主動(dòng)報(bào)警、設(shè)備ID 信息查詢與統(tǒng)計(jì)、系統(tǒng)管理、系統(tǒng)參數(shù)設(shè)置,從而為路燈管理部門提供技術(shù)參考,從而有效提高路燈使用效率,提高智慧城市的建設(shè)水平。