物联网课程设计Word文档格式.docx
- 文档编号:21735498
- 上传时间:2023-02-01
- 格式:DOCX
- 页数:14
- 大小:946.41KB
物联网课程设计Word文档格式.docx
《物联网课程设计Word文档格式.docx》由会员分享,可在线阅读,更多相关《物联网课程设计Word文档格式.docx(14页珍藏版)》请在冰豆网上搜索。
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'
o'
'
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{
halMcuWaitMs(1000);
}
}
//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;
if(basicRfInit(&
basicRfConfig)==FAILED){
HAL_ASSERT(FALSE);
rfSendData();
rfRecvData();
其中通过更改下列代码中的1或0来分别下载至发送器或接受器:
该程序主要实现发送端给接收端发送‘Hellocc2530’。
线路连接图
点对点通信模块的线路连接图如下图:
图4
3.2人体红外传感器模块的代码实现以及线路连接图
unsignedtt;
for(tt=0;
tt<
n;
tt++);
//32M晶振初始化
voidxtal_init(void)
CLKCONCMD&
=~0x40;
//晶振
while(!
(SLEEPSTA&
0x40));
//等待晶振稳定
=~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&
//设置P0.7为输入
//主函数
voidmain(void)
EA=0;
//禁用中断
xtal_init();
led_init();
io_init();
while
(1){
if(P0_7!
=0){
led2=0;
Delay(10);
人体红外传感器模块的线路连接图如下图:
图5
3.3远程报警装置的代码实现以及线路连接图
主要程序代码如下:
在点对点通信的代码基础上作如下程序更改:
//修改了这里,把传输的数据改为了warningamancoming
w'
a'
r'
n'
i'
g'
!
'
m'
'
);
//KeepReceiveroffwhennotneededtosavepower
basicRfReceiveOff();
//Mainloop
while(TRUE){
//修改了这里,把添加了一个循环,如果P0_7!
=0则说明有人
while(P0_7!
ret=basicRfSendPacket(RECV_ADDR,pTxData,sizeofpTxData);
//修改了这里,添加了如果有人则让灯亮的逻辑led1这个常量在最上面定义了led1=0;
if(ret==SUCCESS){
远程报警装置的线路连接图如下图:
图6
四、实验结果与讨论
4.1点对点通信模块
在将代码分别下载调试之后,运行:
发送节点将数据发送出去后,接收节点接收到数据,并通过串口调试助手打印输出。
结果如图:
图7
4.2人体红外线传感器模块
人体靠近节点或者用手在节点面前晃动,LED灯闪烁;
几秒后,将传感器模块遮挡,LED灯灭,结果如图:
图8图9
4.3远程报警装置模块
当有人体接近报警装置时,报警装置通过射频通信将报警信息发送到接收端,并由上位机串口助手打印出来,结果如图:
图10
五、设计总结
通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,来提高自己的实际动手能力和独立思考的能力。
在设计的过程中遇到很多问题,可以说得是困难重重,在设计的过程中才发现了自己有那么多的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,通过这次课程设计,把以前所学过的知识重新温故得到了许多新的知识。
最后,感谢一起完成本次实验的同学及精心指导的老师。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 联网 课程设计