物联网短距离无线通信 课件 18-BLE家庭门磁报警系统_第1页
物联网短距离无线通信 课件 18-BLE家庭门磁报警系统_第2页
物联网短距离无线通信 课件 18-BLE家庭门磁报警系统_第3页
物联网短距离无线通信 课件 18-BLE家庭门磁报警系统_第4页
物联网短距离无线通信 课件 18-BLE家庭门磁报警系统_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

物联网短距离无线通信技术项目十八

BLE家庭门磁报警系统1.项目场景2.安防类程序逻辑分析目录CONTENTS3.安防类程序接口分析4.项目实践项目场景项目场景

安全问题无疑是每个家庭最关注的问题。如果能让家庭更安全,为什么要拒绝呢?有了智能门磁,可以随时了解门窗开关状态,保护室内财产安全。相比智能门锁,智能门磁因为位置隐蔽,所以不用担心被破解。智能门磁设备,可贴在门、窗、抽屉等位置,实时监测其开关门状态并同步到用户的智能手机上。当门窗异常打开时,用户可接到电话报警。无需SIM卡,免电话费,随贴随用,超长待机。16:19

/3任务目标本节以智能门磁系统检测预警系统为例学习在应用接口下的报警节点的程序开发,学习并掌握控制节点的操作逻辑和应用接口的使用。16:19

/4安防类程序逻辑分析

安防类程序逻辑分析

远程信息预警程序逻辑1)节点安全信息定时获取并上报;2)当节点监测到危险信息时系统能迅速上报危险信息;3)当危险信息解除时系统能够恢复正常;4)当监测到查询信息时节点能够响应指令并反馈安全信息。16:19

/5安防类程序逻辑分析

安防类程序流程:16:19

/6安防类程序逻辑分析

安防类协议设计:1)每条数据以“{}”作为起始字符;3)数据上行格式参考:{value=12,status=1}4)数据下行查询命令参考:{value=?,status=?},程序返回:{value=12,status=1}安防类程序接口分析

安防类程序接口分析

传感器应用接口函数:

函数名称函数说明sensorInit()硬件设备初始化sensoLinkOn()传感器入网成功后调用sensoUpdate()sensorCheck()上传控制器实时数据实时监测传感器报警状态,并实时预警上报ZXBeeUserProcess()MyEventProcess()解析接收到的下行控制命令用户事件处理16:19

/8安防类程序接口分析

安防类程序流程:16:19

/9安防类程序接口分析

无线数据包收发函数函数名称函数说明ZXBeeInfSend()ZXBeeInfRecv()节点发送无线数据包给汇集节点处理节点收到无线数据包

无线数据包解析函数函数名称函数说明ZXBeeBegin()增加ZXBee通信协议的帧头“{”增加ZXBee通信协议的帧尾“}”并返回封包后的数据包指针ZXBeeEnd()ZXBeeAdd()ZXBee通信协议的数据包中添加数据ZXBeeDecodePackage()对接收到的无线数据包进行解包16:19

/10安防类程序接口分析

家庭门磁报警系统设计16:19

/11项目实践项目实践

硬件功能设计

从上图中可以得知,CC2540直接驱动霍尔传感器,霍尔传感器原理图如下:16:19

/12项目实践

家庭门磁报警通信协议数据方向协议格式说明上行(节点往应用发送数据){doorStatus=X}X表示霍尔传感器状态查询霍尔传感器状态,返回:{

doorStatus

=Y},X为0表示门磁打开状态,X为1表示门磁关闭状态下行(应用往节点发送指令){doorStatus

=?}16:19

/13项目实践

传感器初始化霍尔传感器初始化代码如下:voidsensorInit(void){hall_init();//霍尔传感器初始化//启动定时器,触发传感器上报数据事件:MY_REPORT_EVTosal_start_timerEx(simpleBLEPeripheral_TaskID,

MY_REPORT_EVT,(uint16)((osal_rand()%10)

*1000));}16:19

/14项目实践

传感器主动上报传感器数据voidsensorUpdate(void){char

pData[16];char

*p

=

pData;updateDoorStatus();ZXBeeBegin();sprintf(p,

"%u",

doorStatus);ZXBeeAdd("doorStatus",p);p

=ZXBeeEnd();if

(p

!=NULL)

{//智云数据帧格式包头//

智云数据帧格式包尾ZXBeeInfSend(p,

strlen(p));//将需要上传的数据进行打包操作,并通过zb_SendDataRequest()发送到协调器}printf("sensor->sensorUpdate():

doorStatus=%u\r\n",

doorStatus);}}16:19

/15项目实践

霍尔传感器实时监测voidsensorCheck(void){static

char

lastDoorStatus=0;static

uint32

ct0=0;char

pData[16];char

*p

=

pData;updateDoorStatus();ZXBeeBegin();if

(lastDoorStatus

!=

doorStatus

||(ct0!=0&&

osal_GetSystemClock()>(ct0+3000))){sprintf(p,

"%u",

doorStatus);ZXBeeAdd("doorStatus",p);ct0=

osal_GetSystemClock();if

(doorStatus

==0)

{ct0=0;}lastDoorStatus

=

doorStatus;}p

=ZXBeeEnd();if

(p

!=NULL)

{int

len

=

strlen(p);ZXBeeInfSend(p,

len);}}16:19

/16项目实践

自定义事件处理void

MyEventProcess(

uint16

event

){if

(event

&MY_REPORT_EVT)

{sensorUpdate();//

传感器数据定时上报//启动定时器,触发事件:MY_REPORT_EVTosal_start_timerEx(simpleBLEPeripheral_TaskID,

MY_REPORT_EVT,

20*1000);}if

(event

&

MY_CHECK_EVT)

{sensorCheck();//

传感器状态实时监测//启动定时器,触发事件:MY_CHECK_EVTosal_start_timerEx(simpleBLEPeripheral_TaskID,

MY_CHECK_EVT,

100);}}16:19

/17项目实践

霍尔传感器驱动函数函数名称函数说明hall_init

()霍尔传感器初始化get_hall_sta

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论