當(dāng)前位置:首頁 > 物聯(lián)網(wǎng) > 《物聯(lián)網(wǎng)技術(shù)》雜志
[導(dǎo)讀]摘要:利用各類傳感器采集外界信息,產(chǎn)生模擬電壓信號,通過模數(shù)轉(zhuǎn)換進(jìn)而得到數(shù)字信號,摒棄傳統(tǒng)的有線串口發(fā)數(shù)模式,用CC2430芯片作為節(jié)點(diǎn)的核心芯片,負(fù)責(zé)數(shù)據(jù)處理和無線射頻工作。根據(jù)以上要求給出了系統(tǒng)硬件結(jié)構(gòu)及軟件設(shè)計方案,并綜合考慮到了節(jié)點(diǎn)的功耗問題。

引言

保護(hù)民族物質(zhì)文化和非物質(zhì)文化遺產(chǎn)的任務(wù)一直都為國家所重視,少數(shù)民族博物館中的文物是國家最為寶貴的民族物質(zhì)文化遺產(chǎn),利用發(fā)展前景最為廣闊的無線傳感技術(shù),將數(shù)字化保護(hù)概念落實到實際的少數(shù)民族遺產(chǎn)保護(hù)當(dāng)中,搭建無線傳感網(wǎng)絡(luò)以完成數(shù)據(jù)的采集和傳遞,將博物館中的實時環(huán)境信息轉(zhuǎn)換為易讀的數(shù)字信號傳遞給管理員。

受到“十一五”國家科技支撐計劃的重點(diǎn)課題《民族特需品數(shù)字化關(guān)鍵技術(shù)研究與示范應(yīng)用[課題編號2009BAH41B05]》項目的支持,研發(fā)一套適合民族家具博物館的物聯(lián)網(wǎng)無線傳感網(wǎng)絡(luò)產(chǎn)品。本文對整個無線傳感網(wǎng)絡(luò)體系中的網(wǎng)絡(luò)節(jié)點(diǎn)硬件、軟件提出具體設(shè)計思路和實現(xiàn)方法。

ZigBee網(wǎng)絡(luò)路徑

1.1路由基本算法

ZigBee網(wǎng)絡(luò)區(qū)別于其他無線傳感網(wǎng)絡(luò)之處就在于其預(yù)先進(jìn)行地址分配,各節(jié)點(diǎn)由分布式算法根據(jù)一系列網(wǎng)絡(luò)參數(shù)來確定,節(jié)點(diǎn)只有通過協(xié)調(diào)器或者路由器節(jié)點(diǎn)才能加入網(wǎng)絡(luò),加入網(wǎng)絡(luò)后隨即獲得一個唯一的地址。我們這里設(shè)Cm和Rm分別為節(jié)點(diǎn)所能分配的最大節(jié)點(diǎn)數(shù)和路由節(jié)點(diǎn)數(shù),L為網(wǎng)絡(luò)的最大深度,則網(wǎng)絡(luò)深度為d的路由節(jié)點(diǎn)所能分配的地址塊大小如式(1)所示:

深度為d的父親節(jié)點(diǎn)分配的第k個路由節(jié)點(diǎn)和第n個終端節(jié)點(diǎn)的地址分別為:

在式(2)、(3)中,代表負(fù)責(zé)分配網(wǎng)絡(luò)地址的父節(jié)點(diǎn)地址,ZigBee網(wǎng)絡(luò)路由算法應(yīng)用的就是這種分布式網(wǎng)絡(luò)地址分配機(jī)制。

1.2基于AODV路由算法

AODV即無線自組網(wǎng)按需平面距離向量路由協(xié)議,此算法通過檢查自己的路由表,如存在到達(dá)目的節(jié)點(diǎn)的表項則直接跳取到下一地址,否則節(jié)點(diǎn)以洪泛的方式向網(wǎng)絡(luò)廣播路由請求數(shù)據(jù)包,當(dāng)該數(shù)據(jù)包到達(dá)目的節(jié)點(diǎn)時,目的節(jié)點(diǎn)以單播方式向路由發(fā)起節(jié)點(diǎn)回復(fù)路由數(shù)據(jù)包。當(dāng)路由發(fā)起節(jié)點(diǎn)收到路由回復(fù)包后,一條新加入到路由表的通信鏈路便產(chǎn)生了。

該算法有很多優(yōu)點(diǎn)能夠大大提高網(wǎng)絡(luò)通信效率,有效地避免傳統(tǒng)網(wǎng)絡(luò)路由算法中出現(xiàn)的環(huán)路問題?;谛枨蟮木嚯x向量鏈路中由于發(fā)送數(shù)據(jù)之前需要對現(xiàn)有的通信路徑進(jìn)行遍歷過程,因此在網(wǎng)絡(luò)較大的情況時也會導(dǎo)致網(wǎng)絡(luò)數(shù)據(jù)傳輸延時增大,進(jìn)而造成網(wǎng)絡(luò)效率不高的問題。

1.3基于樹型結(jié)構(gòu)路由算法

在網(wǎng)絡(luò)中,深度為d,源節(jié)點(diǎn)S若要想傳輸?shù)饺我夤?jié)點(diǎn)D時,就可以簡單地根據(jù)的公式S<D<S+Cskp(d-1)來判斷該節(jié)點(diǎn)是否屬于自己的子孫節(jié)點(diǎn)。

依據(jù)式(4)來進(jìn)行跳到下一個地址的行為,否則將數(shù)據(jù)輸出給父親節(jié)點(diǎn)。該算法的優(yōu)點(diǎn)是空間復(fù)雜度以及時間復(fù)雜度比較簡單,適用在網(wǎng)絡(luò)節(jié)點(diǎn)數(shù)目不是很多的情況,否則會導(dǎo)致分組傳輸時延高的缺點(diǎn),從而造成網(wǎng)絡(luò)效率低下的問題。

Cluster-Tree算法是在樹型路由算法技術(shù)基礎(chǔ)上,由協(xié)調(diào)器作為中心點(diǎn)生成簇樹狀網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),通過判斷目的節(jié)點(diǎn)是否是具有轉(zhuǎn)發(fā)功能設(shè)備的下屬節(jié)點(diǎn),以決定是否進(jìn)行數(shù)據(jù)包的轉(zhuǎn)發(fā),最終達(dá)到分層遍歷查找目的節(jié)點(diǎn)的結(jié)果叫這種算法可以大大減少信息冗余度和源節(jié)點(diǎn)的發(fā)送功率,對于數(shù)據(jù)高內(nèi)聚非常有利,也在一定程度上彌補(bǔ)了樹型結(jié)構(gòu)的缺點(diǎn)。

ZigBee網(wǎng)絡(luò)節(jié)點(diǎn)硬件設(shè)計

2.1節(jié)點(diǎn)總體硬件設(shè)計

節(jié)點(diǎn)按功能共可分為CC2430模塊、電源模塊和天線模塊三大模塊。其總體硬件設(shè)計如圖1所示。

2.2CC2430模塊

CC2430具有增強(qiáng)性能的8051MCU,8KBRAM等,其增強(qiáng)的8051MCU核的性能是工業(yè)標(biāo)準(zhǔn)8051核性能的8倍叫CC2430/CC2431還具備直接存儲器定址(DMA)功能,它能夠被用于減輕8051微控制器內(nèi)核對數(shù)據(jù)搬移,因此提高了芯片整體的性能、可編程看門狗定時器、AES-128安全協(xié)處理器、多達(dá)8輸入的8?14位ADC、USART、睡眠模式定時、上電復(fù)位、掉電檢測電路(BrownOutDetection)等,CC2430有兩個晶振,分別是32MHz晶振和32.768kHz晶振。

2.3天線模塊

CC2430發(fā)送數(shù)據(jù)時,信號從差分射頻端口RF_P、RF_N經(jīng)巴倫電路變?yōu)閱味诵盘?,由RXTX_SWITCH信號控制2個邏輯開關(guān),選通功率放大電路(PA),放大后的信號從天線發(fā)射出去。接收信號時,在RXTX_SWITCH信號控制下,從天線接收的信號經(jīng)低噪聲放大電路(LNA)放大,巴倫電路轉(zhuǎn)換,由RF_P、RF_N端口接收。天線模塊電路圖如圖2所示。2.4電源模塊

電源模塊主要是由TPS79533低壓穩(wěn)壓器輸出3.3V電壓,其輸入電壓范圍是2.7?5.5V,并具有較高的電源抑制比、超低噪聲、較好的電壓線性和負(fù)載瞬態(tài)效應(yīng)以及較小的電壓漂移??梢詫?V的電源通過DC-DC變換器得到3.3V的工作電壓,電源電路如圖3所示。

圖2天線模塊電路

圖3電源模塊電路

ZigBee網(wǎng)絡(luò)節(jié)點(diǎn)軟件設(shè)計3.1ZigBee協(xié)議棧

ZigBee無線網(wǎng)絡(luò)的實現(xiàn),是建立在ZigBee協(xié)議棧[5,6]的基礎(chǔ)上的,協(xié)議棧采用分層的結(jié)構(gòu),協(xié)議分層的目的是為了使各層相對獨(dú)立,每一層都提供一些服務(wù),服務(wù)由協(xié)議定義,它們向高層提供服務(wù),并由低層提供服務(wù)。

在ZigBee協(xié)議棧中,物理層、MAC層位于最低層,且與硬件相關(guān);網(wǎng)絡(luò)層、安全層、應(yīng)用框架層以及安全層建立在物理層和MAC層之上,并且完全與硬件無關(guān)。分層的結(jié)構(gòu)脈絡(luò)清晰、一目了然,給設(shè)計和調(diào)試帶來極大的方便。

Z-Stack采用了操作系統(tǒng)的思想來構(gòu)建,采用事件輪循機(jī)制[7],當(dāng)各層初始化之后,系統(tǒng)進(jìn)入低功耗模式,事件發(fā)生時,喚醒系統(tǒng),開始進(jìn)入中斷處理事件,結(jié)束后繼續(xù)進(jìn)入低功耗模式。如果同時有幾個事件發(fā)生,先判斷優(yōu)先級,再逐次處理事件。

3.2協(xié)調(diào)器網(wǎng)絡(luò)的建立

在ZigBee網(wǎng)絡(luò)中,網(wǎng)絡(luò)協(xié)調(diào)器具有建立一個網(wǎng)絡(luò)、維護(hù)鄰居設(shè)備表、對邏輯網(wǎng)絡(luò)地址進(jìn)行分配、允許設(shè)備MAC層/應(yīng)用層的連接或斷開網(wǎng)絡(luò)的功能,網(wǎng)絡(luò)協(xié)調(diào)器在進(jìn)行一些初始化之后調(diào)用aplFormNetwork()來建立網(wǎng)絡(luò)。協(xié)調(diào)器通過掃描一個空信道來建立一個新的網(wǎng)絡(luò),然后選擇一個隨機(jī)的

PANID并開始監(jiān)聽此信道冏。同時協(xié)調(diào)器還有一個目前連接設(shè)備的列表,以支持其他設(shè)備加入網(wǎng)絡(luò)。網(wǎng)絡(luò)建立程序如下:

voidmain(void){halInit();//硬件初始化aplInit();//協(xié)議棧初始化aplFormNetwork();//建立網(wǎng)絡(luò)while(apsBusy()){apsFSM();}//等待網(wǎng)絡(luò)相應(yīng)while(1)

{apsFSM();//執(zhí)行協(xié)議棧

}

}

3.3節(jié)點(diǎn)加入網(wǎng)絡(luò)

當(dāng)一個網(wǎng)絡(luò)建立成功以后,便要考慮路由節(jié)點(diǎn)和RFD節(jié)點(diǎn)如何加入到網(wǎng)絡(luò)中去。節(jié)點(diǎn)通過調(diào)用aplJoinNetword()函數(shù)加入到協(xié)調(diào)器建立的網(wǎng)絡(luò)當(dāng)中。通過掃描信道找到協(xié)調(diào)器并進(jìn)一步申請加入網(wǎng)絡(luò),獲取協(xié)調(diào)器的地址,同時將自己的地址發(fā)送給協(xié)調(diào)器。網(wǎng)絡(luò)加入成功以后,網(wǎng)絡(luò)節(jié)點(diǎn)則進(jìn)入休眠狀態(tài),知道有命令或者數(shù)據(jù)發(fā)送時才被喚醒。網(wǎng)絡(luò)加入的程序如下:

voidmain(void){

halInit();//硬件初始化

aplInit();//協(xié)議棧初始化

do{

aplJoinNetwork();//加入網(wǎng)絡(luò)while(apsBusy()){apsFSM();}//等待網(wǎng)絡(luò)格式化}while(aplGetStatus()=WXLPAN_STATUS_SUCCESS);while(1){apsFSM();}//執(zhí)行協(xié)議棧

3.4數(shù)據(jù)發(fā)送與接收

在ZigBee協(xié)議棧中進(jìn)行數(shù)據(jù)發(fā)送可以調(diào)用AF-DataRequest函數(shù)來實現(xiàn),該函數(shù)會調(diào)用協(xié)議棧里面與硬件相關(guān)的函數(shù)最終將數(shù)據(jù)通過天線發(fā)送出去。以下是AF_DataRequest數(shù)據(jù)發(fā)送程序:

afStatus_tAF_DataRequest(afAddrType_t*dstAddr,

endPointDesc_t*srcEP,,

uintl6cID,

uint16len,

uint8*buf,

uint8*transID,

uint8options,

uint8radius)

上面的程序中:afAddrType_t*dstAddr為包含了目的節(jié)點(diǎn)的網(wǎng)絡(luò)地址以及發(fā)送數(shù)據(jù)的格式;endPointDesc_t*srcEP為使用網(wǎng)絡(luò)地址來區(qū)分不同的節(jié)點(diǎn),用端口號來區(qū)分統(tǒng)一節(jié)點(diǎn)的不同端口;uint16cID為描述命令號,不同的命令號代表不同的控制命令,用來表示不同的控制操作;uint16len為表示發(fā)送數(shù)據(jù)的長度;uint8*buf為指向發(fā)送數(shù)據(jù)緩沖區(qū)的指針;uint8*transID為指向發(fā)送序號的指針,每次發(fā)送數(shù)據(jù)后就會自動加1,配合接收端計算丟包率;uint8options為默認(rèn)取AF_DISCV_ROUTE;uint8radius為默認(rèn)取AF_DEFAULT_RADIUSo

在發(fā)送數(shù)據(jù)之前,接收的設(shè)備必須處于工作狀態(tài),否則將會出現(xiàn)“丟包”上層使用NLME-SYNC.request原語初始化設(shè)備,打開其接收機(jī),該原語將引起網(wǎng)絡(luò)層使用MLME-POLL.request原語對其父設(shè)備進(jìn)行輪詢図。ZigBee協(xié)調(diào)器或路由器的網(wǎng)絡(luò)層必須在最大程度上保證任何時間接收機(jī)總是處于接收狀態(tài)。

當(dāng)協(xié)調(diào)器接收到節(jié)點(diǎn)發(fā)送來的數(shù)據(jù)后,操作系統(tǒng)會將該數(shù)據(jù)封裝成一個消息,然后放入消息隊列中,每個消息都有自己的消息ID,表示接收到新數(shù)據(jù)的消息的ID是AF_INCOMING_MSG_CMD[10],其宏定義為:

#defineAF_INCOMING_MSG_CMD0x1A

在協(xié)調(diào)器中相應(yīng)代碼如下:

MSGpkt=(afIncomingMSGPacket_t*)osal_msg_receive(GenericApp_TaskID);

while(MSGpkt)

{

switch(MSGpkt->hdr.event)

{

caseAF_INCOMING_MSG_CMD;

GenericApp_MessageMSGCB(MSGpkt);

break;

}

}

首先使用osal_msg_receive函數(shù)從消息隊列中接收一個消息,然后使用switch-case語句udixiaoxileixing進(jìn)行判斷(判斷消息ID),如果消息ID是AF_INCOMING_MSG_CMD貝丫進(jìn)行相應(yīng)的數(shù)據(jù)處理,進(jìn)而完成數(shù)據(jù)的接收。

4測試結(jié)果

測試釆用的軟件是PacketSniffer,PacketSniffer是一款專門的協(xié)議分析軟件,可以對各層協(xié)議上的信息包進(jìn)行分析和解碼;顯示出錯的包以及接入錯誤;指示觸發(fā)包;在接收和注冊過程中可連續(xù)顯示包,可以利用PacketSniffer分析ZigBee建立網(wǎng)絡(luò),加入網(wǎng)絡(luò),發(fā)送數(shù)據(jù),接收數(shù)據(jù)的過程[11]oIEEE8022.15.4/ZigBee協(xié)議下協(xié)調(diào)器的組網(wǎng)過程如圖4所示。

圖4協(xié)調(diào)器組網(wǎng)

從圖4中顯示的數(shù)據(jù)包數(shù)據(jù)中,第2行到第7行是建立一個網(wǎng)絡(luò)的過程,在這里可以看出在網(wǎng)絡(luò)層管理實體一旦選擇了一個PAN標(biāo)識符,就會立刻選擇一個0x0000的16位網(wǎng)絡(luò)地址,并且設(shè)置MAC層的macShortAddressPIB屬性,使其等于所選擇的網(wǎng)絡(luò)地址。

第8行的源地址是路由器的物理地址0x1716151413120030,它的PANID沒有確定為0xFFFFF,這時的路由器還沒有加入網(wǎng)絡(luò),所以還沒有網(wǎng)絡(luò)地址,目的地址為協(xié)調(diào)器的網(wǎng)絡(luò)地址0x0000,它的PANID為0x0022;它的命令是聯(lián)合方式加入請求。該行表示的意思是向協(xié)調(diào)器發(fā)送聯(lián)合方式加入請求,發(fā)送完成后將得到一個應(yīng)答。

節(jié)點(diǎn)在等待應(yīng)答并回應(yīng)后,就開始加入建立好的無線網(wǎng)絡(luò),其加入網(wǎng)絡(luò)的過程如圖5所示。

圖5節(jié)點(diǎn)加入網(wǎng)絡(luò)

從圖中可見,已成功組網(wǎng)的協(xié)調(diào)器在收到應(yīng)答以后,節(jié)點(diǎn)開始加入網(wǎng)絡(luò)。與此同時,協(xié)調(diào)器開始為路由器分配網(wǎng)絡(luò)地址,路由器分配到的網(wǎng)絡(luò)地址(SourceAddress)為0x0001。這樣就完成了節(jié)點(diǎn)加入網(wǎng)絡(luò)的過程,并分配了各自的網(wǎng)絡(luò)地址,從而也完成了無線網(wǎng)絡(luò)的組建和節(jié)點(diǎn)加入網(wǎng)絡(luò)的過程。

5結(jié)語

本系統(tǒng)采用ZigBee技術(shù)設(shè)計無線網(wǎng)絡(luò)節(jié)點(diǎn),其設(shè)計思想簡單,成本較低并且有著很好的擴(kuò)展性,可以適應(yīng)不同環(huán)境對系統(tǒng)的要求,與此同時,通過通用串口搭載不同的傳感器又可以輕而易舉地實現(xiàn)對各種信息的采集和傳輸工作,在短距離無線傳感網(wǎng)絡(luò)的應(yīng)用上有著明顯的優(yōu)勢,相信日后的發(fā)展前景會更好,給人們?nèi)粘I罟ぷ鲙砀蟮谋憷?

20211119_61972b9730473__基于ZigBee無線傳感網(wǎng)絡(luò)技術(shù)節(jié)點(diǎn)設(shè)計與實現(xiàn)

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉