收藏 分销(赏)

物联网课程设计.doc

上传人:二*** 文档编号:4509607 上传时间:2024-09-26 格式:DOC 页数:18 大小:4.10MB 下载积分:5 金币
下载 相关 举报
物联网课程设计.doc_第1页
第1页 / 共18页
本文档共18页,全文阅读请下载到手机保存,查看更方便
资源描述
物联网导论课程设计报告 设计题目:基于物联网的远程入侵报警装置设计 班级: 计科四班 学号: 姓名: 目录 一、绪论 3 1.1物联网的发展概述 3 1.2设计远程防盗报警装置的目的 3 1.3设计远程防盗报警装置的意义 3 二、开发环境搭建与各模块设计 4 2.1 搭建开发环境 4 2.2点对点通信的实现 5 2.3人体红外传感器的设计 7 三、详细设计 9 3.1点对点通信模块的代码实现以及线路连接图 9 3.2 人体红外传感器模块的代码实现以及线路连接图 12 3.3 远程报警装置的代码实现以及线路连接图 15 四、实验结果与讨论 16 4.1 点对点通信模块 16 4.2 人体红外线传感器模块 17 4.3 远程报警装置模块 17 五、设计总结 18 一、绪论 1.1物联网的发展概述 物联网的英文名称是Internet of Things,缩写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->Rebuild All 编译工程,等待编译完成。 4.将连接好的硬件平台上电(CC2530 务必按下开关上电),然后按下仿真器上的按键。接下来选择Project->Download and debug 下载并调试程序。 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->Rebuild All 重新编译工程。 (6)将仿真器连接到串口与PC 机相连接的CC2530 节点中,点击菜单Project->Download and debug 下载程序到接收节点板。 (7)修改main.c 文件中的NODE_TYPE 的值为1,然后点击保存,然后选Project->Rebuild All重新编译工程。 (8)接下来将接收节点断电,取下仿真器连接到另外一个节点上,点击菜单Project->Download and debug 下载程序到发送节点板。 (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->Rebuild All 重新编译工程; (4)上电CC2530 节点板,然后按下连接好的仿真器的复位按键;接下来点击IAR 菜单Project->Download and debug,将程序下载程序到CC2530 射频板上。 (5)将cc2530 射频板上电并复位,运行刚才下载的程序。 (6)人体靠近节点或者用手在节点面前晃动,观察LED 变化;几秒后,将传感器模块遮挡,观察LED 灯的变化。 三、详细设计 3.1点对点通信模块的代码实现以及线路连接图 主程序核心代码如下: #define NODE_TYPE 1 //0:接收节点,1:发送节点 static basicRfCfg_t basicRfConfig; void rfSendData(void) { uint8 pTxData[] = {'H', 'e', 'l', 'l', 'o', ' ', 'c', 'c', '2', '5', '3', '0', '\r', '\n'}; uint8 ret; printf("send node start up...\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); } } } // Config basicRF basicRfConfig.panId = PAN_ID; basicRfConfig.channel = RF_CHANNEL; basicRfConfig.ackRequest = TRUE; #ifdef SECURITY_CCM basicRfConfig.securityKey = key; #endif // Initialize BasicRF #if NODE_TYPE basicRfConfig.myAddr = SEND_ADDR; #else basicRfConfig.myAddr = RECV_ADDR; #endif if(basicRfInit(&basicRfConfig)==FAILED) { HAL_ASSERT(FALSE); } #if NODE_TYPE rfSendData(); #else rfRecvData(); #endif } 其中通过更改下列代码中的1或0来分别下载至发送器或接受器: #define NODE_TYPE 1 //0:接收节点,1:发送节点 该程序主要实现发送端给接收端发送‘Hello cc2530’。 线路连接图 点对点通信模块的线路连接图如下图: 图4 3.2 人体红外传感器模块的代码实现以及线路连接图 主程序核心代码如下: unsigned tt; for(tt = 0;tt<n;tt++); for(tt = 0;tt<n;tt++); for(tt = 0;tt<n;tt++); for(tt = 0;tt<n;tt++); for(tt = 0;tt<n;tt++); for(tt = 0;tt<n;tt++); } //32M晶振初始化 void xtal_init(void) { CLKCONCMD &= ~0x40; //晶振 while(!(SLEEPSTA & 0x40)); //等待晶振稳定 CLKCONCMD &= ~0x47; //TICHSPD128分频,CLKSPD不分频 SLEEPCMD |= 0x04; //关闭不用的RC振荡器 } //LED灯初始化 void led_init(void) { P1SEL = 0x00; //P1为普通 I/O 口 P1DIR |= 0x05; //P1.0 P1.1 输出 led1 = 0; led2 = 1; } void io_init(void) { P0SEL &= ~0x80; //设置P0.7为普通io口 P0DIR &= ~0x80; //设置P0.7为输入 } //主函数 void main(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 远程报警装置的代码实现以及线路连接图 主要程序代码如下: 在点对点通信的代码基础上作如下程序更改: void rfSendData(void) { //修改了这里,把传输的数据改为了warning a man coming uint8 pTxData[] = {'w', 'a', 'r', 'n', 'i', 'n', 'g', '!', ' ', 'a', ' ', 'm', 'a','n', ' ','c', 'o','m', 'i','n', 'g', '\r', '\n'}; uint8 ret; printf("send node start up...\r\n"); // Keep Receiver off when not needed to save power basicRfReceiveOff(); // Main loop while(TRUE){ //修改了这里,把添加了一个循环,如果P0_7 != 0 则说明有人 while (P0_7 != 0) { ret = basicRfSendPacket(RECV_ADDR, pTxData, sizeof pTxData); //修改了这里,添加了如果有人则让灯亮的逻辑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 五、设计总结 通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,来提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到很多问题,可以说得是困难重重,在设计的过程中才发现了自己有那么多的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,通过这次课程设计,把以前所学过的知识重新温故得到了许多新的知识。最后,感谢一起完成本次实验的同学及精心指导的老师。 18
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服