Simple API协议应用程序分析

上传人:夏** 文档编号:507952508 上传时间:2023-09-01 格式:DOCX 页数:15 大小:201.04KB
返回 下载 相关 举报
Simple API协议应用程序分析_第1页
第1页 / 共15页
Simple API协议应用程序分析_第2页
第2页 / 共15页
Simple API协议应用程序分析_第3页
第3页 / 共15页
Simple API协议应用程序分析_第4页
第4页 / 共15页
Simple API协议应用程序分析_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《Simple API协议应用程序分析》由会员分享,可在线阅读,更多相关《Simple API协议应用程序分析(15页珍藏版)》请在金锄头文库上搜索。

1、无线Zigbee网络协议栈BasicRFAPI说明BasicRF协议其采用IEEE802.15.4MAC协议兼容的数据与应答数据包(分组),但不提供完整的MAC层支持,只用于两个节点之间的通信。它是IEEE802.15.4协议标准的子集:(1)不支持网络匹配、扫描和信标(2)无协调器和端设备等的分类,支持点对点通信,通信节点对等(3)不支持数据包(分组)重传BasicRF的应用(以下函数的定义和功能具体说明,参考swru214a-CC2530软件实例用户手册pdf文件)1 启动(1)确保开发板上外围接口和无线电接口初始化,调用halBoardInit()函数完成(2)创建basicRfCfg_

2、t数据结构体,并初始化其成员变量;(3)调用basicRfInit()对数据包(分组)协议进行初始化。2 发送数据(1)创建一个发送缓冲区,最大为103字节;(2)调用basicRfSendPacket()函数发送数据,检测函数返回值获取发送状态;3 接收数据(1)调用basicRfPacketIsReady(涵数,等待数据接收(2)调用basicRfReceive()函数来接收数据包,并负责分配一个足够大的缓冲区来存储数据包信息,其中2个字节用来存储RSSI值(接收信号强度值)。数据结构typedefstructuint16myAddr;短地址uint16panId;所在域网IDuint8c

3、hannel;通信信道uint8ackRequest;应答请求设置(True或False);#ifdefSECURITY_CCM安全设定(可选)uint8*securityKey;uint8*securityNonce;#endifbasicRfCfg_t;操作流程HalBoardInit()初始化节点硬件外围接口和通信接口basicRfInit()初始化数据包结构及通信设置-发送01basicRf|接收cfg_t结构basicRfSendPacket()发送数据basicRfPacketIsReady()接收数据basicRfReceive()接收数据无线Zigbee网络协议栈SimpleA

4、PI分析网络设备类型:(1) 协调器协调器是启动Zigbee网络的设备,它是网络中的一个设备,其选择信道和网络标号ID,然后启动网络。协调器可选用作为辅助安全设置和网络中应用层的绑定。协调器的主要作用是启动和配置网络,当网络建立完成后,协调器的操作和路由器类似。基于Zigbee网络的分布式特性,网络的后继操作不再依靠协调器。(2) 路由器路由器主要有两个作用:(1)允许其他设备加入网络;(2)多调通信;(3)辅助电池供电的子设备通信。通常情况下,路由器需要时时激活运行,因此需要主电源供电。(3) 端点设备ZigbeeStackAPI:TJtcfollowingservicesareprovid

5、edhyLhcsirnplifiedZiBeeAPI(seeAPTReferenceGuidekirmoredeuils) Liitializationzb.SysteniResetdzbSlartRequejiL Confinriitiono?.h_Rcc*dConfuration0zh_WriTcConfigurationozb_GttDeviceInfo Discovery(devicenetwork;ukIservicedtcovery)ozb_FindviceRequesiqzhRindDeviceo7h_AllowBiiid0zh_PcrmiLrainingRcqucsi Data

6、tiansferozbSendDjlaRequestozb.ReceieDaLalinJicalion寻址方式:(1) 长地址(64bit),又名MAC地址,Extended地址,物理地址(2) 短地址(16bit),又名网络地址,逻辑地址怎样是一台设备加入网络网络中每台设备都具有一组配置参数,分为网络参数和设备参数。同一网络中的设备必须配置相同的网络参数,而设备参数可因功能各异而不相同。ZCD_NV_LOGICAL_TYPEZCD_NV_CHANLISTZCD_NV_PANID加入网络协调器组建网络路由器加入网络C端设备)怎样绑定设备绑定是网络设备在应用层中的逻辑连接。(1) 若绑定对象的长

7、地址已知,采用zb_BindDevice()函数建立绑定(2) 若绑定对象的长地址未知,目标设备通过zb_AllowBindResponse()函数处于等待绑定状态,源设备启动zb_BindDevice()函数建立绑定。注意:绑定只能创建在两个互补设备之间,即它们必须在描述器中注册有相同的命令ID,而且一个为输出,另一个为输入。怎样开发一个私有的应用(1) 划分应用中的设备类型(2) 划分应用中设备中相互交换的命令,并为命令赋予一个标识号ID(3) 针对每个命令,划分出设备对其是输入还是输出(4)为每个设备建立一个描述结构(5) 为每个命令确定消息格式(6) 为每个设备编写应用程序(7)确定一

8、个绑定策略以便设备能够正确交换分组端设备路由器/协调器端设备路由器/协调器Zigbee网络应用实例流程定义函数:voidzb_SystemReset(void);定义函数:osal_int_disable(INTS_ALL);HAL_BOARD_INIT();zmain_vdd_check();InitBoard(OB_COLD);HalDriverInit();osal_nv_init(NULL);ZMacInit();zmain_ext_addr();zgInit();osal_init_system();InitBoard(OB_READY);zmain_dev_info();zmain

9、_lcd_init();WatchDogEnable(WDTIMX);osal_start_system();voidzb_StartRequest(void);uint8zb_PermitJoiningRequest(uintl6destination,uint8voidzb_BindDevice(uint8create,uintl6commandId,uintvoidzb_AllowBind(uint8timeout)voidzb_SendDataRequest(uintl6destination,uintl6commuint8*pData,uint8handle,uint8auint8z

10、b_ReadConfiguration(uint8configId,uint8len,vcuint8zb_WriteConfiguration(uint8configId,uint8len,vvoidzb_GetDeviceInfo(uint8param,void*pValue)voidzb_FindDeviceRequest(uint8searchType,void*searchvoidzb_HandleOsalEvent(uintl6event)voidzb_StartConfirm(uint8status)voidzb_SendDataConfirm(uint8handle,uint8s

11、tatus)voidzb_BindConfirm(uintl6commandId,uint8status)voidzb_FindDeviceConfirm(uint8searchType,uint8*searcvoidzb_ReceiveDataIndication(uintl6source,uintl6commvoidzb_AllowBindConfirm(uintl6source)voidzb_HandleKeys(uint8shift,uint8keys)zmain.c文件intmain(void)/Turnoffinterruptsosal_int_disable(INTS_ALL);

12、关闭中断/InitializationforboardrelatedstuffsuchasLEDsHAL_BOARD_INIT();板载硬件初始化/Makesuresupplyvoltageishighenoughtorunzmain_vdd_check();检测节点电压(自定义函数)/InitializeboardI/OInitBoard(OB_COLD);初始化节点板/InitialzeHALdriversHalDriverInit();初始化驱动/InitializeNVSystemosal_nv_init(NULL);/InitializetheMACZMacInit();初始化MAC

13、/Determinetheextendedaddresszmain_ext_addr();确定外部地址/InitializebasicNVitemszgInit();#ifndefNONWK/SincetheAFisntatask,callitsinitializationroutineafInit();#endif/Initializetheoperatingsystemosal_init_system();操作系统初始化/Allowinterruptsosal_int_enable(INTS_ALL);启动中断/FinalboardinitializationInitBoard(OB_RE

14、ADY);初始化板/Displayinformationaboutthisdevicezmain_dev_info();显示设备信息/*DisplaythedeviceinfoontheLCD*/#ifdefLCD_SUPPORTEDzmain_lcd_init();#endif#ifdefWDT_IN_PM1/*IfWDTisused,thisisagoodplacetoenableit.*/WatchDogEnable(WDTIMX);启动看门狗#endifosal_start_system();/NoReturnfromhere/启动系统return0;/Shouldntgethere./main()simpleAPP.h#ifndefSIMPLE_APP_H#defineSIMPLE_APP_H0x0F100x021定义设备ID234#defineMY_PROFILE_ID#defineMY_ENDPOINT_ID/Definedevices#defineDEV_ID_SWITCH#defineDEV_ID_CONTROLLER#defineDEV_ID_SENSOR#defineDEV_ID_COLLECTOR#defineDEVICE_VERS

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 商业计划书

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号