版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年廉潔從業(yè)法律試題及答案
- 2024年上半年教師資格證幼兒《綜合素質(zhì)》考試真題及答案
- 2025年新版電氣工器具題庫及答案
- 安全員A證考試復(fù)習(xí)提分資料及參考答案詳解【培優(yōu)b卷】
- 安全員A證考試強化訓(xùn)練題型匯編及參考答案詳解(培優(yōu)b卷)
- 安全員A證考試考試彩蛋押題附答案詳解【能力提升】
- 2023黑龍江省安全員-《A證》考試題庫及答案
- 2025年公務(wù)員公共基礎(chǔ)知識考試題庫及答案(共50題)
- 北京朝陽協(xié)管員招聘面試題及答案
- 安全員A證考試模擬題庫講解含完整答案詳解(奪冠系列)
- 產(chǎn)業(yè)論證報告
- 頸椎病頸椎病的常見癥狀及治療方法
- 單證專員述職報告
- 眼底病OCT解讀演示教學(xué)課件
- 民間個人借款擔(dān)保書
- LY/T 1598-2011石膏刨花板
- GB/T 31588.1-2015色漆和清漆耐循環(huán)腐蝕環(huán)境的測定第1部分:濕(鹽霧)/干燥/濕氣
- GB/T 21268-2014非公路用旅游觀光車通用技術(shù)條件
- GA/T 1495-2018道路交通安全設(shè)施基礎(chǔ)信息采集規(guī)范
- 夜間綜合施工專項專題方案公路
- Q∕GDW 11421-2020 電能表外置斷路器技術(shù)規(guī)范
評論
0/150
提交評論