解乃軍 陸欣云 劉婷 朱甜甜
摘 要:“基于物聯(lián)網(wǎng)技術(shù)的物件定位搜尋智能系統(tǒng)設(shè)計(jì)與開(kāi)發(fā)”,綜合運(yùn)用嵌入式系統(tǒng)、無(wú)線傳輸、無(wú)線網(wǎng)絡(luò)等技術(shù)。本系統(tǒng)主要由上位機(jī)、手持終端及電子標(biāo)簽三大部分構(gòu)成,其中無(wú)線通信模塊采用ZIGBEE協(xié)議。本系統(tǒng)首先對(duì)物件進(jìn)行數(shù)字編碼,然后在上位機(jī)里建立對(duì)應(yīng)的物件檔案,最后通過(guò)操作PC或者手持終端實(shí)現(xiàn)物件定位,同時(shí)還可獲取物件存放的環(huán)境溫度參數(shù)等信息,實(shí)現(xiàn)了數(shù)據(jù)的無(wú)線傳輸及物件定位。在傳輸抗干擾性,低功耗等方面具有較大的優(yōu)勢(shì)。
關(guān)鍵詞:上位機(jī);手持終端;電子標(biāo)簽;ZIGBEE
1 引言
隨著科技的發(fā)展,生活質(zhì)量的提高,個(gè)人及單位的物品越來(lái)越多,往往當(dāng)人們需要尋找一個(gè)物件或多個(gè)物件時(shí)就變得困難,且非常不方便。
2 物件定位搜尋過(guò)程描述
物件定位搜尋簡(jiǎn)單流程為:首先,設(shè)定好物件的相關(guān)信息(包括物件名稱(chēng)、入庫(kù)時(shí)間等),將設(shè)定的信息下載到電子標(biāo)簽?zāi)K中,然后將電子標(biāo)簽固定在對(duì)應(yīng)的物件上,則完成電子標(biāo)簽設(shè)定。其次,通過(guò)操作PC上位機(jī)或者手持終端上的按鍵,查找處于網(wǎng)絡(luò)中的帶有ID的標(biāo)簽,通過(guò)物件菜單來(lái)定位目標(biāo)物件,以及物件的相關(guān)信息。按下“確認(rèn)鍵”,該電子標(biāo)簽上天線接收到信息,蜂鳴器發(fā)出鳴叫,則確定物件的位置。對(duì)物件定位搜尋影響最大的是ZIGBEE接收和發(fā)射模塊。
3 總體方案
本項(xiàng)目的設(shè)計(jì)方案包含兩項(xiàng)設(shè)計(jì)內(nèi)容。第一部分為軟件部分的設(shè)計(jì);第二部分為硬件結(jié)構(gòu)的設(shè)計(jì)。其中,第一部分軟件設(shè)計(jì)部分由上位機(jī)和控制系統(tǒng)程序組成。第二部分是整個(gè)硬件結(jié)構(gòu)的設(shè)計(jì),包括手持終端以及電子標(biāo)簽兩大部分的電路設(shè)計(jì)。
3.1系統(tǒng)的軟件設(shè)計(jì)
3.1.1 物件定位系統(tǒng)上位機(jī)的設(shè)計(jì)
上位機(jī)為控制系統(tǒng)的核心,負(fù)責(zé)整個(gè)控制網(wǎng)絡(luò)的通信和控制整個(gè)系統(tǒng)的工作,可以設(shè)置傳輸?shù)牟ㄌ芈?、?shù)據(jù)位、校驗(yàn)位以及停止位等參數(shù)。在PC機(jī)中輸入要查找的物件名稱(chēng)或者通過(guò)手持終端物品菜單選擇要查找的物品名稱(chēng),點(diǎn)擊“查找”鍵后,整個(gè)網(wǎng)絡(luò)中的該物件的信息將反饋到界面,點(diǎn)擊“定位”后,物件標(biāo)簽上的蜂鳴器發(fā)出鳴叫,則實(shí)現(xiàn)物件定位。上位機(jī)還可以實(shí)現(xiàn)數(shù)據(jù)清零、保存等功能,實(shí)現(xiàn)無(wú)手持終端物件無(wú)線定位。
3.1.2 控制系統(tǒng)程序設(shè)計(jì)
本系統(tǒng)ZigBee無(wú)線模塊采用的是Z-Stack協(xié)議棧。該協(xié)議棧中的協(xié)議可以分為兩部分,IEEE 802.15.4定義了PHY(物理層)和MAC(介質(zhì)訪問(wèn)層)技術(shù)規(guī)范;ZigBee聯(lián)盟定義了NWK(網(wǎng)絡(luò)層)、APS(應(yīng)用程序支持子層)、APL(應(yīng)用層)技術(shù)規(guī)范。協(xié)議棧將各個(gè)層定義的協(xié)議集合在一起,以函數(shù)的形式給用戶(hù)提供API(應(yīng)用層),用戶(hù)可以直接調(diào)用。
3.2 協(xié)議棧API(應(yīng)用層)函數(shù)
3.2.1 ZDO(設(shè)備對(duì)象層)
設(shè)備對(duì)象層ZDO(ZigBee Device Object)層,提供了管理一個(gè)ZigBee節(jié)點(diǎn)所要使用的功能函數(shù)。ZDO API為協(xié)調(diào)器、路由器和終端設(shè)備提供了應(yīng)用端點(diǎn)的管理函數(shù),其中包括:建立、發(fā)現(xiàn)和加入一個(gè)ZigBee網(wǎng)絡(luò),綁定應(yīng)用端點(diǎn)和安全管理。ZDP(ZigBee Device Profile)即ZigBee設(shè)備規(guī)范,描述了ZDO內(nèi)部一般性的ZigBee設(shè)備功能是如何實(shí)現(xiàn)的。它定義了使用命令和響應(yīng)對(duì)的設(shè)備描述和簇。ZDP為ZDO和應(yīng)用程序提供如下的功能:設(shè)備網(wǎng)絡(luò)的啟動(dòng);設(shè)備和服務(wù)發(fā)現(xiàn);終端設(shè)備綁定、綁定和取消綁定服務(wù);網(wǎng)絡(luò)管理服務(wù)。
3.2.2 AF(應(yīng)用框架層)
應(yīng)用框架層AF(Application Framework),提供了針對(duì)協(xié)議棧的應(yīng)用端點(diǎn)和設(shè)備端點(diǎn)接口,其中主要包含:設(shè)備描述數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)收、發(fā)函數(shù),端點(diǎn)管理。在ZigBee網(wǎng)絡(luò)中每個(gè)設(shè)備都是一個(gè)節(jié)點(diǎn),每個(gè)節(jié)點(diǎn)具有唯一的IEEE地址(64位)和一個(gè)網(wǎng)絡(luò)地址(16位)。網(wǎng)絡(luò)中的其他節(jié)點(diǎn)發(fā)送數(shù)據(jù)時(shí)必須指定目標(biāo)節(jié)點(diǎn)的短地址,數(shù)據(jù)才能被接收。每個(gè)節(jié)點(diǎn)有241個(gè)端點(diǎn),其中端點(diǎn)0由ZDO層使用,它是不可缺少的。端點(diǎn)1~240由應(yīng)用程序分配使用,在ZigBee網(wǎng)絡(luò)中應(yīng)用程序必須登記注冊(cè)一個(gè)或多個(gè)端點(diǎn),這樣才能發(fā)送和接收數(shù)據(jù)。
3.2.3 APS(應(yīng)用支持子層)
應(yīng)用支持子層APS(Application Support Sublayer)為設(shè)備對(duì)象和應(yīng)用實(shí)體提供了以下的支持服務(wù):綁定表管理、組表管理、快速地址查詢(xún)。
3.2.4 NWK(網(wǎng)絡(luò)層)
網(wǎng)絡(luò)層NWK(ZigBee network),為上層提供了管理服務(wù)和數(shù)據(jù)服務(wù)。
3.2.5 ZMAC(介質(zhì)訪問(wèn)層)
介質(zhì)訪問(wèn)層ZMAC,在IEEE802.15.4與網(wǎng)絡(luò)層之間提供接口。
4 系統(tǒng)軟件的主程序
Z-Stack協(xié)議棧的主程序是一個(gè)小型的操作系統(tǒng)(本質(zhì)也是大型的程序),它幫助我們只考慮底層和網(wǎng)絡(luò)層的內(nèi)容,將復(fù)雜部分屏蔽掉。讓用戶(hù)通過(guò)上述的API函數(shù)就可以輕易使用ZigBee。Z-Stack采用任務(wù)輪詢(xún)的工作方式執(zhí)行任務(wù)。
4.1 按鍵的功能
(1)作路由器功能時(shí),復(fù)位鍵的功能是電路復(fù)位,S1懸空,S2查找網(wǎng)絡(luò)中的設(shè)備,S3查找具體的某一設(shè)備;
(2)作為電子標(biāo)簽?zāi)K,復(fù)位鍵的功能是電路復(fù)位,S2按下則表示已經(jīng)查找到相關(guān)物件;
(3)作為手持終端使用的模塊,復(fù)位鍵的功能是電路復(fù)位,S1查找,短時(shí)間按S2菜單,長(zhǎng)時(shí)間按S2則查找當(dāng)前光標(biāo)下對(duì)應(yīng)的物件,S3取消定位。
4.2 液晶顯示屏的功能
采用Nokia5110液晶顯示屏來(lái)顯示物件信息,包括各個(gè)物件的ID值以及物品的名稱(chēng)等,取下電子標(biāo)簽上的液晶屏,可以使得整個(gè)模塊功耗更低,實(shí)現(xiàn)模塊的高性能、低功耗。
5 結(jié)語(yǔ)
本設(shè)計(jì)在我們所有隊(duì)員的努力下,在我的指導(dǎo)老師的悉心指導(dǎo)下終于順利做出了實(shí)物模型。在該模型的基礎(chǔ)上我們對(duì)設(shè)計(jì)方案進(jìn)行了驗(yàn)證,制作出一套成品以及完成上位機(jī)軟件的編寫(xiě)。本設(shè)計(jì)體現(xiàn)出了團(tuán)隊(duì)的重要性,同時(shí)體現(xiàn)了學(xué)生的創(chuàng)新能力,讓我們團(tuán)隊(duì)的所有成員都得到了一次鍛煉。
參考文獻(xiàn)
[1] (美)李普曼等.C++ Primer中文版.北京,人民郵電出版社,2006.
[2] 王小強(qiáng),歐陽(yáng)駿,黃寧淋,等.ZigBee無(wú)線傳感器網(wǎng)絡(luò)設(shè)計(jì)與實(shí)現(xiàn).北京,化學(xué)工業(yè)出版社,2015.