物联网课程设计.docx

上传人:b****3 文档编号:10320708 上传时间:2023-05-25 格式:DOCX 页数:15 大小:618.27KB
下载 相关 举报
物联网课程设计.docx_第1页
第1页 / 共15页
物联网课程设计.docx_第2页
第2页 / 共15页
物联网课程设计.docx_第3页
第3页 / 共15页
物联网课程设计.docx_第4页
第4页 / 共15页
物联网课程设计.docx_第5页
第5页 / 共15页
物联网课程设计.docx_第6页
第6页 / 共15页
物联网课程设计.docx_第7页
第7页 / 共15页
物联网课程设计.docx_第8页
第8页 / 共15页
物联网课程设计.docx_第9页
第9页 / 共15页
物联网课程设计.docx_第10页
第10页 / 共15页
物联网课程设计.docx_第11页
第11页 / 共15页
物联网课程设计.docx_第12页
第12页 / 共15页
物联网课程设计.docx_第13页
第13页 / 共15页
物联网课程设计.docx_第14页
第14页 / 共15页
物联网课程设计.docx_第15页
第15页 / 共15页
亲,该文档总共15页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

物联网课程设计.docx

《物联网课程设计.docx》由会员分享,可在线阅读,更多相关《物联网课程设计.docx(15页珍藏版)》请在冰点文库上搜索。

物联网课程设计.docx

物联网课程设计

 

物联网导论课程设计报告

 

设计题目:

基于物联网的远程入侵报警装置设计

班级:

计科四班

学号:

姓名:

 

一、绪论

1.1物联网的发展概述

物联网的英文名称是InternetofThings,缩写IOT。

物联网就是把传感器装备到电网、铁路、桥梁、隧道、公路、建筑、供水系统、大坝、油气管道以及家用电器等各种真实物体上,通过互联网联接起来,进而运行特定的程序,达到远程控制或者实现物与物的直接通信。

可实现人与物体的沟通和对话,也可以实现物体与物体互相间的沟通和对话,这种将物体联接起来的网络被称为“物联网”。

通过物联网可以用中心计算机对机器、设备、人员进行集中管理、控制,也可以对家庭设备、汽车进行遥控,以及搜寻位置、防止物品被盗等各种应用。

物联网将现实世界数字化,应用范围十分广泛。

物联网的应用领域主要包括以下几个方面:

运输和物流领域、健康医疗领域、智能环境(家庭、办公、工厂)领域、个人和社会领域等,具有十分广阔的市场和应用前景。

1.2设计远程防盗报警装置的目的

1.掌握物联网综合实验系统的软件、硬件部署方法。

2.掌握各节点程序的烧写方法,能够搭建实验平台并在物联网高级教学实验箱上进行烧写实验。

3.掌握串口助手的使用方法,能够使用串口助手发送控制命令。

4.掌握所有软件的部署和开发平台。

1.3设计远程防盗报警装置的意义

防盗报警系统是指当非法侵入防范区时,引起报警的装置,它是用来发出出现危险情况信号的。

防盗报警系统就是用探测器对建筑内外重要地点和区域进行布防。

它可以及时探测非法入侵,并且在探测到有非法人侵时,及时向有关人员示警。

譬如门磁开关、玻璃破碎报警器等可有效探测外来的人侵,红外探测器可感知人员在楼内的活动等。

一旦发生人侵行为,能及时记录入侵的时间、地点,同时通过报警设备发出报警信号

二、开发环境搭建与各模块设计

2.1搭建开发环境

此次实验用的是破解版的IAR开发环境,下面将介绍IAR开发环境的安装及添加文件到工程以及调试运行的过程:

1.打开参考文件中一个可执行文件,如下图1:

图1

2.点击install,根据创建向导安装IAR开发环境步骤安装,安装成功后,打开一个如下图2的窗口:

图2

3.选择File->open->workbase,在弹出的对话框中“文件名”中选择将要用到的文件,默认工程类型为eww。

然后选择Project->RebuildAll编译工程,等待编译完成。

4.将连接好的硬件平台上电(CC2530务必按下开关上电),然后按下仿真器上的按键。

接下来选择Project->Downloadanddebug下载并调试程序。

5.下载完后,如果想调试程序,可以点击“Debug”->”Go”,会发现板上的灯有变化。

也可单步调试,点击工具栏上的按钮终止调试。

到此,程序已经下载到了cc2530芯片的flash内,按下ZX2530A上的复位按钮或者将板子重新上电后也可看到程序的运行效果。

2.2点对点通信的实现

实验内容

接收节点上通电后进行初始化,然后通过指令ISRXON开启射频接收器,等待接收数据,直到正确接收到数据为止,通过串口打印输出。

发送节点上电后和接收节点进行相同的初始化,然后将要发送的数据输出到TXFIFO中,再调用指令ISTXONCCA通过射频前端发送数据。

实验设备及工具

硬件:

ZX2530A型CC2530节点板2块、USB接口的仿真器,PC机Pentium100以上。

软件:

PC机操作系统WinXP、IAR集成开发环境、串口监控程序。

实验原理

在本实验中,发送节点将数据通过射频模块发送到指定的接收节点,接收节点通过射频模块收到数据后,通过串口发送到pc机在串口调试助手中显示出来。

如果发送节点发送的数据目的地址与接收节点的地址不匹配,接收节点将接收不到数据。

2.2.4实验步骤

(1)准备两个CC2530射频板,分别接上出厂电源;将其中一个CC2530射频板通过RS-232交叉串口线连接到PC机串口。

(2)在PC机上打开串口终端软件,设置好波特率为9600。

(3)双击本实验程序“无线射频实验\1.点对点通信”双击p2p.eww,打开本实验工程文件。

(4)打开main.c文件,下面对一些定义进行介绍。

PAN_ID个域网ID标示,用来表示不同在网络,在同一实验中,接收和发送节点需要配置为相同的值,否则两个节点将不能正常通信。

SEND_ADDR发送节点的地址

RECV_ADDR接收节点的地址

NODE_TYPE节点类型:

0接收节点,1:

发送节点,在进行实验时一个节点定义为发送节点用来发送数据,一个定义为接收节点用来接收数据。

(5)修改main.c文件中的NODE_TYPE的值为0,保存,然后选择Project->RebuildAll重新编译工程。

(6)将仿真器连接到串口与PC机相连接的CC2530节点中,点击菜单Project->Downloadanddebug下载程序到接收节点板。

(7)修改main.c文件中的NODE_TYPE的值为1,然后点击保存,然后选Project->RebuildAll重新编译工程。

(8)接下来将接收节点断电,取下仿真器连接到另外一个节点上,点击菜单Project->Downloadanddebug下载程序到发送节点板。

(9)确保接收节点的串口与pc的串口通过交叉串口线相连。

(10)先将接收节点通电,查看PC机上的串口输出,接下来将发送节点通电。

(11)从PC机上串口调试助手观察接收节点收到的数据。

可以修改发送节点中发送数据的内容,然后编译并下载程序到发送节点,然后从串口调试助手观察收到的数据。

可以修改接收节点的地址,然后重新编译并下载程序到接收节点,然后从发送节点发送数据,观察接收节点能否正确接收数据。

2.3人体红外传感器的设计

实验内容

本实验实例代码通过读取红外人体传感器的控制信号,实现LED灯的控制。

当检测到有

人入侵时,点亮led灯,当人离开后关闭led灯。

下图为人体传感器模块与CC2530的接口电路:

图3

其中SIP3连接人体传感器模块,Z2_SENSOR连接到CC2530的P0.7引脚。

当传感器模块检测到有人入侵时,从SIP3的第二个引脚输出低电平,此时图上的LED被点亮,然后程序中从Z2_SENSOR引脚读取io口的状态判断是否有人入侵,同时点亮ZX2530底板上的LED2。

实验设备及工具

硬件:

ZX2530型底板及CC2530节点板一块、人体传感器节点板一块、USB接口仿真机器、pc机

软件:

PC机操作系统WINXP,IAR集成开发环境

实验原理

普通人体会发射10um左右的特定波长红外线,用专门设计的传感器就可以针对性的检测这种红外线的存在与否,当人体红外线照射到传感器上后,因热释电效应将向外释放电荷,后续电路经检测处理后就能产生控制信号。

实验步骤

(1)准备好带有人体红外感应传感器的CC2530射频板,将仿真器连接到该CC2530射频板上,接上出厂电源;

(2)打开例程“传感器实验\4.人体红外传感器”,双击Infrared.eww,打开本实验工程文件;

(3)选择Project->RebuildAll重新编译工程;

(4)上电CC2530节点板,然后按下连接好的仿真器的复位按键;接下来点击IAR菜单Project->Downloadanddebug,将程序下载程序到CC2530射频板上。

(5)将cc2530射频板上电并复位,运行刚才下载的程序。

(6)人体靠近节点或者用手在节点面前晃动,观察LED变化;几秒后,将传感器模块遮挡,观察LED灯的变化。

三、详细设计

3.1点对点通信模块的代码实现以及线路连接图

主程序核心代码如下:

#defineNODE_TYPE1//0:

接收节点,1:

发送节点

staticbasicRfCfg_tbasicRfConfig;

voidrfSendData(void)

{

uint8pTxData[]={'H','e','l','l','o','','c','c','2','5','3','0','\r','\n'};

uint8ret;

printf("sendnodestartup...\r\n"

hal_led_on

(1);

halMcuWaitMs(100);

hal_led_off

(1);

halMcuWaitMs(900);

}else{

hal_led_on

(1);

halMcuWaitMs(1000);

hal_led_off

(1);

}

}

}

//ConfigbasicRF

basicRfConfig.panId=PAN_ID;

basicRfConfig.channel=RF_CHANNEL;

basicRfConfig.ackRequest=TRUE;

#ifdefSECURITY_CCM

basicRfConfig.securityKey=key;

#endif

//InitializeBasicRF

#ifNODE_TYPE

basicRfConfig.myAddr=SEND_ADDR;

#else

basicRfConfig.myAddr=RECV_ADDR;

#endif

if(basicRfInit(&basicRfConfig)==FAILED){

HAL_ASSERT(FALSE);

}

#ifNODE_TYPE

rfSendData();

#else

rfRecvData();

#endif

}

其中通过更改下列代码中的1或0来分别下载至发送器或接受器:

#defineNODE_TYPE1//0:

接收节点,1:

发送节点

该程序主要实现发送端给接收端发送‘Hellocc2530’。

线路连接图

点对点通信模块的线路连接图如下图:

图4

3.2人体红外传感器模块的代码实现以及线路连接图

主程序核心代码如下:

unsignedtt;

for(tt=0;tt

for(tt=0;tt

for(tt=0;tt

for(tt=0;tt

for(tt=0;tt

for(tt=0;tt

}

//32M晶振初始化

voidxtal_init(void)

{

CLKCONCMD&=~0x40;//晶振

while(!

(SLEEPSTA&0x40));//等待晶振稳定

CLKCONCMD&=~0x47;//TICHSPD128分频,CLKSPD不分频

SLEEPCMD|=0x04;//关闭不用的RC振荡器

}

//LED灯初始化

voidled_init(void)

{

P1SEL=0x00;//P1为普通I/O口

P1DIR|=0x05;//P1.0P1.1输出

led1=0;

led2=1;

}

voidio_init(void)

{

P0SEL&=~0x80;//设置P0.7为普通io口

P0DIR&=~0x80;//设置P0.7为输入

}

//主函数

voidmain(void)

{

EA=0;//禁用中断

xtal_init();

led_init();

io_init();

while

(1){

if(P0_7!

=0){

led2=0;

}else{

led2=1;

}

Delay(10);

}

}

线路连接图

人体红外传感器模块的线路连接图如下图:

图5

3.3远程报警装置的代码实现以及线路连接图

主要程序代码如下:

在点对点通信的代码基础上作如下程序更改:

voidrfSendData(void)

{

//修改了这里,把传输的数据改为了warningamancoming

uint8pTxData[]={'w','a','r','n','i','n','g','!

','','a','','m','a','n','','c','o','m','i','n','g','\r','\n'};

uint8ret;

printf("sendnodestartup...\r\n");

//KeepReceiveroffwhennotneededtosavepower

basicRfReceiveOff();

//Mainloop

while(TRUE){

//修改了这里,把添加了一个循环,如果P0_7!

=0则说明有人

while(P0_7!

=0){

ret=basicRfSendPacket(RECV_ADDR,pTxData,sizeofpTxData);

//修改了这里,添加了如果有人则让灯亮的逻辑led1这个常量在最上面定义了led1=0;

if(ret==SUCCESS){

hal_led_on

(1);

halMcuWaitMs(100);

hal_led_off

(1);

halMcuWaitMs(900);

}else{

hal_led_on

(1);

halMcuWaitMs(1000);

hal_led_off

(1);

}

线路连接图

远程报警装置的线路连接图如下图:

图6

四、实验结果与讨论

4.1点对点通信模块

在将代码分别下载调试之后,运行:

发送节点将数据发送出去后,接收节点接收到数据,并通过串口调试助手打印输出。

结果如图:

图7

4.2人体红外线传感器模块

人体靠近节点或者用手在节点面前晃动,LED灯闪烁;几秒后,将传感器模块遮挡,LED灯灭,结果如图:

图8图9

4.3远程报警装置模块

当有人体接近报警装置时,报警装置通过射频通信将报警信息发送到接收端,并由上位机串口助手打印出来,结果如图:

图10

五、设计总结

通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,来提高自己的实际动手能力和独立思考的能力。

在设计的过程中遇到很多问题,可以说得是困难重重,在设计的过程中才发现了自己有那么多的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,通过这次课程设计,把以前所学过的知识重新温故得到了许多新的知识。

最后,感谢一起完成本次实验的同学及精心指导的老师。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2