3 Zigbee应用程序框架开发指南 - 应用程序框架目录结构
4 Zigbee应用程序框架开发指南 - 生成应用程序配置文件
5 Zigbee应用程序框架开发指南 - 应用程序框架API
6 Zigbee应用程序框架开发指南 - 应用程序框架Callback接口
11 Zigbee应用程序框架开发指南 - 命令行接口(CLI)
15 Zigbee应用程序框架开发指南 - 应用程序框架插件
16 Zigbee应用程序框架开发指南 - 扩展ZigBee Cluster Library (ZCL)
17 Zigbee应用程序框架开发指南 - 使用Ember AppBuilder设计应用程序
18 应用框架V6
ZCL应用程序框架只是越来越多的应用程序框架之一,客户可以在这些框架上构建自己的应用程序。所提供的其他应用程序框架被称为应用程序框架V6。所有这些框架都向用户提供了用于构建自定义应用程序的相同界面,但是这些其他应用程序框架有一些显著的差异。
18.1 目录结构
应用程序框架V6的目录结构与应用程序框架V2略有不同,但是每个目录都完全类似于第3节中描述的目录。
18.1.1 meta-inf目录
meta-inf目录包含配置应用程序所需的文件。这与许多用户熟悉的tool/appbuilder目录具有相同的目的。当将应用程序框架V6的实例加载到Ember Desktop中时,它会在这个meta-inf目录中加载框架。
18.1.2 plugin目录
plugin目录也实现了与第3节中描述的app/framework/plugin目录相同的目的。和以前一样,为用户提供了包含现成的Silicon Labs C代码的插件。
18.1.3 sample-app目录
sample-app目录保存与Application Framework V6实例一起呈现的示例应用程序。它存在的目的与app/framework/scenario目录相同。
18.2 生成的文件
应用程序框架V6生成的文件与前面几节中描述的ZCL应用程序框架生成的文件类似。对于用户来说,最重要的生成文件很可能是回调文件。回调文件的名称取决于生成它的框架的名称,但所有回调文件的名称都以-callbacks.c结尾。例如,在下面描述的RF4CE框架中,生成的回调文件的名称将始终为rf4ce-callbacks.c。一旦用户使用Ember Desktop用户界面配置了他们的应用程序,他们就可以在这个回调文件中添加自己的功能,如前面第6节所述。
18.3 应用程序接口
客户应该使用Ember桌面应用程序框架V6用户界面,就像他们使用常规应用程序框架用户界面一样。用户将选择插件、回调和其他熟悉的项来配置他们的应用程序。应用程序框架V6用户界面往往比ZCL应用程序框架用户界面简单,因为不需要配置与应用程序相关的ZigBee Cluster Library。如下所述,一些框架具有自己的特殊用户界面,用于配置特定于该应用程序层的应用程序部分。
18.4 其它框架
如前所述,应用程序框架V6只是针对不同应用程序层的不同应用程序配置的另一种表示。下面是应用程序框架V6框架下的一些当前应用程序框架的示例。
18.4.1 RF4CE应用框架
在EmberZNet 5.4.0版本中引入的RF4CE应用程序框架可用于在Silicon Labs RF4CE堆栈上构建只支持RF4CE的自定义应用程序。这个框架的根可以在app/rf4ce中找到。可以通过在InSight Desktop中的New application向导中选择RF4CE应用程序框架来构建只支持RF4CE的应用程序。有关开发RF4CE应用程序的更多信息,请参见UG10310。
18.4.2 网络协处理器应用框架
在EmberZNet 5.4.1版本中引入的网络协处理器应用程序框架可用于构建可定制的网络协处理器(NCP)应用程序。这些应用程序将允许客户为从连接的主机处理器发送的自定义EZSP帧定义自己的命令处理代码。主机处理器应用程序必须使用EmberZNet EM35x-EZSP应用程序框架构建,以便它包含必要的功能来将EZSP帧发送到NCP。用户将能够通过使用插件和回调来添加这个自定义功能,如下面的18.4.2.1节所述。
18.4.2.1 XNCP Library Plugin
XNCP库插件是大多数通过NCP应用程序框架构建的自定义NCP应用程序的起点。一旦用户为他们的应用程序选择了XNCP库插件,他们将会收到回调,他们可以实现这些回调来将定制的EZSP帧处理添加到他们的NCP应用程序中。这些回调将在回调文件ncp-callbacks.c中生成(有关应用程序框架V6回调的更多信息,请参见第18.2节)。这个框架中包含的xNCP LED示例场景提供了一个很好的例子,使用xNCP库插件提供的回调来同步处理来自连接的主机处理器的自定义EZSP命令。