ZStack API解读

Zigbee抓包数据解析 阅读详情
这个文档是一个关键了,Z-Stack的应用程序接口。我们在程序中基本上应该调用的是这些API吧。
ZDO层API
实现了所有ZDP(ZigBee Device Profile)定义的命令和回应所需要的函数。ZDP描述了ZDO如何实现普通ZigBee设备的特性,它定义了设备描述和簇,ZDP为ZDO和应用提供一下功能:
设备网络建立
设备和服务发现
节点设备邦定和解邦定服务
网络管理服务
设备发现是ZigBee设备发现其他ZigBee设备的过程。比如将已知的IEEE地址作为数据载荷广播到网络的NWK地址请求,相关设备必须回应并告知其网络地址。服务发现提供了PAN中一个设备发现其他设备提供的服务的能力。它利用多种描述符去指定设备的能力。
当用户需要邦定控制器与被控设备(比如开关和灯)时,将用到邦定和解邦定服务。特别是终端设备邦定支持利用用户的输入来定义控制/被控设备对的简单邦定方法。邦定和解邦服务可以创建和删除邦定表入口。
网络管理服务主要提供给用户和调试工具网络管理的能力,它能够从设备重新获得管理信息,包括网络发现结果,路由表的内容,邻居节点链路质量,邦定表内容。也可以通过解关联将设备从PAN中脱离来控制网络关联。
ZDO设备网络建立
在ZigBee网络中默认ZDApp_Init()[in ZDApp.c]开始器件的启动,但是应用能覆盖整个默认行为,为了使应用接管网络的启动,必须在编译选项中包含HOLD_AUTO_START,推荐同时包含NV_RESTORE(储存ZigBee网络状态到NV)编译选项,包含这个两个编译选项后就需要调用ZDOInitDevice() 来启动网络中的设备。
uint8 ZDOInitDevice( uint16 startDelay )
启动网络中的设备。如果应用想要强制一个“新的”加入(即不恢复网络状态),则应该先调用zgWriteStartupOptions(ZG_STARTUP_SET, ZCD_STARTOPT_DEFAULT_NETWORK_STATE)来设置ZCD_NV_STARTUP_OPTION 中的ZCD_STARTOPT_DEFAULT_NETWORK_STATE 位。
startDelay  -启动设备的延时。这个延时有一个抖动:
(NWK_START_DELAY + startDelay) + (osal_rand() & EXTENDED_JOINING_RANDOM_MASK)
返回值:
ZDO_INITDEV_RESTORED_NETWORK_STATE      设备的网络状态恢复
ZDO_INITDEV_NEW_NETWORK_STATE       网络状态被初始化。即一个强制“新的”加入,或者没有可供恢复的状态
ZDO_INITDEV_LEAVE_NOT_STARTED       重置前,发送了网络脱离并且重加入被设置为TRUE。因此器件没有启动,但是下次调用此函数将启动。
ZDO消息回馈
通过ZDO_RegisterForZDOMsg()注册消息,应用就能接收任何空中(over the air)消息。
ZStatus_t ZDO_RegisterForZDOMsg( uint8 taskID, uint16 clusterID )
调用此函数请求over-the-air消息,此消息的备份将以OSAL消息发送到任务,接收到消息的任务可以自己解析消息,也可以调用ZDO解析函数来解析消息。只有响应消息有ZDO解析函数。
消息注册并被接收后(OTA),将作为ZDO_CB_MSG (OSAL Msg)发送到应用/任务。消息体(zdoIncomingMsg_t – defined in ZDProfile.h)包含有OTA消息。
taskID      -用来发送OSAL消息的应用任务ID;
clusterID   -想要接收的OTA消息的clusterID。如:NWK_addr_rsp。这些ID定义在ZDProfile.h
返回值:ZStatus_t    -ZComDef.h中ZStatus_t定义的状态值
ZStatus_t ZDO_RemoveRegisteredCB( uint8 taskID, uint16 clusterID )
为OTA消息移除一个请求。
参数必须和ZDO_RegisterForZDOMsg()中的参数相同
ZDO发现API
这些API用来建立和发送ZDO设备和服务发现请求和回复。ZDO API和ZDP命令一一对应,ZDP命令可以在ZigBee协议规范中找到更详细的介绍。
ZDO API Function    ZDP Discovery Command
ZDP_NwkAddrReq()    NWK_addr_req
ZDP_NWKAddrRsp()    NWK_addr_rsp
ZDP_IEEEAddrReq()   IEEE_addr_req
ZDP_IEEEAddrRsp()   IEEE_addr_rsp
ZDP_NodeDescReq()   Node_Desc_req
ZDP_NodeDescRsp()   Node_Desc_rsp
ZDP_PowerDescReq() Power_Desc_req
ZDP_PowerDescRsp() Power_Desc_rsp
ZDP_SimpleDescReq()     Simple_Desc_req
ZDP_SimpleDescRsp()     Simple_Desc_rsp
ZDP_ComplexDescReq()    Complex_Desc_req
ZDP_ActiveEPIFReq()     Active_EP_req
ZDP_ActiveEPIFRsp()     Active_EP_rsp
ZDP_MatchDescReq() Match_Desc_req
ZDP_MatchDescRsp() Match_Desc_rsp
ZDP_UserDescSet()   User_Desc_set
ZDP_UserDescConf() User_Desc_conf
ZDP_UserDescReq()   User_Desc_req
ZDP_UserDescRsp()   User_Desc_rsp
ZDP_EndDeviceAnnce() Device_annce
ZDP_ServerDiscReq()     System_Server_Discovery_req
ZDP_ServerDiscRsp()     System_Server_Discovery_rsp
afStatus_t ZDP_NwkAddrReq( byte *IEEEAddress, byte ReqType,byte StartIndex, byte SecuritySuite )
发送为一个IEEE地址已知的设备请求16位短地址的消息,消息将以广播的形式发送。
IEEEAddress     -发送请求的设备的IEEE地址
ReqType     -希望收到的答复类型
ZDP_NWKADDR_REQTYPE_SINGLE      返回设备的短地址和扩展地址
ZDP_NWKADDR_REQTYPE_EXTENDED    返回设备的短地址和扩展地址,以及所有关联设备的短地址
StartIndex      -应答设备可能含有多条符合应答消息的应答条目,此参数指定请求开始检索的应答条目
SecuritySuite       -消息的安全类型
返回值:afStatus_t   -次函数用AF来发送消息,所以状态值为ZComDef.h中ZStatus_t定义的AF状态值
afStatus_t ZDP_NWKAddrRsp( byte TranSeq, zAddrType_t *dstAddr,
                  byte Status, byte *IEEEAddrRemoteDev,
                  byte ReqType, uint16 nwkAddr,
                  byte NumAssocDev, byte StartIndex,
                  uint16 *NWKAddrAssocDevList,
                  byte SecuritySuite );
这个函数实际上是调用ZDP_AddrRsp()的宏,用来建立和发送网络地址应答
TranSeq –   报文序号
DstAddr -   目标地址
Status –    ZDP_SUCCESS             0
ZDP_INVALID_REQTYPE         1
ZDP_DEVICE_NOT_FOUND    2
Reserved            0x03-0xff
IEEEAddrRemoteDev - 远端设备的64位地址
ReqType –   请求类型
nwkAddr –   远端设备的16位地址
NumAssocDev - 和远端设备相关联的设备及其16位短地址的数目
StartIndex  - 应答消息的开始序号
NWKAddrAssocDevList -相关联的16位地址列表
SecuritySuite - 消息安全类型
afStatus_t ZDP_IEEEAddrReq( uint16 shortAddr, byte ReqType,
                            byte StartIndex, byte SecuritySuite )
已知设备的16位短地址请求64位IEEE地址。
呵呵好多参数都是一看就知道是什么了呢,那就不写出来了,下面的函数也一样的处理了。
afStatus_t ZDP_IEEEAddrRsp( byte TranSeq, zAddrType_t *dstAddr,
                        byte Status, byte *IEEEAddrRemoteDev,
                        byte ReqType, uint16 nwkAddr,
                        byte NumAssocDev, byte StartIndex,
                        uint16 *NWKAddrAssocDevList,
                        byte SecuritySuite );
这个函数实际上是调用ZDP_AddrRsp()的宏,用来建立和发送IEEE地址应答
afStatus_t ZDP_NodeDescReq( zAddrType_t *dstAddr, uint16 NWKAddrOfInterest, byte SecuritySuite );
构建并向目标地址域发送节点描述请求
afStatus_t ZDP_NodeDescMsg( byte TransSeq, zAddrType_t *dstAddr, byte Status,
                        uint16 nwkAddr, NodeDescriptorFormat_t *pNodeDesc,
                        byte SecuritySuite );
DstAddr - 目标地址
NWKAddrOfInterest - 要搜寻的16位短地址
SecuritySuite - 消息的安全类型
afStatus_t ZDP_NodeDescMsg( byte TransSeq, zAddrType_t *dstAddr, byte Status,
                        uint16 nwkAddr, NodeDescriptorFormat_t *pNodeDesc,
                        byte SecuritySuite );
回应节点描述(Node Descriptor)请求。
Status      -   SUCCESS         0
DEVICE_NOT_FOUND    1
pNodeDesc   -指向节点描述的指针(定义在AF.h中)
afStatus_t ZDP_PowerDescReq( zAddrType_t *dstAddr, int16 NWKAddrOfInterest,byte SecuritySuite );
2010-11-09 09:26:30
构建和发送电源描述请求。实际是调用宏ZDP_NWKAddrOfInterestReq()
afStatus_t ZDP_PowerDescMsg( byte TranSeq, zAddrType_t *dstAddr, byte Status,
                int16 nwkAddr, NodePowerDescriptorFormat_t *pPowerDesc,
                byte SecuritySuite );
回应电源描述请求。
Status      -   SUCCESS         0
DEVICE_NOT_FOUND    1
pPowerDesc  -指向电源描述的指针(定义在AF.h中)
afStatus_t ZDP_SimpleDescReq(  zAddrType_t *dstAddr, uint16 nwkAddr, byte epIntf, byte SecuritySuite );
构建和发送简单描述请求。
epIntf      -希望的应用终端/接口
afStatus_t ZDP_SimpleDescRsp( byte TranSeq, zAddrType_t *dstAddr,  
            byte Status,  SimpleDescriptionFormat_t *pSimpleDesc,
            byte SecuritySuite );
回应简单描述请求。
Status
SUCCESS         0
INVALID_EP      1
NOT_ACTIVE      2
DEVICE_NOT_FOUND    3
afStatus_t ZDP_ComplexDescReq(  zAddrType_t *dstAddr, uint16 nwkAddr, byte SecuritySuite );
构建和发送复杂描述请求。实际是调用宏ZDP_NWKAddrOfInterestReq()
zigbee设备以描述项数据结构刻画自己,包含在描述项中的具体数据在描述中定义,有5种描述:节点,电源,简化,复杂和用户。
afStatus_t ZDP_ActiveEPIFReq( zAddrType_t *dstAddr, uint16 NWKAddrOfInterest,byte SecuritySuite );
构建和发送活动终端/接口请求,实际是调用宏ZDP_NWKAddrOfInterestReq(),用来请求远端设备上所有活动的终端/接口
NWKAddrOfInterest - 搜寻的16位短地址
afStatus_t ZDP_ActiveEPIFRsp( byte TranSeq, zAddrType_t  *dstAddr,
            byte Status, uint16 nwkAddr, byte Count, byte *pEPIntfList,
            byte SecuritySuite );
回应发送的活动终端/接口请求,实际是调用宏ZDP_EPIFRsp()
Status
SUCCESS         0
DEVICE_NOT_FOUND    1
Count – pEPIntfList中活动终端(endpoint)/接口数目
pEPIntfList – 包含器件上终端(endpoint)/接口的数组
afStatus_t ZDP_MatchDescReq( zAddrType_t *dstAddr, uint16 nwkAddr, uint16 ProfileID,
                byte NumInClusters, byte *InClusterList,
                byte NumOutClusters, byte *OutClusterList,
                byte SecuritySuite );
构建并发送匹配描述请求,用来搜寻符合应用列表中某些输入输出簇得器件/接口
ProfileID       - cluster ID相关的ProfileID
NumInClusters       - 输入簇中的cluster ID数目
InClusterList       - 输入cluster IDs的数组
afStatus_t ZDP_MatchDescRsp( byte TranSeq, zAddrType_t *dstAddr, byte Status,
            uint16 nwkAddr, byte Count, byte *pEPIntfList, byte SecuritySuite );
Status      -   SUCCESS         0
DEVICE_NOT_FOUND    1
Count – pEPIntfList中活动终端(endpoint)/接口数目
pEPIntfList – 包含器件上终端(endpoint)/接口的数组
afStatus_t ZDP_UserDescSet( zAddrType_t *dstAddr,uint16 nwkAddr,
                 UserDescriptorFormat_t *UserDescriptor,
                 byte SecurityEnable );
构建并发送User_Desc_set消息来设置远端设备的用户描述,这个请求单播到包含有发现信息的远端设备。远端设备需要定义NV_RESTORE来使能整个函数。
UserDescriptor –配制的用户描述,包含最多16个字符的ASCII字符串,若不足16个字符,则用空字符(0x20)填充到16个
afStatus_t ZDP_UserDescConf( byte TranSeq, zAddrType_t *dstAddr, byte Status, byte SecurityEnable );
调用这个函数来回应User_Desc_Conf
Status      -   SUCCESS         0x00
INV_REQUESTTYPE     0x80
DEVICE_NOT_FOUND    0x81
            NOT_SUPPORTED   0x84
afStatus_t ZDP_UserDescReq( zAddrType_t *dstAddr, uint16 nwkAddr, byte SecurityEnable );
构建并发送User_Desc_Req
ZStatus_t ZDP_UserDescRsp( byte TransSeq, zAddrType_t *dstAddr,
                uint16 nwkAddrOfInterest, UserDescriptorFormat_t *userDesc,
                byte SecurityEnable );
userDesc        -本地设备的用户描述
afStatus_t ZDP_EndDeviceAnnce( uint16 nwkAddr, byte *IEEEAddr,byte capabilities, byte SecurityEnable );
为ZigBee节点设备构建并发送End_Device_annce命令,通知其他ZigBee设备,此设备已加入或者已重新加入网络。此命令包含节点设备的新16位网络地址和64位IEEE地址,即以节点设备的功能。此消息已广播式发送。
afStatus_t ZDP_ServerDiscReq( uint16 serverMask, byte SecurityEnable );
构建并发送包含16位服务器掩码的System_Server_Discovery_req请求消息,以发现特殊系统服务器的位置或者服务器掩码指示的服务器。消息包含RxOnWhenIdle,以广播式发送。
ZStatus_t ZDP_ServerDiscRsp( byte transID, zAddrType_t *dstAddr, byte status,
                uint16 aoi, uint16 serverMask, byte SecurityEnable );

Zigbee学习(二)之Zstack协议栈运行原理分析 Zigbee协议栈的实现方式采用的是分层的思想,分别有物理层、数据链路层(介质访问控制层)、网络层和应用层。每一层都实现了不同的功能,但是每一层实现的功能对于其它层来说又是封闭的,如果要进行数据互通,需要调用一些API函数。这是一些浅显的基本概念,百度一下都可以知道的啦!那么整个协议栈是如何执行的呢?我们直接来看代码吧!打开Zmain.c文件,之前是一些宏定义,暂时先不用管,看到主函数: int 阅读详情

相关推荐

bekko:ZigBee 应用层(APS、ZCL、ZDP)Java 实现

纯 Java ZigBee 应用程序框架 Bekko提供用于开发 ZigBee 应用程序的 Java API,并允许用户应用程序与标准 ZigBee 设备进行通信。 与其他“XBee API Java-Wrapper”不同,Bekko 具有 ZDO/ZDP 实现和标准化的 APS 数据连接 API。 您可以使用 ZCL 扩展包来实现 ZCL 应用程序。 要求 Java SE 1.4 或更高版本/Java ME CDC 1.1 或更高版本 支持的 ZigBee 硬件 模块 bekko-api:GCF 兼容 ZigBee API bekko-core:硬件抽象层 bekko-ember-shared:Ember(Silabs)设备的通用库 bekko-util:通用实用程序库 bekko-xbee:XBee 实现 bekko-zcl:完整的 ZCL 堆栈实现 什么是 GCF? 通用连接框

ZigBee学习之——ZStack API解读

申明:这是转载一位高手的博客哦!! 这个文档是一个关键了,Z-Stack的应用程序接口。我们在程序中基本上应该调用的是这些API吧。ZDO层API实现了所有ZDP(ZigBee Device Profile)定义的命令和回应所需要的函数。ZDP描述了ZDO如何实现普通ZigBee设备的特性,它定义了设备描述和簇,ZDP为ZDO和应用提供一下功能:设备网络建立设备和服务发现节点设备邦定和解...

weixin_30715523的博客 426

z-stack_API中文版接口函数

中文版的z-stack_API,各层接口函数,有助于理解TI的zigbee协议栈

已入门选手进一步学习的重点---转自飞比论坛

我发现最近群里很多人已经可以算是大致入门了,能够在原有例子的基础上进行一些简单工作,实现数据传输。但是我也发现很多人开始把精力投入到钻研协议栈代码细节上面去了,实际上这种学习方式是有问题的。第一:如果从应用的角度看,协议栈的一些实现细节是没有必要钻研的,这就好比是现在的PC机,已经有了Windows系统了,我们在这个系统之上实现自己应用程序的时候其实并不需要对Windows内部实现细节过多地关注,

莽的专栏 1153

Z-Stack 3.0.2-.7z

Z-Stack 3.0.2协议栈官方例程,用于zigbee硬件调用。内部包含z-StackAPI解释,官方工程(需要IAR-8051支持)

unity转微信小游戏:UI大小设置

unity转微信小游戏:UI大小设置

会潜水的小火龙的博客 3270

zigbee学习之ZDP枚举描述(返回值说明)

本小节解释了ZDP 使用的枚举的含义。表2.137 展示了ZDP 枚举值的描述。

Justice Gao 442

gephi生成网络关系图_路网拓扑重建专题 (3) 网络图生成

城市道路网建模在获得基础路网之后,需要考虑道路交通网络的描述与表达问题。网络是将现实世界中的事物及其关系进行适当的抽象,构造成由节点和边按照一定规则组成的形式。一个实体网络可以由有限个“节点”集合与“边”集合构成的图表示,即网络表示为。对于一个由个节点组成的无权复杂网络,该图有邻接矩阵,这里。根据研究对象不同,建模方法主要包括原始法[1]和对偶法[2]两种,见图1,字母a-j为交叉口编号...

weixin_39761195的博客 3502

ZigBee Specification(ZigBee Document 05-3474-21)

文章目录1、ZigBee 协议概述1.1 协议描述1.1.1 范围1.1.2 目的1.1.3 协议栈架构1.1.4 网络拓扑1.2 约定和缩写1.2.3 传输顺序1.2.4 字符串和字符串操作1.3 约定和缩写 ZigBee Document 05-3474-21 August 5, 2015 Sponsored by: ZigBee Alliance 1、ZigBee 协议概述 1.1 协议描述 ZigBee联盟已经开发了一种非常低成本,非常低功耗的双向无线通信标准。 采用ZigBee标准的解决方案将被

Hongwei_1990的博客 1863

ROS Noetic + Realsense ROS 2.3.2 在鲁班猫4上的完整工作空间搭建与相机启动调试

本文详细介绍了在鲁班猫4(RK3588S)开发板上搭建ROS Noetic与Realsense ROS 2.3.2开发环境的完整流程,包括Realsense SDK安装、工作空间配置、D435i深度相机驱动调试等关键步骤,为机器人视觉系统开发提供实用指南。

weixin_33217202的博客 237

用OpenCV+ROS实现焊接机器人智能纠偏:线激光视觉的算法调参全流程

本文详细介绍了基于OpenCV和ROS的焊接机器人智能纠偏系统全流程。通过线激光视觉系统实时感知焊缝,重点解析了抗干扰图像预处理、改进的Steger算法提取激光条纹中心线,以及从2D像素到机器人基坐标系的完整坐标变换。该系统为应对焊接飞溅、弧光等复杂工况,实现高精度实时路径纠偏提供了从算法优化到工程集成的完整解决方案。

vodka的博客 158

Zstack API 解读

这个文档是一个关键了,Z-Stack的应用程序接口。我们在程序中基本上应该调用的是这些API吧。ZDO层API实现了所有ZDP(ZigBee Device Profile)定义的命令和回应所需要的函数。ZDP描述了ZDO如何实现普通ZigBee设备的特性,它定义了设备描述和簇,ZDP为ZDO和应用提供一下功能:设备网络建立设备和服务发现节点设备邦定和解邦定服务网络管理服务设备发现是ZigBee设备...

wearlee的博客 811

VC Spyglass CDC验证避坑指南:如何正确配置同步复位信号(实验二重点解析)

本文深入解析VC Spyglass CDC验证中同步复位信号的正确配置方法,通过实验二案例详细展示错误配置的典型表现及修正过程。文章提供同步复位的最佳实践方案,包括约束文件修改指南、验证流程优化建议和高级调试技巧,帮助工程师有效避免CDC验证中的常见陷阱。

rock5的博客 678

ZStack API解读3

应用框架(AF) 应用框架层是应用道APS层的OTA数据接口。此层也接收数据消息的终端多路复用器。AF为应用提供以下功能: ·                    终端(Endpoint)管理 ·                    发送和接收数据 哈哈,这里的函数应该就是我们经常要用到的函数了。 终端管理 每个设备都是Zigbee中的节点,每个节点有长地址和短地址,短地址被其他设

940

别再手动更新Excel了!用Jira看板管理你的个人项目(附保姆级配置流程)

本文详细介绍了如何利用Jira看板替代Excel进行个人项目管理,提供从注册到配置的保姆级教程。通过极简看板模式、自动化规则和数据分析功能,帮助用户实现任务可视化、协作高效化和提醒自动化,大幅提升个人工作效率。特别适合需要管理复杂个人项目的用户。

weixin_42699679的博客 228

全网首发!Yolov8_obb旋转框训练、测试、推理手把手教学(DOTA1.0数据集map50已达80%)

其中,images/train和images/val放置原始图片文件,labels/train_original和labels/val_original分别放置原始的标签文件,labels/train和labels/val为空,然后运行步骤(3)的代码,运行结束转换后的标签会保存在labels/train和labels/val中,格式如下。(4)新建yolov8-obb.yaml,修改nc和scales,我使用的是yolov8n.(2)构建数据集,安装下面目录格式,其他test可为空,一定要对应。

小嘤熊的博客 2万+

ZigBee学习之17——ZStack API解读5

网络层(NWK) 网络层为高层提供下面函数功能: ·                     网络管理 ·                     地址管理 ·                     网络变量和效能函数 除了管理功能外,NWK还提供数据服务,只是应用不能访问数据服务。应用需要通过AF数据接口AF_DataRequest()来发送数据。 网络管理

xiaoaide01的专栏 1241

【优化模型】求解混合整数线性规划 MILP 问题

混合整数线性规划(Mixed Integer Linear Programming,MILP)是一类优化问题,其中目标函数和约束条件均为线性,并且包含整数变量。MILP 在实际应用中具有广泛的应用,可以解决很多实际问题,如生产调度、网络设计、资源分配等。f — 系数向量。系数向量,指定为实数向量或实数数组。intcon — 整数约束组成的向量。整数约束组成的向量,指定为正整数向量。intcon 中的值指示决策变量 x 中应取整数值的分量。A — 线性不等式约束。线性不等式约束,指定为实矩阵。

Fanjufei的博客 2497

ZStack ZDO和AF层API解读

 ZDO层API 实现了所有ZDP(ZigBee Device Profile)定义的命令和回应所需要的函数。ZDP描述了ZDO如何实现普通ZigBee设备的特性,它定义了设备描述和簇,ZDP为ZDO和应用提供一下功能: ·                     设备网络建立 ·                     设备和服务发现 ·          

u013243314的专栏 1896

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

ZigBee学习之17——ZStack 网络层API解读

 网络层(NWK) 网络层为高层提供下面函数功能: ·                     网络管理 ·                     地址管理 ·                     网络变量和效能函数 除了管理功能外,NWK还提供数据服务,只是应用不能访问数据服务。应用需要通过AF数据接口AF_DataRequest()来

jk110333的专栏 3401

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

ZigBee学习之13——ZStack ZDO和AF层API解读

Z-Stack API[Z-Stack API _F8W-2006-0021_.pdf]这个文档是一个关键了,Z-Stack的应用程序接口。我们在程序中基本上应该调用的是这些API吧。ZDO层API实现了所有ZDP(ZigBee Device Profile)定义的命令和回应所需要的函数。ZDP描述了ZDO如何实现普通ZigBee设备的特性,它定义了设备描述和簇,ZDP为ZDO和应用提供一下功能:

河北正定欢迎您-少占鱼 3112

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

ZigBee学习之绑定表管理函数详解——ZStack API解读

http://blog.163.com/weiqianen@126/blog/static/9204547620101129242921/   应用支持子层(APS)  应用支持子层提供如下管理功能:  · 邦定表管理  · 组表管理  · 快速地址查找  除了管理功能外,APS还提供数据服务,只是应用不能访问数据服务。应用需要通过AF数据接口AF_DataRequest()来发送数

tanqiuwei的专栏 5150

ZigBee学习之16——ZStack -APS层NWK层API解读4 、5

ZigBee学习之16——ZStack API解读4    应用支持子层(APS) 应用支持子层提供如下管理功能: ? 邦定表管理 ? 组表管理 ? 快速地址查找 除了管理功能外,APS还提供数据服务,只是应用不能访问数据服务。应用需要通过AF数据接口AF_DataRequest()来发送数据。如果要使用邦定表函数需要包含BindingTable.h头文件。 邦定表管理邦定表管理邦定表管理邦定表管

河北正定欢迎您-少占鱼 2877

ZStack协议栈深度解析:从源码结构到OSAL任务调度实战

本文深入解析ZStack协议栈的架构与实现,从源码结构到OSAL任务调度机制,提供ZigBee开发的实战指南。通过ZStack2.5.1a版本的具体案例,详细讲解如何创建自定义任务、优化性能及避免常见陷阱,帮助开发者高效构建物联网应用。

weixin_42535461的博客 399

深度解读:ZStack混合云如何实现网络互联互通?

近年来,得益于SDN的快速发展,数据中心建设不再与用户业务绑定,而将网络互联的任务交给IaaS服务商来完成。ZStack做为IaaS云服务商中的一员,从ZStack 1.8版本开始,ZStack云路由就开始承担起日益复杂的网络建设任务。随着越来越多的用户将业务迁移云上,ZStack也开始支持越来越多复杂的网络功能。     部署混合云,网络打通是难点     从当前市场趋势以及Gartner、

qq_41443030的博客 4888
上一篇: zigbee组网流程
下一篇: 关于ZStack-CC2530-2.3.0-1.4.0中simpleApp例子的 终端节点入网以及绑定操作(一)
cucmakeit
博客等级 码龄14年 30粉丝 11原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值