没有合适的资源?快使用搜索试试~ 我知道了~
首页Zigbee EMBER® 应用程序框架开发指南.pdf
Zigbee EMBER® 应用程序框架开发指南.pdf
5星 · 超过95%的资源 需积分: 50 32 下载量 15 浏览量
更新于2023-05-09
评论
收藏 1.88MB PDF 举报
Zigbee应用程序框架是一组嵌入式C代码,AppBuilder可以配置这些代码来实现任何ZigBee Cluster Library (ZCL)应用程序。从EmberZNet SDK的2.6.0版本开始,Zigbee应用程序框架取代了应用程序框架V2。本指南介绍了Zigbee应用程序框架的结构和用法。 关键点: • 为应用程序框架的所有方面提供参考,包括回调、插件、API和CLI。 • 讨论扩展ZCL (Zigbee集群库)。 • 提供在AppBuilder中设计应用程序的指南
资源详情
资源评论
资源推荐
EMBER® 应用程序框架开发指南
Zigbee 应用程序框架是一组嵌入式 C 代码,AppBuilder 可以配置这些代码来实现任何
ZigBee Cluster Library (ZCL)应用程序。从 EmberZNet SDK 的 2.6.0 版本开始,Zigbee 应用程
序框架取代了应用程序框架 V2。本指南介绍了 Zigbee 应用程序框架的结构和用法。
关键点:
• 为应用程序框架的所有方面提供参考,包括回调、插件、API 和 CLI。
• 讨论扩展 ZCL (Zigbee 集群库)。
• 提供在 AppBuilder 中设计应用程序的指南
目录
1 概述........................................................................................................................................... 5
1.1 目的 ................................................................................................................................... 5
1.2 构建应用程序 ................................................................................................................... 5
1.3 移植应用程序 ................................................................................................................... 5
2 应用程序框架结构 ................................................................................................................... 6
3 应用程序框架目录结构 ........................................................................................................... 7
4 生成应用程序配置文件 ........................................................................................................... 8
6.1 应用程序框架文件 ........................................................................................................... 9
5 应用程序框架 API .................................................................................................................. 10
6 应用程序框架 Callback 接口 ................................................................................................. 11
6.1 回调生成 ................................................................................................................................. 11
6.1 Cluster 无关的回调 ......................................................................................................... 11
6.2 特殊 Cluster 命令处理回调 ........................................................................................... 12
6.2.1 命令回调上下文 ................................................................................................... 12
6.2.2 在命令回调中处理数组 ....................................................................................... 12
6.2.3 全局命令回调 ....................................................................................................... 12
6.3 回调流程 ......................................................................................................................... 13
6.4 回调引用 ......................................................................................................................... 15
7 时间处理 ................................................................................................................................. 15
8 事件......................................................................................................................................... 16
8.1 创建一个自定义事件 ..................................................................................................... 16
8.1.1 事件功能和事件控制 ........................................................................................... 17
8.1.2 自定义事件示例 ................................................................................................... 17
8.2 怎样创建 Cluster 事件 ................................................................................................... 17
8.3 如何调度 Cluster 事件 ................................................................................................... 17
8.3.1 emberAfScheduleClusterTick ................................................................................. 18
8.3.2 emberAfDeactivateClusterTick ............................................................................... 18
9 属性管理 ................................................................................................................................. 19
9.1 ZCL 属性配置 ................................................................................................................... 19
9.1.1 属性存在字节顺序 ............................................................................................. 19
9.1.2 属性存储顺序的含义 ......................................................................................... 19
9.1.3 外部属性(E) ................................................................................................... 20
9.1.4 持久内存存储(F) ........................................................................................... 20
9.1.5 单例(S) ........................................................................................................... 20
9.1.6 属性边界 ............................................................................................................. 21
9.2 ZCL 属性交互 ................................................................................................................... 21
9.2.1 ZCL 字符属性 ....................................................................................................... 21
10 命令处理和生成 ............................................................................................................. 21
10.1 发送命令和命令响应 ................................................................................................... 21
10.2 ZCL 命令处理 ................................................................................................................. 22
10.2.1 app/framework/util/process-global-message.c ................................................. 22
10.2.2 app/framework/util/process-cluster-message.c ................................................ 23
10.3 发送默认应答 ............................................................................................................... 23
11 命令行接口(CLI) ........................................................................................................ 23
11.1 扩展命令行接口 ........................................................................................................... 24
11.2 CLI 示例 .......................................................................................................................... 25
11.2.1 示例 1:创建一个网络 .................................................................................... 25
11.2.2 示例 2:发送一个属性读取 ............................................................................ 26
11.2.3 示例 3:发送一个 Cluster 命令....................................................................... 26
11.3 命令行参考 ......................................................................................错误!未定义书签。
12 调试打印接口 ................................................................................................................. 27
13 多网络支持 ..................................................................................................................... 27
13.1 网络上下文 ................................................................................................................... 28
13.1.1 回调网络 ........................................................................................................... 28
13.1.2 当前网络 ........................................................................................................... 28
13.1.3 切换网络 ........................................................................................................... 29
13.2 配置 ............................................................................................................................... 29
13.2.1 Zigbee 设备类型 ............................................................................................... 30
13.2.2 安全配置 ........................................................................................................... 31
14 睡眠设备 ......................................................................................................................... 31
14.1 介绍 ............................................................................................................................... 31
14.2 轮询 ............................................................................................................................... 31
14.2.1 SHORT_POLL 间隔 .............................................................................................. 32
14.2.2 LONG_POLL 间隔 ............................................................................................... 32
14.2.3 我应该为短轮询和长轮询间隔设置什么值? ................................................. 33
14.2.4 强迫“Fast Polling” ........................................................................................... 33
14.2.5 使用“Fast Polling”完成复杂 Transaction .......................................................... 34
14.2.6 SOC 和 Host+NCP 模型的轮询差异 .................................................................. 34
14.3 休眠和事件机制 ........................................................................................................... 35
14.3.1 在休眠设备从不使用 Ticks On ........................................................................ 35
14.4 终端(End Device)设备父重发现 ............................................................................. 35
14.5 睡眠和 CLI ..................................................................................................................... 35
14.6 处理器空闲和应用程序框架 ....................................................................................... 36
15 应用程序框架插件 ......................................................................................................... 36
15.1 介绍 ............................................................................................................................... 36
15.2 创建你自己的 plugins .................................................................................................. 36
15.3 OTA 升级插件 ................................................................................................................ 37
15.3.1 架构 ................................................................................................................... 37
15.3.2 Plugin 架构 ......................................................................................................... 39
15.3.3 ZCL 解析 ............................................................................................................. 39
15.3.4 OTA Bootload Cluster Common Code Plugin ...................................................... 40
15.3.5 OTA Bootload Cluster Server Plugin ................................................................... 40
15.3.6 OTA Bootload Cluster Server Policy Plugin ......................................................... 40
15.3.7 OTA Bootload Cluster Client Plugin .................................................................... 40
15.3.8 OTA Bootload Cluster Client Policy Plugin .......................................................... 41
15.3.9 OTA 存储 Plugins ................................................................................................ 42
15.3.10 OTA Cluster Platform Bootloader Plugin .......................................................... 44
15.3.11 OTA Cluster 命令行接口 .................................................................................. 44
15.3.12 OTA 客户端状态机 .......................................................................................... 46
15.3.13 客户端和服务器设置示例 ............................................................................. 47
15.4 报告 Plugin .................................................................................................................... 47
15.4.1 报告命令行接口(CLI) .................................................................................. 47
15.4.2 通过 CLI 设置报告连接 .................................................................................... 48
15.4.3 报告外部属性 ................................................................................................... 49
15.5 Tunneling Plugin ............................................................................................................. 49
15.5.1 Tunneling 设置 ................................................................................................... 49
15.5.2 Tunneling 命令行接口 ....................................................................................... 50
15.5.3 Tunneling 客户端命令行 ................................................................................... 50
15.5.4 Tunneling 服务端命令行 ................................................................................... 51
15.5.5 Tunneling 限制 ................................................................................................... 51
16 扩展 ZigBee Cluster Library (ZCL) .................................................................................... 51
16.1 介绍 ............................................................................................................................... 51
16.2 局限性考虑 ................................................................................................................... 52
16.3 在应用程序框架和 Ember AppBuilder 中定义 ZCL 扩展 ............................................ 52
16.4 Manufacturer-Specific Attribute APIs............................................................................. 53
16.4.1 属性读和写 ....................................................................................................... 53
16.4.2 属性改变回调 ................................................................................................... 53
17 使用 Ember AppBuilder 设计应用程序 ......................................................................... 54
17.1 ZCL 概念 ......................................................................................................................... 54
17.1.1 定义 ................................................................................................................... 54
17.1.2 关于集群和属性的更多信息 ........................................................................... 55
17.2 Ember AppBuilder 和应用程序框架架构 ..................................................................... 58
17.2.1 Ember AppBuilder GUI ....................................................................................... 58
18 应用框架 V6 ................................................................................................................... 60
18.1 目录结构 ....................................................................................................................... 60
18.1.1 meta-inf 目录 ..................................................................................................... 60
18.1.2 plugin 目录 ......................................................................................................... 60
18.1.3 sample-app 目录 ................................................................................................ 60
18.2 生成的文件 ................................................................................................................... 60
18.3 应用程序接口 ............................................................................................................... 60
18.4 其它框架 ....................................................................................................................... 61
18.4.1 RF4CE 应用框架 ................................................................................................. 61
18.4.2 网络协处理器应用框架 ................................................................................... 61
1 概述
1.1 目的
通过 AppBuilder 工具可以实现任何 Zigbee Cluster Library (ZCL)应用程序。应用程序框
架位于 app/framework 目录中。
本指南介绍了 Zigbee 应用程序框架的结构和用法。
1.2 构建应用程序
使用 Zigbee 应用程序框架通过以下几个步骤创建一个应用程序。
1. 使用 Simplicity Studio 的 AppBuilder 创建 Zigbee 应用程序框架配置文件。您选择平台
的配置文件和项目文件都是由 AppBuilder 生成的。UG103.02: Zigbee Fundamentals 中提供了
使用 AppBuilder 的概述,以及它与 Zigbee 应用程序框架的关系。关于如何使用 AppBuilder
的更详细信息可以在 AppBuilder 帮助中找到(Simplicity Studio > Help > Help content >
Simplicity Studio AppBuilder)。
2.将应用程序的细节写入与配置文件一起生成的回调函数中。使用 Zigbee 应用程序框架
API 做一些事情,比如与属性交互,以及在 Zigbee 网络上发送、接收和响应命令。有关 Zigbee
应用程序框架 API 的更详细信息,请参见第 5 节应用程序框架 API。
3. 在 IDE 中打开所选芯片生成的项目文件,编译应用程序,并将其下载到开发工具包硬
件上。
4. 运行您的应用程序,并使用 Simplicity Studio 控制台窗口和应用程序命令行界面与它
进行交互。关于如何使用 Simplicity Studio 的更多信息可以在 Simplicity Studio 的在线帮助
(Help | Help Contents )中找到。
1.3 移植应用程序
有关将应用程序从应用程序框架 v2 移植到 simple Studio 中的当前 Zigbee 应用程序框架
的信息,请参阅将项目从应用程序框架 v2 移植到 simple Studio 的 AppBuilder 中的 Zigbee 应
用程序框架的知识库文章。
剩余60页未读,继续阅读
Smartlabs
- 粉丝: 160
- 资源: 16
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- zigbee-cluster-library-specification
- JSBSim Reference Manual
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论1