收藏 分销(赏)

光照感知工程开发训练.pptx

上传人:丰**** 文档编号:4331062 上传时间:2024-09-06 格式:PPTX 页数:16 大小:729.77KB
下载 相关 举报
光照感知工程开发训练.pptx_第1页
第1页 / 共16页
光照感知工程开发训练.pptx_第2页
第2页 / 共16页
光照感知工程开发训练.pptx_第3页
第3页 / 共16页
光照感知工程开发训练.pptx_第4页
第4页 / 共16页
光照感知工程开发训练.pptx_第5页
第5页 / 共16页
点击查看更多>>
资源描述

1、培训内容培训内容一一、msstatePAN协议栈的优点协议栈的优点二、二、msstatePAN协议栈工程开发流程协议栈工程开发流程三、三、“光照感知光照感知”工程的开发工程的开发2024/9/6 周五1/17msstatePAN协议栈的优点协议栈的优点功能属性功能属性Z-Stack协议栈协议栈msstatePAN协议栈协议栈源码开放源码开放否否是是路由路由Mesh&树形树形&星型路由星型路由树形树形&星型路由星型路由网络配置网络配置动态,节点启动时自组动态,节点启动时自组网网动态,节点启动时自组动态,节点启动时自组网网个域网个域网ID选择选择动态选择动态选择由用户静态设置由用户静态设置频率频率

2、2.4GHz、915MHz、868MHz2.4GHz直接消息模式直接消息模式是是是是绑定绑定&间接消息模式间接消息模式动态绑定、静态绑定动态绑定、静态绑定动态绑定、静态绑定动态绑定、静态绑定信标使能信标使能是是是是表表4 msstatePAN协议栈与协议栈与Z-Stack协议栈的比较协议栈的比较2024/9/6 周五2/17msstatePAN协议栈的优点协议栈的优点表表4 msstatePAN协议栈与协议栈与Z-Stack协议栈的比较协议栈的比较(续表续表)2024/9/6 周五3/17功能属性功能属性Z-Stack协议栈协议栈msstatePAN协议栈协议栈安全加密安全加密是是否否数据包缓

3、存代理支持数据包缓存代理支持是是否否HEX文件容量文件容量200KB80KB休眠功能支持休眠功能支持是是否否PC端调试器端调试器MT支持支持是是否否串口调试信息打印串口调试信息打印是是是是ZigBee广播支持广播支持是是是是APS应答支持应答支持是是是是msstatePAN协议栈的优点协议栈的优点n选择选择msstatePAN进行开发的原因:进行开发的原因:能实现能实现ZigBee协议的基本功能,是一款精简的协议栈。协议的基本功能,是一款精简的协议栈。较为简单,容易上手。附带一个较为详细的说明文档。较为简单,容易上手。附带一个较为详细的说明文档。整个协议栈是基于状态机的实现的。而整个协议栈是基

4、于状态机的实现的。而Z-Stack协议栈是协议栈是基于操作系统的,如果对操作系统不是很了解,基于操作系统的,如果对操作系统不是很了解,msstatePAN协议栈是一个很好的选择。协议栈是一个很好的选择。n注:注:Z-Stack协议栈虽然不是完全开源的,但应用层和底协议栈虽然不是完全开源的,但应用层和底层是开源的,用户也可以选择此协议栈实现相应功能。层是开源的,用户也可以选择此协议栈实现相应功能。2024/9/6 周五4/25msstatePAN协议栈工程开发流程协议栈工程开发流程n底层开发底层开发对芯片配置的重新定义,如端口的定义,这可以放在文件对芯片配置的重新定义,如端口的定义,这可以放在文

5、件evbConfig.c/h中,中,evbConfig.h中已经定义了一个用于中已经定义了一个用于LED灯的端口,用户可以修改端口的定义,或再添加新的端口灯的端口,用户可以修改端口的定义,或再添加新的端口定义用于定义用于LED灯或按键。灯或按键。n若使用了端口,需要对端口进行初始化。对于端口的使用若使用了端口,需要对端口进行初始化。对于端口的使用主要考虑以下几个方面:主要考虑以下几个方面:端口的功能(端口的功能(PXSEL),通用,通用I/O还是外设还是外设I/O,一般作为通,一般作为通用用I/O,默认为通用,默认为通用I/O,本实例也用作通用,本实例也用作通用I/O。端口的方向(端口的方向(

6、PXDIR),输入还是输出,本实例的端口要驱,输入还是输出,本实例的端口要驱动动LED灯,因此设为输出,默认为输入。灯,因此设为输出,默认为输入。若端口作为中断的输入还要考虑端口的输入模式和中断方若端口作为中断的输入还要考虑端口的输入模式和中断方式,用户可参考式,用户可参考CC2430的芯片手册。的芯片手册。2024/9/6 周五5/17msstatePAN协议栈工程开发流程协议栈工程开发流程n底层开发底层开发若想让串口按自定义的数据格式若想让串口按自定义的数据格式 接收,或添加新的校验接收,或添加新的校验(如(如CRC校验,程序中提供了一个校验,程序中提供了一个8位的位的CRC校验),则校验

7、),则应在文件应在文件pcbind.h/c中进行修改。中进行修改。2024/9/6 周五6/17msstatePAN协议栈工程开发流程协议栈工程开发流程n应用层开发应用层开发协议栈中提供了一个事例主程序文件协议栈中提供了一个事例主程序文件pcbind_node.c文件,文件,此文件中的主函数已经通过调用已有的函数实现了基本的此文件中的主函数已经通过调用已有的函数实现了基本的组网及收发数据的功能,用户可以在此程序的基础上进行组网及收发数据的功能,用户可以在此程序的基础上进行修改,添加自己的功能,如修改数据格式,添加采集模拟修改,添加自己的功能,如修改数据格式,添加采集模拟量的功能,解析用户发送的

8、数据,也可以将此文件替换为量的功能,解析用户发送的数据,也可以将此文件替换为自己的主程序文件。自己的主程序文件。2024/9/6 周五7/17“光照感知”工程的开发n“光照感知光照感知”开发实例的内容开发实例的内容本演示实验需要两个节点,本演示实验需要两个节点,Sink节点和终端(或者路由)节点和终端(或者路由)节点。硬件上,节点。硬件上,Sink节点将使用节点将使用LED灯(灯(P2_0引脚引脚),终端,终端(或者路由)节点将连接一个光照传感器(或者路由)节点将连接一个光照传感器(P0_0引脚)。引脚)。2024/9/6 周五8/17“光照感知”工程的开发n“光照感知光照感知”开发实例的内容

9、开发实例的内容Sink节点上电后进行组网操作,终端节点进行入网操作,节点上电后进行组网操作,终端节点进行入网操作,终端节点成功入网后将采集光敏电阻两端的电压,若光敏终端节点成功入网后将采集光敏电阻两端的电压,若光敏电阻阻值满足一定的条件(也可由电阻阻值满足一定的条件(也可由Sink节点进行判断)将节点进行判断)将发送给发送给Sink节点。若光照强度很弱,将会点亮节点。若光照强度很弱,将会点亮LED灯;若灯;若光照强度很强,将会熄灭光照强度很强,将会熄灭LED灯。数据的发送可以是周期灯。数据的发送可以是周期性的,也可以是触发式的。性的,也可以是触发式的。图图4-示意图示意图2024/9/6 周五

10、9/17“光照感知”工程的开发n底层开发底层开发本实验用到本实验用到LED灯,只需在灯,只需在evbconfig.h文件中将文件中将LED1定义定义为为P2_0P2_0引脚的初始化由宏定义引脚的初始化由宏定义INIT_LED1()完成主要是将引完成主要是将引脚设为通用脚设为通用I/O,方向为输出,初始电平为低电平。,方向为输出,初始电平为低电平。INIT_LED1()在初始化时由在初始化时由evbInit函数调用。函数调用。2024/9/6 周五10/17“光照感知”工程的开发n底层开发底层开发本实例中没有用到串口接收本实例中没有用到串口接收PC机的数据,若要通过串口接机的数据,若要通过串口接

11、收收PC机的数据,并对数据进行解析,需要在机的数据,并对数据进行解析,需要在pcbind.c中进中进行修改。行修改。pcbind.c中有一个状态机中有一个状态机pbdFSM,该状态机在,该状态机在main函数中被调用,在第一个状态函数中被调用,在第一个状态PBD_STATE_IDLE中,中,将判断是否有数据从串口输入,若有数据将会调用将判断是否有数据从串口输入,若有数据将会调用pbdParseSerialCmd()进行解析。进行解析。pbdParseSerialCmd()中会检测帧首是否正确,中会检测帧首是否正确,并进行校验的计算(从串口读取数据的同时进行校验的计并进行校验的计算(从串口读取数

12、据的同时进行校验的计算)。算)。case PBD_STATE_IDLE:/check if we have input from PC clientif(halGetchRdy()pbdParseSerialCmd();break;2024/9/6 周五11/17“光照感知”工程的开发n应用层开发应用层开发主程序介绍主程序介绍halInit():完成基本的硬件初始化,:完成基本的硬件初始化,包括时钟频率的设定、串口的初始化、包括时钟频率的设定、串口的初始化、波特率的设定、以及定时器的初始化。波特率的设定、以及定时器的初始化。aplInit():完成协议栈的初始化,首:完成协议栈的初始化,首先对

13、应用支持子层的数据信息数据库先对应用支持子层的数据信息数据库aps_pib数据结构进行初始化,然后数据结构进行初始化,然后依次调用物理层初始化函数依次调用物理层初始化函数phyInit(),MAC层初始化函数层初始化函数macInit();以;以及网络层初始化函数及网络层初始化函数nwkInit()。aplRegisterEndPoint(DATA_EP):完:完成端点的注册,每一个端点对应着一成端点的注册,每一个端点对应着一个应用对象,端点号零被分配给个应用对象,端点号零被分配给ZigBee设备对象设备对象ZDO。对于本协议栈,。对于本协议栈,也可以不使用。也可以不使用。2024/9/6 周

14、五12/17“光照感知”工程的开发n应用层开发应用层开发主程序介绍主程序介绍pbdInit():初始化:初始化PC机绑定。机绑定。conPrintConfig():打印节点配:打印节点配置,如协议栈版本、节点类型、置,如协议栈版本、节点类型、长地址、长地址、PANID、信道。、信道。while(1):该无限循环开启了应:该无限循环开启了应用层状态机的循环,并会依次用层状态机的循环,并会依次循环调用下层状态机。循环调用下层状态机。debug_level:定义调试级别,:定义调试级别,用来动态开、关调试输出。如用来动态开、关调试输出。如果没有重新赋值(在果没有重新赋值(在apsInit 中中被初始

15、化为被初始化为0),则调试打印语),则调试打印语句将被空语句取代。句将被空语句取代。2024/9/6 周五13/17“光照感知”工程的开发n应用层开发应用层开发此为路由或终端节此为路由或终端节点的状态机,对数点的状态机,对数据的采集在据的采集在APP2状状态中进行,将相关态中进行,将相关数据(如节点号、数据(如节点号、父节点地址)按一父节点地址)按一定格式组织后,调定格式组织后,调用发送数据的函数用发送数据的函数将数据发送出去。将数据发送出去。若为协调器则成功若为协调器则成功组网后将等待接收组网后将等待接收数据数据。图图5-main函数的主状态机函数的主状态机2024/9/6 周五14/17“

16、光照感知”工程的开发n应用层开发应用层开发Sink节点对接收数据的处理节点对接收数据的处理n用户对数据的解析是在函数用户对数据的解析是在函数usrRxPacketCallback()进行的,本实例在此函()进行的,本实例在此函数中根据接收到的数据对数中根据接收到的数据对LED灯进行控制,并将接收灯进行控制,并将接收数据的相关信息(如短地址、数据的相关信息(如短地址、端点号)及数据按一定的格端点号)及数据按一定的格向串口打印输出。向串口打印输出。图图6-sink节点对接收数据的处理节点对接收数据的处理2024/9/6 周五15/17“光照感知”工程的开发n小结小结至此,应用至此,应用msstatePAN协议栈进行实例开发的基本流程协议栈进行实例开发的基本流程已介绍完毕。用户可以不使用已给的主程序框架,编写自已介绍完毕。用户可以不使用已给的主程序框架,编写自己的主程序。己的主程序。2024/9/6 周五16/17

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

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

关于我们      便捷服务       自信AI       AI导航        获赠5币

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

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

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

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服