创建项目后,就可以使用 App Builder 为项目配置它们要使用的设备类型了。当我们介绍应用程序生成器的新部分时,我们将尽最大努力向您解释您正在使用的部分,并希望教育您充分利用应用程序生成器。
Light
让我们看一下 MyLight.isc 文件。
默认情况下,您应该位于项目的“常规”选项卡上。它由应用程序配置面板和信息配置面板组成。应用程序配置面板为您提供有关项目位置和设备名称的信息。该面板还允许您查看板、芯片和编译器,并使用 Edit Architecture 按钮对其进行配置。
Pre 6.6.0:默认情况下,您应该位于项目的“常规”选项卡上。这为您的项目提供了一些基本设置,例如板、芯片和编译器。下面是应用程序配置,它概述了您正在使用的 EmberZNet 版本和项目的位置。如果您有堆栈中的示例项目,这将为您提供应用程序操作的描述。直接在这之下是多网络配置。这不是我们今天要使用的东西,但如果您正在寻找详细信息,AN724将概述多网络。
Pre 6.6.0:下一个选项卡是 ZCL 全局选项卡。这是您的标识和版本信息。您不想在此处对此项目进行任何更改。
这是 ZCL 集群选项卡之后,我们将在这里进行第一次更改。在此选项卡上,您可以配置设备的 ZCL 元素,即您的端点、在您的端点上启用的集群以及这些集群支持的属性和命令。在 6.6.0 版之后,可以在此选项卡上更改制造商 ID 和默认响应策略,并且删除了 ZCL 全局选项卡。
对于我们的轻型设备,我们只需要一个端点,这是默认的,但我们需要选择一种可以满足我们需求的设备类型。虽然您可以使用您想要支持的任何集群和属性构建自定义设备,但 AppBuilder 包括许多 ZCL 设备类型,其中包含特定设备类型的正常预配置集群和属性。由于我们正在构建一个灯,我们可以使用堆栈中包含的默认设备,对于这个项目,在 LO 设备下找到 LO On/Off Light Switch。此灯光定义为您提供了许多默认集群,例如基本、识别、组、场景和开/关。对于这个项目,我们将专注于 On/Off 集群。但完成后,您可以探索其他设置,甚至可以将此灯扩展为可调光或颜色控制,
移动到 Zigbee 堆栈选项卡(6.6.0之前:Znet 堆栈选项卡),我们将配置 Zigbee 设备和安全级别。此选项卡是设置许多 Zigbee 选项的地方。对于灯光,它将是协调器/路由器并利用 Zigbee 3.0 安全性。这些应该是此设备的默认设置,但如果这些设置不正确,可以在此处更改。这里还有一些用于 Radio configugration、ZDO 和 Inter-PAN 设置的设置,但它们超出了本项目的范围。在 6.6.0 之后,您还可以在此选项卡上配置多网络相关功能并添加自定义 ZCL 添加。
继续打印和 CLI 选项卡,我们找到调试打印的配置以及 CLI 的设置。调试打印允许您添加超出标准应用程序支持的其他打印选项。集群调试包括特定于为您的设备启用的集群的打印语句。通用调试打印为您提供应用程序不同方面的额外打印,例如安全性或服务发现。您甚至可以在此块中创建自己的自定义消息。在底部,您将设置自定义 CLI。在本节中,您可以为您的设备启用不同的 CLI 命令,而不是包含的标准命令。为了我们的需要,(6.6.0 之前的版本:可以在顶部找到开/关集群打印),因此选中此旁边的复选框,以便在启动时编译并启用这些打印语句。但是构建的普通 CLI 可以满足我们的需求,因此不需要对底部进行任何更改。
下一个选项卡是 HAL 配置选项卡。如前所述,这是进行一些硬件设置的地方。您要确保您的设备已为应用程序引导加载程序设置,任何其他更改,我们将在以后的步骤中进行。这也是您可以访问硬件配置器的地方之一,我们将在后面的步骤中使用它。
最后,我们需要配置所需的插件,可以在相应的选项卡上找到。插件是 EmberZNet 方法,只需单击按钮即可快速启用或禁用我们的应用程序层支持的功能。对于插件,您应该使用项目默认包含的所有插件并添加以下内容:
-
网络创造者
-
网络创建者安全
-
查找和绑定目标(全部在 ZigBee 3.0 下)
-
安全链接密钥库(堆栈库)。
-
开/关服务器集群插件
-
识别插件
为了安全起见,请保存您的项目以防止丢失任何东西。我们还没有完成,所以暂时不要点击生成按钮。
对于开关
现在,让我们打开 MySwitch.isc 并像灯一样配置 Switch。由于您知道在哪里可以找到这些设置,因此它们应该更容易设置。
像灯一样,您的设备将有 1 个端点。但是 ZCL 设备类型将是一个 LO 开/关灯开关。
它将利用 Zigbee 3.0 安全性,但将是一个终端设备。不要让它成为一个昏昏欲睡的终端设备,您将无法从 CLI 获得尽可能多的响应,并且我们需要能够在进行设置时与设备进行交互。
对于插件,您应该使用项目默认包含的所有插件并添加以下内容:
-
查找和绑定启动器 (ZigBee 3.0)
-
按钮接口 (HAL)。
-
安装代码库
由于交换机是终端设备,您可以将 Zigbee PRO 堆栈库插件交换为 Zigbee Pro 叶库。这是一个可选步骤,但叶库删除了许多仅路由器和协调器需要的附加堆栈库。结果是一个更小的库,消耗更少的能量。虽然我们没有使用休眠终端设备,但这将帮助您在设备休眠时实现更低的电流消耗。
最后,找到绑定表库插件。它有一个配置选项——绑定表的大小,我们需要确保我们的表至少有 6 个条目。我们可能不需要这么多条目,但我们希望确保我们拥有它们,以防万一。
对于这两种设备
您需要对两台设备进行最后一项设置,以确保您可以运行 CLI。这涉及确保正确配置串行端口。
在 mySwitch 和 myLight 上返回插件选项卡,您要确保启用了串行插件。在串行插件中,您需要确保启用了 SERIAL 和 USART0(在外围框中选择每个)。最后,由于 Thunderboard 不支持硬件流控,我们需要在 USART0 外设(串行插件中)内更改流控类型,确保流控模式设置为 Xon-Xoff。
一旦您配置了这两个应用程序,您想要保存每个项目。
接下来,单击每个项目上的 Generate 按钮。就像我们的引导加载程序一样,这将创建或链接到构建项目所需的所有文件。应该不会花费太长时间,但是您将等待一段时间,直到出现生成成功窗口。一旦你得到了,点击确定。
最后,您可以单击工具栏上的锤子图标
(或任何其他将开始构建您的应用程序的命令)并构建您的应用程序。这将需要一两分钟,具体取决于计算机的速度。您可以在底部的控制台窗口中跟踪进度。一旦文件被编译和链接,一些后期构建脚本将运行。如果这些运行正确,您将收到以下消息:
Image-builder not invoked since "OTA Bootload Cluster Policy plugin" is not enabled
16:55:26 Build Finished (took 48s.142ms)
关键是 Image-builder 消息。Image-builder 在您的项目正确编译后运行。一旦你看到了,你就知道你的项目已经编译成功了。接下来,我们需要将其刷入我们的设备并进行测试。
如果您在构建过程中遇到某种错误,请返回您的项目 .ISC 文件并检查您设备上的工作设置,看看您是否遗漏了任何步骤或设置不正确。