物聯(lián)網(wǎng)應(yīng)用系統(tǒng)設(shè)計_第1頁
物聯(lián)網(wǎng)應(yīng)用系統(tǒng)設(shè)計_第2頁
物聯(lián)網(wǎng)應(yīng)用系統(tǒng)設(shè)計_第3頁
物聯(lián)網(wǎng)應(yīng)用系統(tǒng)設(shè)計_第4頁
物聯(lián)網(wǎng)應(yīng)用系統(tǒng)設(shè)計_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費閱讀

付費下載

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

次區(qū)華夏理工學(xué)浣

信息工程課程設(shè)計匯報書

課程名稱物聯(lián)網(wǎng)應(yīng)用系統(tǒng)設(shè)計

課程設(shè)計總評成績_________________________

學(xué)生姓名_________________________

學(xué)號_________________________

學(xué)生專業(yè)班級_________________________

指導(dǎo)教師姓名_________________________

課程設(shè)計起止日期2018.6.1「2018.7.15

一、課程設(shè)計項目名稱

基于ZigBee協(xié)議棧智能家居控制燈系統(tǒng)

二、項目設(shè)計目標(biāo)及技術(shù)要求

2.1項目設(shè)計目標(biāo)

經(jīng)過《物聯(lián)網(wǎng)應(yīng)用系統(tǒng)設(shè)計》課程設(shè)計,使學(xué)生能夠掌握物聯(lián)網(wǎng)應(yīng)用系統(tǒng)

設(shè)計開發(fā)流程、設(shè)計方法,使學(xué)生能夠綜合應(yīng)用《無線傳感器網(wǎng)絡(luò)技術(shù)》、《嵌入

式技術(shù)》、(JAVAWEB程序設(shè)計》《Andriod程序設(shè)計》、《物聯(lián)網(wǎng)應(yīng)用系統(tǒng)設(shè)計》

等物聯(lián)網(wǎng)工程專業(yè)課程知識。要求學(xué)生經(jīng)過課程設(shè)計教學(xué)步驟深入了解物聯(lián)網(wǎng)應(yīng)

用系統(tǒng)總體架構(gòu),掌握物聯(lián)網(wǎng)應(yīng)用系統(tǒng)基本設(shè)計方法,程序開發(fā)流程,從而使學(xué)

生對物聯(lián)網(wǎng)應(yīng)用系統(tǒng)設(shè)計能力有較大提升。

2.2項目標(biāo)主要任務(wù)

1.設(shè)計內(nèi)容:

課程設(shè)計題目通常山指導(dǎo)教師提供,也能夠在老師同意下學(xué)生自己題;

4人一組,每組完成內(nèi)容不能雷同。設(shè)計參考題目以下:

1)智能家居環(huán)境監(jiān)測系統(tǒng)

2)智能家居控制燈系統(tǒng)

3)智能農(nóng)業(yè)區(qū)-自動澆灌系統(tǒng)

2.基本要求:

1)學(xué)會單片機應(yīng)用方法,開發(fā)環(huán)境;

2)結(jié)合任務(wù)要求,完成系統(tǒng)設(shè)計和調(diào)試,激勵功效擴展和創(chuàng)新;

3)會應(yīng)用protues工具,依照設(shè)計電路,畫電路圖,并利用protues進行驗證

仿真;

4)熟悉匯編或C51語言,用C51完成系統(tǒng)軟件編程;

5)按規(guī)范撰寫課程設(shè)計說明書。

3.項目分工

上位機:李永紅、夏智君

下位機:陳建、李元毅

英文)、提要、正文(包含①設(shè)計項目要求與說明。②電路原理分析。③軟件流程分

析。④調(diào)試分析。⑤試驗數(shù)據(jù)分析。⑥答辯。⑦成績評定。)、附錄(圖紙.程序清單或

軟盤)。課程設(shè)計說明書須每人一份,獨立完成。

2.圖紙要求

系統(tǒng)結(jié)構(gòu)框圖、protel電路圖

三、項目設(shè)計方案論證

3.1基于ZigBee協(xié)議棧智能家居控制燈系統(tǒng)設(shè)計整體方案

對ZigBee協(xié)議框架結(jié)構(gòu)進行分析,然后經(jīng)過闡述協(xié)議應(yīng)用層、網(wǎng)絡(luò)層、數(shù)據(jù)鏈

路層、物理層和MAC層功效,將無線傳感器網(wǎng)絡(luò)與ZigBee技術(shù)相結(jié)合,闡述無線傳

感器網(wǎng)絡(luò)節(jié)點硬件和軟件設(shè)計方法。在本設(shè)計中,選取功耗較小CC2530芯片作為通

信芯片來設(shè)計節(jié)點。經(jīng)過編寫協(xié)議棧程序,講行包含匯聚節(jié)點及傳感器節(jié)點組網(wǎng)通信

試驗。利用VC++編寫上位機程序,經(jīng)過串口進行數(shù)據(jù)交互,從而控制小燈。此系統(tǒng)

組成框圖如圖3-1所表示:

O

-

4

圣4

0夔iII

-cM

mt<

z<

scJ

sc<

wq"

Nr-

圖3-1基于ZigBee協(xié)議棧智能家居控制燈系統(tǒng)設(shè)計整體方案

3.2系統(tǒng)實現(xiàn)原理

3.2.1硬件原理圖

本試驗使用是CC2530芯片,CC2530具備一個IEEE802.15.4兼容無線收發(fā)器。

RF內(nèi)核控制模擬無線模塊。另外,它提供了MCU和無線設(shè)備之間一個接口,這使得

能夠發(fā)出命令,讀取狀態(tài),自動操作和確定無線設(shè)備事件次序。無線設(shè)備還包含一個

數(shù)據(jù)包過流和地址識別模塊。本系統(tǒng)主要包括LED、RS485模塊、USB轉(zhuǎn)串口電路、

CC2530經(jīng)典應(yīng)用電路。以下列圖所表示:

D6

心一—二K~~

1K

圖3-2-1CC2530LED模塊圖3-2-2小燈模塊

圖3-2-3USB轉(zhuǎn)串口電路

3.2.2節(jié)能燈模塊

本試驗用節(jié)能燈傳感器為12V供電,接通電源后節(jié)能燈亮,該節(jié)能燈能夠經(jīng)過繼

電器控制其開關(guān),經(jīng)過控制四路繼電器P1吸合與斷開,控制節(jié)能燈打開與關(guān)閉。

接線說明

節(jié)能燈模塊信號DC12VGND—

四路繼電器端子電源板+J1電源板-P1

機柜面板——10(綠色)

表3.2節(jié)能燈模塊連線說明

通信協(xié)議設(shè)計

SOFSensortypeSensorindexCmdidDataExtenDataEND

2Byte1Byte1Byte1Byte6Byte2Byte1Byte

說明:

SOF:固定為OxEEOxCC,標(biāo)志一幀開始。

Sensortype:見附表一傳感器說明。

Sensorindex:固定為0x01。

Cmdid:固定為0x01。

Data:為6Byte傳感器數(shù)據(jù)域,見附表一傳感器說明。

ExtenData:為2Byte擴展數(shù)據(jù)域

END:固定為OxFF,標(biāo)志一幀結(jié)束。

開燈指令:EECC0101010000000000010000FF

關(guān)燈指令:EECC0101010000000000000000FF

3.2.3試驗連線說明

1.首先將節(jié)能燈模塊下方信號孔(綠色香蕉孔)與香蕉線相連。

2.將zibgee模塊下方綠色香蕉孔(Pl_4)與風(fēng)扇香蕉線相連接。然后將紅黃藍三

根信號線分別插到對應(yīng)顏色香蕉孔。ZigbeeDebugerUSB仿真器連接到ZigBee模塊

下方20PIN插孔上。

3.經(jīng)過上位機軟件給ZigBee下載本試驗程序(路徑:家居農(nóng)業(yè)綜合實訓(xùn)區(qū)'傳感

層工程'試驗九節(jié)能燈模塊),詳細下載方法詳見《IAR軟件下載說明文檔》。用TAR

MCS-518.10.3軟件,打開光盤源碼目錄中人體傳感器工程并下載。

4.將無線通訊節(jié)點三根信號線分別接在智能網(wǎng)關(guān)上,設(shè)備上電(注意:紅黃兩根

線一定要交叉!)。

5.打開網(wǎng)關(guān)端SensorDemo軟件,配置好串口波特率115200并連接。

6.點擊界面上開關(guān)按鍵進行控制。當(dāng)DATA數(shù)據(jù)區(qū)打印000000000000:表

示關(guān)閉狀態(tài),打印000000000001:時表示打開狀態(tài)(詳細協(xié)議詳見《CBT模塊

通訊協(xié)議V2.5》文檔)。風(fēng)扇上電后ZigBee模塊上LED1紅燈會亮。

四、軟件流程分析

4.1硬件部分功效程序?qū)崿F(xiàn)

4.1.1終端程序

voidSamplcAppMcssagcMSGCB(afIncomingMSGPacket_t*pkt)

{uintIbflashTime;switch(pkt->clusterid)

{caseSAMPLEAPPPERIODICCLUSTERID:〃接收廣播消息

HalLedBlink(HAL_LED_1,4,50,1000);

if((pkt->cmd.Data[0]==0xEE)&&(pkt->cmd.Data[l]==0xCC))

{HalLedBlinkCHAL_LED_2,4,50,500):

if(pkt->cmd.Data[10]==0x01){Pl_4=0x01;

HalLcdBlink(HAL_LED_2,4,50,500);

if(AFDataRequest(&SampleAppFlashDstAddr,&SampleAppepDesc,

SAMPLEAPPFLASH.CLUSTERID,14,xzj,&SampleAppTransID,AF_DTSCVROUTE,

AFDEFAULT_RADIUS)==afStatus_SUCCESS){}}

if(pkt->cmd.Data[10]==0x00){Pl_4=0x00;

HalLedBlink(HAL_LED_2,4,50,500);

if(AF_DataRequest(&SampleApp_Flash_DstAddr,&SampleApp_epDesc,

SAMPLEAPP_FLASILCLUSTERID,14,xzz,&SampleApp_TransID,

AF_D1SCV_ROUTE,A1;_DEFAULT_RADIUS)==afStatus_SUCCESS){})

HalLedBlink(HAL_LED_1,4,50,1000);)break;

4.1.2串口使用

經(jīng)過CC2530芯片處理無線傳輸?shù)絽f(xié)調(diào)器節(jié)點,串口調(diào)試助手在PC機上顯示。在

Z_Stack協(xié)議棧中,利用串口回調(diào)函數(shù)進行發(fā)送和接收。UART操作由USART控制和狀

態(tài)存放器UxCSR以及UART控制存放器UxUCR來控制。存放器UxBAUD用于設(shè)置波特率,

存放器UxBUF是USART接收/傳送數(shù)據(jù)緩存。

uint8RX_BUFFER[20];〃接收緩沖區(qū);

voidUartCallBackFunction(uint8port,uint8event);〃回調(diào)函數(shù)申明,定義

在最終面;

Uart_Config();〃配置串口

HalUART0pen(0,&uartConfig);〃打開串口

/*配置串口*/

halUARTCfg_tuartConfig;〃定義串口配置結(jié)構(gòu)體變量;

voidUart_Config(void);//函數(shù)申明;

voidUart_Config(void)〃函數(shù)定義;

{

uartConfig.configured=TRUE;〃允許配置;

uartConfig.baudRate=HAL_UARTBR9600;〃波特率;

uartConfig.flowControl=FALSE;

uartConfig.flowControlThreshold=64;//don*tcare-seeuartdriver.

uartConfig.rx.maxBufSize=128;〃串口接收緩沖區(qū)大小

uartConfig.tx.maxBufSize=128;〃串口發(fā)送緩沖區(qū)大小

uartConfig.idleTimeout=6;//don,tcare-seeuartdriver.

uartConfig.intEnable=TRUE;〃使能中止

uartConfig.callBackFunc二UartCal1BackFunction;}

staticvoidUartCallBackFunction(uint8port,uint8event)

{uint8RX_Length=0;〃接收到字符串大??;

RX_Length=Hal_UART_RxBufLen(O);〃讀取接收字符串大小;

if(RX_Length!=0){HalUARTRcad(0,RX_BUFFER,RX_Length);

if((RX_BUFFER[0]==0xEE)&&(RX_BUFFER[l]==0xCC)){

SamplcAppScndPcriodicMcssagc();delayms(100);

HalLedBlink(HAL_LED_1,4,50,500);}}}

4.L3處理組播消息

voidSampleApp_MessageMSGCB(afIncomingMSGPacket_t*pkt)

{uintl6flashTime;

switch(pkt->clusterld){

caseSAMPLEAPPPERTODTC_CLUSTERTD:〃接收廣播消息

//HalUARTWrite(O,pkt->cmd.Data,12);

//HalLedBlink(HAL_LED_1,4,50,1000);

//HalUARTWrite(O,pkt->cmd.Data,14);break;

caseSAMPLEAPP_FLASH_CLUSTERID:

HalLcdBlink(HAL_LED_2,2,50,500);

HalUARTWrite(O,pkt->cmd.Data,14);

//flashTime=BUILD_UINT16(pkt->cmd.Data[l],pkt->cmd.Data[2]);

//HalLedBlink(HAL_LED_4,4,50,(flashTime/4));break;}}

4.2軟件部分功效程序?qū)崿F(xiàn)

4.2.1串口發(fā)送查詢指令

voidCCMonitorList::0non()

{UpdateData(TRUE);〃讀取編輯框內(nèi)容

intCount=14;intj=0;

intTxData[14]={Oxee,Oxcc,0x01,0x01,0x01,0x00,

0x00,0x00,0x00,0x00:0x01,0x00,0x00,Oxff};〃要發(fā)送字符串送字符數(shù)組

CByteArrayarray;array.SetSize(Count);for(j=0;j<Count;j++)

array.SetAt(j,TxData[j]);〃將字符數(shù)組型

AfxMessageBox(〃發(fā)送數(shù)據(jù)!“);

m_ctricomm.SetOutput(COleVariant(array));〃發(fā)送數(shù)據(jù)

AfxMessageBox("發(fā)送成功!〃);m_state="開燈";}

voidCCMonitorList::0noff()

{UpdateData(TRUE);intCount=14;〃字符串長度

intj=0;intTxData[14]={Oxee,Oxcc,OxOl,0x01,0x01,0x00,0x00,

0x00,0x00,0x00,OxOO;0x00,0x00,Oxff};〃要發(fā)送字符串送字符數(shù)組

CByteArrayarray;

array.SctSizc(Count);

for(j=0;j<Count;j++)

array.SelAt(j,TxDala[j]);〃將字符數(shù)組型

AfxMessageBox("發(fā)送數(shù)據(jù)!“);

m_ctrlcomm.SetOutput(COleVariant(array));〃發(fā)送數(shù)據(jù)

AfxMessageBox(〃發(fā)送成功!〃);

4.2.2接收應(yīng)答指令

voidCCMonitorList::OnOnCommMscomnil()

(VARIANTvariant_inp;COleSafeArraysafearray_inp;

LONGlen,k;CStringstrtemp;

BYTErxdata[2048];〃設(shè)置BYTE數(shù)組

if(mCtrlcomm.GetCommEvent()—2)〃事件值為2表示接收緩沖區(qū)內(nèi)有字符

{variantinp=mCtrlcomm.GetInput();//讀緩沖區(qū)

safearrayinp=variantinp;//VARIANT變量轉(zhuǎn)化為COleSafeArray變量

len=safearray_inp.GetOneDimSizeQ;〃得到有效數(shù)據(jù)長度

for(k=O;k<len;k++){

safearray_inp.GetElement(&k,rxdata+k);}

for(k=0;k<len;k++)(BYTEbt=*(char*)(rxdata+k);//字符型

strtemp.Format(〃%2x1bt);〃將字符送入暫時變量

mstrRXData+=strtemp;}}UpdateData(FALSE);}

五、項目設(shè)計結(jié)果分析

5.1上位機測試

多登陸界面區(qū)

TESTCOMM

|登陸成功

癰XE

圖5-1登陸界面

監(jiān)控界面I區(qū)「

mso導(dǎo)航S逐程控制4炎

實時歌控

串口號:|COM4J波特率:|9600J打開|關(guān)閉|用戶控制區(qū)

數(shù)據(jù)接收區(qū);清空接收區(qū)旅居區(qū)節(jié)能燈

效據(jù)發(fā)送區(qū):清空發(fā)送區(qū)

狀態(tài):

5.2系統(tǒng)測試

5.2.1關(guān)燈測試

5.2.2開燈測試

監(jiān)控界面

mso導(dǎo)航s迤程控制幫麥

實時就控

串口號:[COM4-3波痔至:|9600二]打開關(guān)0J用戶控制區(qū)

教據(jù)接收區(qū):清冬接收匕]家居區(qū)節(jié)能燈

eecc1110000010Off

數(shù)將發(fā)送區(qū):清空發(fā)送區(qū)|發(fā)送

狀態(tài):[Sff

5.3問題及處理方法

(1)組網(wǎng)成功后,終端采集數(shù)據(jù)發(fā)送個協(xié)調(diào)器是亂碼。

處理:經(jīng)過重復(fù)測試后,發(fā)覺接收數(shù)據(jù)過程無問題,在查看串口函數(shù)回調(diào)函數(shù)時發(fā)覺

串口沒在初始化過程中打開;只有串口初始化函數(shù),才能將發(fā)送字符串顯示在上位機

上。

六、參考文摘

[1]王殊,胡富平等.無線傳感器網(wǎng)絡(luò)理論及其應(yīng)用.北京:北京航空航天大學(xué)出版社,.

[2]姜仲,劉丹等.ZigBee技術(shù)與實訓(xùn)教程.北京:清華大學(xué)出版社,.

[3]姜仲,劉丹Zig

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論