辜渝傧

13037102709

027-87870986

教学实训

您当前的位置:首页 > 教学资源 > 实训方案 >

物联网智能家居实训||实验二十二 安防报警布撤防实验

发布者:唯众    布时间:2020-09-23 16:11:35    点击量:

实验环境
软件环境:JDK1.6、SDK、ADT、Eclipse
硬件环境:DC5V、DC12V、节点板4块、ZIGBEE协调器1个、WIFI模块1个、ZIGBEE节点1个、A9网关、报警灯、人体红外模块、继电器模块、声音探测模块、雨滴检测模块
实验内容
       A9网关通过WIFI与继电器模块通讯,通过ZIGBEE与人体红外、声音、雨滴检测模块通讯。
       布防状态,人体红外、声音、雨滴检测模块进入监听模式,当有触发状态时,联动报警灯闪烁。撤防恢复报警灯闪烁,传感模块复位。
安防报警布撤防实验
实验原理
       3个ZIGBEE节点模块与1个WIFI节点模块同时连接到A9的网关上。ZIGBEE节点依次插上唯众的声音检测传感器、人体红外传感器和雨滴检测传感器。WIFI节点插上唯众的继电器模块,继电器模块再接上报警灯。ZIGBEE节点将各自采集到的数据通过ZIGBEE网络传感A9网关,当网关检测到有警报状态的时候,即通过WIFI通知WIFI节点控制继电器打开警报。
 
硬件接口原理
       本实验集成了人体红外传感器模块,雨滴传感器模块,声音检测传感器模块。人体红外传感器模块实验六已经有了详细的讲解。下面是雨滴传感器模块及声音检测传感器模块的原理图。如图3.28,J6接雨滴传感器,雨滴传感器采用日本进口的特殊电了浆料和先进的厚膜技术制作的专门用于检测雨滴的一种新型传 感元件。当检测到雨滴时,雨滴传感器的电导率升高,电路中的电流增大,AO端输出的电压值增大。AO经过LM393比较后将结果输出至单片机CC2530,当检测值到达预设阀置时,产生报警。
      如图3.29,LS1为咪头,咪头检测到的环境声音强度达不到设定阈值时,OUT口输出高电平,当外界环境声音强度超过设定阈值时,OUT输出低电平;OUT与单片机CC2530相连,通过单片机来检测高低电平,由此来检测环境的声音;
安防报警布撤防实验原理
图3.28
安防报警布撤防实验
图3.29
 
软件设计
1. CC2530 安防报警布防撤防流程图
CC2530 安防报警布防撤防流程图
2. CC2530门禁出入口控制软件
WIFI节点控制继电器,请参考实验四;协调器通过WIFI控制继电器,请参考实验二十一。此处是传感器的初始化软件代码:
1. void GenericApp_Init( uint8 task_id )
2. {
3. GenericApp_TaskID = task_id;
4. GenericApp_NwkState = DEV_INIT;
5. GenericApp_TransID = 0;
6.
7. GenericApp_Rout_DstAddr.addrMode = (afAddrMode_t)Addr16Bit;
8. GenericApp_Rout_DstAddr.endPoint = GENERICAPP_ENDPOINT;
9. GenericApp_Rout_DstAddr.addr.shortAddr = 0x0000;
10.
11. GenericApp_Rout_epDesc.endPoint = GENERICAPP_ENDPOINT;
12. GenericApp_Rout_epDesc.task_id = &GenericApp_TaskID;
13. GenericApp_Rout_epDesc.simpleDesc = (SimpleDescriptionFormat_t *)&GenericApp_SimpleDesc;
14. GenericApp_Rout_epDesc.latencyReq = noLatencyReqs;
15. afRegister( &GenericApp_Rout_epDesc );
16.
17. aps_AddGroup(GENERICAPP_ENDPOINT, &Group_Rout);
18.
19.
20. init_buzzer();
21. init_key();
22. init_sensor_io();
23. SensorId = *get_sensor_id(); 
24.
25. //初始化oled显示屏
26. oled_initial();
27. oled_disp_string(1,1,"武汉唯众智创科技");
28. oled_disp_string(3,1,"有限公司");
29. Delay_ms(500);
30.
31. //对传感器数据口P0.0 P0.1 P0.2 P0.3进行分类初始化
32. init_data_io(0x01);
33. init_data_io(0x10);
34. set_p0_bit(1,1);
35. Delay_ms(3000); 
36. set_p0_bit(1,0);
37. }
 
38. #pragma vector=P0INT_VECTOR
39. __interrupt void P0_IRQ()
40. {
41. P0IFG &= ~0X02;
42. SyjcFlag = 1;
43.
44. RfTx.Pack.Sid[0] = 20;
45. RfTx.Pack.Sid[1] = ' ';
46.
47. RfTx.Pack.Cmd[0] = 'S';
48. RfTx.Pack.Cmd[1] = 'N';
49. P0IF=0;
50. }
51.
52. static void GenericApp_SendTheMessage( void )
53. {
54. uint8 temp=0;
55. char charbuf[15] = "KeyName:";
56. static uint8* ptr = NULL;
57. static uint16_t sen=0;
58. SensorId = *get_sensor_id();  
59. if(sen != SensorId){
60. sen = SensorId;
61. oled_clear_vertical(1);
62. sprintf(Str1,"%4X:%d:%04X:%d",_NIB.nwkPanId,_NIB.nwkLogicalChannel,ShortAddr,SensorId);
63. oled_disp_string(1,1,Str1);
64.
65. memset(RfTx.Buf,'x',sizeof(RfPacket_t));
66. memcpy(RfTx.Pack.Laddr,IeeeAddr,8); //8个字节 本设备IEEE地址
67. RfTx.Pack.Head = '#';
68. RfTx.Pack.Saddr[0] = ShortAddr;
69. RfTx.Pack.Saddr[1] = ShortAddr>>8;
70. RfTx.Pack.Tail = '$';
71. RfTx.Pack.Sid[0] = SensorId;
72. RfTx.Pack.Sid[1] = ' ';
73. RfTx.Pack.Cmd[0] = 'S';
74. RfTx.Pack.Cmd[1] = 'N';
75. }
76. switch(SensorId)
77. {
78. case S4_YD: //雨滴
79. ptr = get_aout_dout();
80. break;
81. case S17_RTHW: //人体红外
82. ptr = get_aout_dout();
83. break;
84. case S20_SYJC:
85. oled_clear_vertical(2);
86. sprintf(Str2,"Sig:%d",SyjcFlag);
87. oled_disp_string(3,1,Str2);
88. RfTx.Pack.Len = 1;
89. RfTx.Pack.Data[0] = SyjcFlag;
90. SyjcFlag = 0;
91. break;
92. default:
93. oled_clear_vertical(2);
94. oled_disp_string(3,1,"No sensor!");
95. RfTx.Pack.Len = 0;
96. break;
97. }
98.
99. if(SensorId==S4_YD|| SensorId==S17_RTHW)
100. {
101. sprintf(Str2,"Sig:%d Val:%d",ptr[0],ptr[2]);
102. oled_clear_vertical(2);
103.   oled_disp_string(3,1,Str2);
104.
105.   RfTx.Pack.Len = 3;
106. RfTx.Pack.Data[0] = ptr[0];
107. RfTx.Pack.Data[1] = ptr[1];
108. RfTx.Pack.Data[2] = ptr[2];
109. }
110. temp = AF_DataRequest(
111. &GenericApp_DstAddr, &GenericApp_epDesc,
112. SensorId,
113. sizeof(RfPacket_t),
114. (byte *)&RfTx.Buf,
115. &GenericApp_TransID,
116. AF_DISCV_ROUTE, 
117. AF_DEFAULT_RADIUS);
118. if(temp != SUCCESS){
119. asm("NOP");120. }121. }
3)Android端软件代码:
安防报警布撤防实验代码安防报警布撤防实验代码安防报警布撤防实验代码安防报警布撤防实验代码安防报警布撤防实验代码安防报警布撤防实验代码安防报警布撤防实验代码安防报警布撤防实验代码安防报警布撤防实验代码安防报警布撤防实验代码
 
 
实验步骤
1) 将ZIGBEE协调器插在A9网关上
2) 将3个ZIGBEE节点分别插到节点板上
3) 将WIFI模块插到节点底板上,同时插上继电器模块
4) 将报警灯接到继电器的输出端
5) 用DC5V电源给A9网关供电,同时按下电源键3S开启网关
6) 用DC5V电源给节点底板供电
7) 用DC12V电源给报警灯上电
8) 打开雨滴 、声音 、人体红外 、烟雾 传感器节点模块和继电器模块 、报警灯;
9) 打开A9网关,并打开指定APP ;
10) 点击设置按钮 ,设置指定串口号和波特率 ,并设置WiFi服务器端端口号,开启服务器(默认情况WiFi服务器自动开启);
11) 点击安防模块 ,在报警视图 中点击一键布防 ,设置当前4种传感器开启(默认情况下四中传感器处于关闭状态),当检测到异常时,则继电器便会打开,报警等便会联动闪烁;


唯众物联网工程应用实训装置带你快速掌握物联网关键技术

唯众物联网实训室工程应用装置
一、产品名称:物联网工程应用实训装置
二、产品型号和技术规格
1.  产品型号:WZ-IOT-ATP
2.  外型尺寸:
桌面式操作台1个操作台底座1个
3.  电压/功率:220V
4.  配套设备
实训台:
温湿度传感器1个
人体红外监测器1个
高频RFID阅读器1个
光照强度检测器1个
可燃气体监测器1个
RGB三色灯执行器1个
LED显示屏2个
智能语音播放设备1个
继电器1个
 
       物联网教学实训主要用于对物联网核心课程的知识点学习,能够服务于相关课程的实验和实训需求。
       核心课程主要针对学科基础技术的培养,掌握物联网概论,传感器和RFID 等感知设备认知和开发,ZigBee/Wi-Fi/蓝牙等无线网络的配置、维护和开发,物联网互联接入及存储,物联网应用层软件开发,物联网产品整合等基本知识。
       核心课程采用全模块化的实验箱教学产品进行实验,具备优良的教学实验特性:全模块化的设计、开放式的硬件接口、开源的实验代码、完整的教学资源、贴心的售后服务。
       基于ARM Cortex-M4核心的通信网关,支持无线节点模块的双向连接及组网,与配套“可视化编辑器”和“可视化控制器”进行配置和控制。物联网关可以管理不同协议的无线节点模块,并能将多个无线节点模块视作不同设备,将无线节点模块的数据转换为TCP网络通信进行传输,网关同无线节点模块可以互通互联,轻松构建物联网络,共同构成物联应用开发平台。通过本物联网平台,可以迅速降低物联网应用的开发成本和开发时间,开发者即便不会编程,也可以在一两天之内,就迅速使用本平台开发搭建出自己的物联网应用。
       通过电脑PC端可直接以“可见即可得”的方式在此工具上生成不同的设备操作界面,支持指示灯、按键、图片集合、变量视窗、图文链接等五种可视化控件。所有控件的动作都可以直接反应到实际的物联设备(即无线节点模块)上。界面生成后,可以直接导入App使用,而不需要重新编译或安装App。
       通过物联网关、可视化控制器、可视化界面生成器编辑器、万纳模组、物联网传感器/执行器以及配套物联网连件连接件,师生不仅可以完成出基于物联网、远程访问、设备联动等功能的物联网实训项目,还可以迅速开发物联网商业产品\项目,如空气监测仪、电气设备在线监测器等等,并随时实现不同设备间的联动,而这些开发过程,基于本系统的可视化开发工具,可以做到零编程实现物联网应用系统。
       支持家庭常用的各种无线协议(红外、射频),兼容市面绝大多数品牌的空调、电视机、灯光、安防、窗帘等等家电设备,因此可以直接当做一套完备的智能家居系统进行使用,并集成了摄像头功能,可以直接在App中使用摄像头。
       平台所有设备采用模块化、集散化、工业化的设计模式,每个模块都为独立工作单元;模块均接近实际应用系统,能够容纳2-3个学生同时实训,可完成工程项目应用开发系统中硬件设备的安装、布线与调试,完成设备间的无线组网,既具有展示型又具有实操性。能够组建具有行业特色的物联网智能家居实训项目,确保学生可利用设备搭建真实工程项目。


上一篇:物联网智能家居实训||实验二十一 门禁出入口控制实验

下一篇:物联网智能家居实训||实验二十三 语音识别场景控制实验