The article is released under license CC BY-NC-ND 4.0
IoT Boot Camp系列课程是由TorchIoTBootCamp团队发起,广大IoT领域的爱好者共同参与的项目。旨在高效率、高质量地传播IoT领域的相关知识,以促进物与物,人与人,人与信息的连接。
点击这里,观看博主更多有趣视频教程
点击这里,学习更多知识
1. 简介
我们提供了基于EmberZnet Stack 6.6.4来创建、编译和运行Zigbee 3.0应用程序的分步操作指南。如果将来使用的是更高版本,则尽管此处可能有未预料到的细微差别,但大多数说明仍适用。
这些实验可帮助您熟悉EmberZNet Stack中的ZigBee 3.0的实现、Simplicity Studio v4开发环境以及带有EFR32MG12 SoC的无线入门套件(WSTK)。我们假定您有WSTK和这些软件(Simplicity Studio and EmberZnet SDK)。
1.1. 实验内容
Zigbee快速入门——新兵训练营系列培训的实验环节将涵盖以下四个部分。我们通过这四个部分来向大家逐步展示,如何从零开始构建一个Zigbee应用。
本文档中的实验是“Zigbee快速入门——新兵训练营”系列中的第一部分。
- 第一部分,由Light构建网络,并使用install code将Switch加入到这个网络。
- 第二部分,在设备上使用API发送,接收和处理On-Off命令。
- 第三部分,在Switch端用一个周期事件来执行自定义代码,在我们的实验中是控制LED闪烁。
- 第四部分,在Switch端使用非易失性存储器来存储自定义数据。
1.2. 目的
本教程将全面介绍如何从头开始构建Light和Switch设备。在实验结束时,用户将熟悉Simplicity Studio,SoC正常工作的基本需求,SDK 源码框架。
本实验中,我们将使用BRD4162A (EFR32MG12)开发板来构建一个包含两个设备的网络。
- 其中之一是Light。由于已实现的网络是集中式的,因此它将充当网络的Coordinator和Trust Center。该设备构建并打开网络,允许其他设备加入,并管理安全密钥。
- 另一个设备是Switch。它加入到打开的网络,并向Light发送开-关命令。
下图说明了该实验的流程。
2. 基本步骤
在开始实验之前需要作一些基本的确认,保证硬件平台及软件环境都已经准备就绪,以避免在开发过程中出现不必要的问题。
实际上,Zigbee快速入门——新兵训练营系列培训的预备知识已在Zigbee预备课程中进行了记录,我们仅在此处再次强调一些内容以确保开发环境已经准备就绪。
2.1. 硬体需求
- 2个无线入门套件 (WSTK) 主板
- 2个EFR32MG12无线板(BRD4162A)
2.2. 软件需求
确保已在PC上安装了最新的EmberZNet SDK(在本文撰写时为v6.6.4)和兼容的GCC工具链。
2.2.1. 检查EmberZNet SDK
- 启动Simplicity Studio v4。
- 转到Windows ->Preference -> Simplicity Studio-> SDK,确保已安装“ EmberZNet 6.6.4”。
它是Gecko SDK Suite 2.6.4的一部分,因此并不单独出现。请参见下面的图2-1。
2.2.2. 检查工具链
- 转到Windows->Preference -> Simplicity Studio->工具链,确保已安装GCC工具链。
在构建项目时所使用的工具链版本应当与构建SDK附带的库文件的工具链版本相同。用户可以在此处找到正确的工具链-SDK对应关系。请参见下面的图2-2。
2.2.3. 使用Gecko Bootloader
Bootloader是存储在预留的闪存中的一段程序,可以初始化设备,更新固件image并可能执行某些完整性检查。如果发现应用程序没有运行,请检查是否有正确烧录Bootloader,因为缺少Bootloader会导致程序无法运行。
注意: 在本系列实验的开始,强烈建议对设备用Gecko SDK随附的预编译的Bootloader image进行烧录。应当用“ -combined”结尾的image(例如,bootloader-storage-internal-single-combined.s37)烧录,这个image包含Gecko Bootloader的第一和第二阶段。该image可以在如下位置找到c:\SiliconLabs\SimplicityStudio\v4\developer\sdks\gecko_sdk_suite\v2.6\platform\bootloader\sample-apps\bootloader-storage-internal-single\efr32mg12p332f1024gl125-brd4162a\
想知道有关如何将Gecko Bootloader添加到Zigbee项目的更多信息,请阅读Zigbee预备课程。
提示: 有关Gecko Bootloader的更多信息,请参见下面的文档。
UG266: Silicon Labs Gecko Bootloader User’s Guide
UG103.6: Bootloader Fundamentals
AN1084: Using the Gecko Bootloader with EmberZNet and Silicon Labs Thread
3. 创建Light应用程序
完成上述步骤后,是时候实现Light设备的第一个功能了。如前所述,Light应该能够构建并打开网络。
AppBuilder将用于创建应用程序。Appbuilder是一个交互式GUI工具,允许开发人员创建和配置其大部分Zigbee应用程序。
在开始创建项目之前,建议在Simplicity Studio的主界面左侧,选择相应的目标板。它有助于AppBuilder识别目标设备,并自动应用与硬件相应的正确配置(外围设备,引脚)。
- 转到File ->New ->Project。这将显示“New Project”。请参阅下面的图3-1。
- 选择“ Silicon Labs Zigbee”。点击“ Next”。请参阅图3-2。