




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第2章LoRa无线通信技术开发2.6LoRa电子围栏系统开发与实现第2章LoRa无线通信技术开发2.6LoRa电子围栏系统项目场景安防程序逻辑分析安防类程序接口分析项目实践项目场景项目场景畜牧牲畜对于农户来说是高价值产品,同时是保证收益的重要来源,因此为了保证牲畜在放养过程中不走失,需要为牲畜建立一个电子栅栏,当牲畜触发电子栅栏时,电子栅栏系统能够立即触发报警并通知农户及时处理牲畜走远的紧急情况,以方式造成不必要的经济损失。因此在智慧畜牧系统中使用电子栅栏对牲畜越过设定范围进行报警能够保证农户财产的安全,因此电子栅栏时智慧畜牧系统中的重要组成部分。电子围栏下图所示:项目场景畜牧牲畜对于农户来说是高价值产品,同时是保证收益的重任务目标智慧畜牧系统中的牲畜安全监测系统是保障农户财产的重要环节,本节以道电子栅栏系统为例学习在应用接口下的报警节点的程序开发,学习并掌握控制节点的操作逻辑和应用接口的使用。任务目标智慧畜牧系统中的牲畜安全监测系统是保障农户财产的重要安防类程序逻辑分析远程信息预警可以归纳为四种逻辑事件,逻辑事件归纳如下:节点安全信息定时获取并上报。当节点监测到危险信息时系统能迅速上报危险信息。当危险信息解除时系统能够恢复正常。当监测到查询信息时节点能够响应指令并反馈安全信息。安防类程序逻辑分析远程信息预警可以归纳为四种逻辑事件,逻辑事安防类程序逻辑分析安防类程序流程如图所示:安防类程序逻辑分析安防类程序流程如图所示:安防类程序逻辑分析1)每条数据以“{}”作为起始字符;2)“{}”内参数多个条目以“,”分隔;3)数据上行格式参考:{status=1}4)数据下行查询命令参考:{status=?},程序返回:{status=1}此处以LoRa畜牧电子围栏系统为例定义了协议内容。约定协议如下:数据方向协议格式说明上行(节点往应用发送数据){sensorStatus=X}X表示安防报警状态值下行(应用往节点发送指令){sensorStatus=?}查询安防报警状态值,返回:{sensorStatus=X},X为1表示报警,Y为0表示正常安防类程序逻辑分析1)每条数据以“{}”作为起始字符;数据方安防类程序接口分析智云传感器应用接口函数函数名称函数说明sensorInit()硬件设备初始化sensoUpdate()上传传感器实时数据和报警状态sensorCheck()实时监测传感器报警状态,并实时预警上报ZXBeeUserProcess()解析接收到的下行控制命令PROCESS_THREAD(sensor,ev,data)传感器进程安防类程序接口分析智云传感器应用接口函数函数名称函数说明se安防类程序接口分析安防传感器程序逻辑流程设计如下:安防类程序接口分析安防传感器程序逻辑流程设计如下:安防类应用接口分析无线数据包收发函数:无线数据包解析函数:函数名称函数说明ZXBeeInfSend()节点发送无线数据包给汇集节点ZXBeeInfRecv()处理节点收到无线数据包函数名称函数说明ZXBeeBegin()增加ZXBee通信协议的帧头“{”ZXBeeEnd()增加ZXBee通信协议的帧尾“}”,并返回封包后的数据包指针ZXBeeAdd()ZXBee通信协议的数据包中添加数据ZXBeeDecodePackage()对接收到的无线数据包进行解包安防类应用接口分析无线数据包收发函数:函数名称函数说明ZXB安防类应用接口分析电子围栏系统设计如下所示:安防类应用接口分析电子围栏系统设计如下所示:项目实践电子栅栏系统硬件框图设计如下,安全状态监测使用了外接光栅传感器,通过IO接口与芯片进行通信:项目实践电子栅栏系统硬件框图设计如下,安全状态监测使用了外接项目实践气体传感器节点LoRaGas工程实现了畜牧气体采集系统,该程序实现了以下功能:1)节点入网后,每隔20s上行上传一次气体传感器数值。2)应用层可以下行发送查询命令读取最新的气体传感器数值。LoRaGas工程采用类josn格式的通信协议({[参数]=[值],{[参数]=[值],……}),具体如下:数据方向协议格式说明上行(节点往应用发送数据){gratingStatus=X}X表示采集的光栅状态值下行(应用往节点发送指令){gratingStatus=?}查询光栅状态值,返回:{gratingStatus=X},X表示采集的光栅状态值。项目实践气体传感器节点LoRaGas工程实现了畜牧气体采集系项目实践传感器初始化光栅传感器初始化代码如下:voidsensorInit(void){printf("sensor->sensorInit():Sensorinit!\r\n");//初始化传感器代码grating_init();//光栅传感器初始化}项目实践传感器初始化光栅传感器初始化代码如下:voidse项目实践voidsensorUpdate(void){charpData[16];char*p=pData;updateGrating();ZXBeeBegin();//智云数据帧格式包头sprintf((char*)p,"%u",gratingStatus);ZXBeeAdd("gratingStatus",p);p=ZXBeeEnd();//智云数据帧格式包尾if(p!=NULL){ ZXBeeInfSend(p,strlen(p)); //将需要上传的数据上传到智云平台}printf("sensor->sensorUpdate():gratingStatus=%u\r\n",gratingStatus);}传感器主动上报传感器数据项目实践voidsensorUpdate(void)传感器项目实践光栅传感器实时监测及预警处理voidsensorCheck(void){staticcharlastgratingStatus=0;staticuint32_tct0=0;charpData[16];char*p=pData;updateGrating();ZXBeeBegin();if(lastgratingStatus!=gratingStatus||(ct0!=0&&clock_time()>(ct0+3000))){sprintf(p,"%u",gratingStatus);ZXBeeAdd("gratingStatus",p);ct0=clock_time();if(gratingStatus==0){ct0=0;}lastgratingStatus=gratingStatus;}p=ZXBeeEnd();if(p!=NULL){intlen=strlen(p);ZXBeeInfSend(p,len);printf("sensor->sensorCheck:Gratingalarm!\r\n");}}项目实践光栅传感器实时监测及预警处理voidsensorC项目实践无线数据包命令解析intZXBeeUserProcess(char*ptag,char*pval){intret=0; charpData[16];char*p=pData;printf("sensor->ZXBeeUserProcess():ReceiveLoRaData!\r\n");if(0==strcmp("gratingStatus",ptag)){//查询执行器命令编码if(0==strcmp("?",pval)){updateGrating();ret=sprintf(p,"%u",gratingStatus);ZXBeeAdd("gratingStatus",p);}}returnret;}项目实践无线数据包命令解析intZXBeeUserProc项目实践传感器驱动函数函数名称函数说明grating_init()光栅传感器初始化get_grating_status()获取光栅传感器状态项目实践传感器驱动函数函数名称函数说明grating_ini项目实践根据程序设定,光栅传感器节点每隔20s会上传一次光栅数值到应用层。同时通过ZCloudTools工具发送气体查询指令({gratingStatus=?}),程序接收到响应后将会返回实时光栅数值到应用层。用物品穿过光栅传感器中间并遮挡光信号,可实现光栅数据的变化,光栅传感器输出为1,测试在ZCloudTools工具中每隔3s会收到电子围栏报警信息({gratingStatus=1})。项目实践根据程序设定,光栅传感器节点每隔20s会上传一次光栅项目思考LoRa的危险报警场景有哪些?LoRa危险报警为何要定义数据协议?LoRa的危险报警使用了哪个接口函数?项目思考LoRa的危险报警场景有哪些?第2章LoRa无线通信技术开发2.6LoRa电子围栏系统开发与实现第2章LoRa无线通信技术开发2.6LoRa电子围栏系统项目场景安防程序逻辑分析安防类程序接口分析项目实践项目场景项目场景畜牧牲畜对于农户来说是高价值产品,同时是保证收益的重要来源,因此为了保证牲畜在放养过程中不走失,需要为牲畜建立一个电子栅栏,当牲畜触发电子栅栏时,电子栅栏系统能够立即触发报警并通知农户及时处理牲畜走远的紧急情况,以方式造成不必要的经济损失。因此在智慧畜牧系统中使用电子栅栏对牲畜越过设定范围进行报警能够保证农户财产的安全,因此电子栅栏时智慧畜牧系统中的重要组成部分。电子围栏下图所示:项目场景畜牧牲畜对于农户来说是高价值产品,同时是保证收益的重任务目标智慧畜牧系统中的牲畜安全监测系统是保障农户财产的重要环节,本节以道电子栅栏系统为例学习在应用接口下的报警节点的程序开发,学习并掌握控制节点的操作逻辑和应用接口的使用。任务目标智慧畜牧系统中的牲畜安全监测系统是保障农户财产的重要安防类程序逻辑分析远程信息预警可以归纳为四种逻辑事件,逻辑事件归纳如下:节点安全信息定时获取并上报。当节点监测到危险信息时系统能迅速上报危险信息。当危险信息解除时系统能够恢复正常。当监测到查询信息时节点能够响应指令并反馈安全信息。安防类程序逻辑分析远程信息预警可以归纳为四种逻辑事件,逻辑事安防类程序逻辑分析安防类程序流程如图所示:安防类程序逻辑分析安防类程序流程如图所示:安防类程序逻辑分析1)每条数据以“{}”作为起始字符;2)“{}”内参数多个条目以“,”分隔;3)数据上行格式参考:{status=1}4)数据下行查询命令参考:{status=?},程序返回:{status=1}此处以LoRa畜牧电子围栏系统为例定义了协议内容。约定协议如下:数据方向协议格式说明上行(节点往应用发送数据){sensorStatus=X}X表示安防报警状态值下行(应用往节点发送指令){sensorStatus=?}查询安防报警状态值,返回:{sensorStatus=X},X为1表示报警,Y为0表示正常安防类程序逻辑分析1)每条数据以“{}”作为起始字符;数据方安防类程序接口分析智云传感器应用接口函数函数名称函数说明sensorInit()硬件设备初始化sensoUpdate()上传传感器实时数据和报警状态sensorCheck()实时监测传感器报警状态,并实时预警上报ZXBeeUserProcess()解析接收到的下行控制命令PROCESS_THREAD(sensor,ev,data)传感器进程安防类程序接口分析智云传感器应用接口函数函数名称函数说明se安防类程序接口分析安防传感器程序逻辑流程设计如下:安防类程序接口分析安防传感器程序逻辑流程设计如下:安防类应用接口分析无线数据包收发函数:无线数据包解析函数:函数名称函数说明ZXBeeInfSend()节点发送无线数据包给汇集节点ZXBeeInfRecv()处理节点收到无线数据包函数名称函数说明ZXBeeBegin()增加ZXBee通信协议的帧头“{”ZXBeeEnd()增加ZXBee通信协议的帧尾“}”,并返回封包后的数据包指针ZXBeeAdd()ZXBee通信协议的数据包中添加数据ZXBeeDecodePackage()对接收到的无线数据包进行解包安防类应用接口分析无线数据包收发函数:函数名称函数说明ZXB安防类应用接口分析电子围栏系统设计如下所示:安防类应用接口分析电子围栏系统设计如下所示:项目实践电子栅栏系统硬件框图设计如下,安全状态监测使用了外接光栅传感器,通过IO接口与芯片进行通信:项目实践电子栅栏系统硬件框图设计如下,安全状态监测使用了外接项目实践气体传感器节点LoRaGas工程实现了畜牧气体采集系统,该程序实现了以下功能:1)节点入网后,每隔20s上行上传一次气体传感器数值。2)应用层可以下行发送查询命令读取最新的气体传感器数值。LoRaGas工程采用类josn格式的通信协议({[参数]=[值],{[参数]=[值],……}),具体如下:数据方向协议格式说明上行(节点往应用发送数据){gratingStatus=X}X表示采集的光栅状态值下行(应用往节点发送指令){gratingStatus=?}查询光栅状态值,返回:{gratingStatus=X},X表示采集的光栅状态值。项目实践气体传感器节点LoRaGas工程实现了畜牧气体采集系项目实践传感器初始化光栅传感器初始化代码如下:voidsensorInit(void){printf("sensor->sensorInit():Sensorinit!\r\n");//初始化传感器代码grating_init();//光栅传感器初始化}项目实践传感器初始化光栅传感器初始化代码如下:voidse项目实践voidsensorUpdate(void){charpData[16];char*p=pData;updateGrating();ZXBeeBegin();//智云数据帧格式包头sprintf((char*)p,"%u",gratingStatus);ZXBeeAdd("gratingStatus",p);p=ZXBeeEnd();//智云数据帧格式包尾if(p!=NULL){ ZXBeeInfSend(p,strlen(p)); //将需要上传的数据上传到智云平台}printf("sensor->sensorUpdate():gratingStatus=%u\r\n",gratingStatus);}传感器主动上报传感器数据项目实践voidsensorUpdate(void)传感器项目实践光栅传感器实时监测及预警处理voidsensorCheck(void){staticcharlastgratingStatus=0;staticuint32_tct0=0;charpData[16];char*p=pData;updateGrating();ZXBeeBegin();if(lastgratingStatus!=gratingStatus||(ct0!=0&&clock_time()>(ct0+3000))){sprintf(p,"%u",gratingStatus);ZXBeeAdd("gratingStatus",p);ct0=clock_time();if(gratingStatus==0){ct0=0;}lastgratingStatus=gratingStatus;}p=ZXBeeEnd();if(p!=NULL){intlen=strlen(p);ZXBeeInfSend(p,len);printf("sensor->sensorCheck:Gratingalarm!\r\n");}}项目实践光栅传感器实时监测及预警处理voidsensorC项目实践无线数据包命令
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 外贸英语写作第一章课件
- 双十一汽车电商解密
- 南阳职业学院《土建基础与工程技术经济》2023-2024学年第二学期期末试卷
- 辽宁商贸职业学院《江苏民歌欣赏与演唱》2023-2024学年第一学期期末试卷
- 厦门大学嘉庚学院《设计与开发课程设计》2023-2024学年第二学期期末试卷
- 山西省运城市实验中学2025年初三下学期精英联赛语文试题含解析
- 四川文轩职业学院《中国文学作品选读》2023-2024学年第二学期期末试卷
- 四川南充市嘉陵区2024-2025学年初三5月月考试题物理试题含解析
- 山东省齐鲁教科研协作体2024-2025学年高三第十次模拟考试语文试题试卷含解析
- 江西省南昌市新建区重点达标名校2025届初三年级3月联合考试化学试题含解析
- 广州小学六年级英语下册知识点归纳和习题(全册)
- (正式版)JTT 1482-2023 道路运输安全监督检查规范
- MH-T 5035-2017民用机场高填方工程技术规范
- MOOC 英国社会与文化-武汉大学 中国大学慕课答案
- MOOC 数据挖掘-国防科技大学 中国大学慕课答案
- 儿科护理行政查房
- 测温仪及测振仪的原理及使用 课件
- 船舶操纵与避碰智慧树知到期末考试答案2024年
- 食品加工肉类行业食品安全培训
- 2023年中国铁路辽宁沈阳局集团有限公司招聘考试真题
- 重庆中烟考试题库2024
评论
0/150
提交评论