基于EFR32的Zigbee开发-介绍

EFR32 简介

EFR32 系列芯片是芯科公司出品的 Zigbee 芯片,多个系列具有高性能、低功耗和安全等多个方向的侧重,来面对不同的需求.

Simplicity studio 开发环境

对于 Zigbee 的开发环境,能看到的大部分资源都是 CC2530 使用的 IAR 平台,但是这个平台真是太老了,开发界面功能不够强大,快捷键支持也不是很好,烧录平台也没有集成等等,相比来说同样是芯科出品的 Simplicity studio 开发平台更符合现在开发者的需求,但是这个平台还比较新,使用的人也很少,网上的资源同样很匮乏,官方的配套支持做的也没有太好,下面列一下我在网上千辛万苦找到的一些有用的资源:

Github:https://github.com/SiliconLabs/IoT-Developer-Boot-Camp/wiki

Github 中的 Wiki 中有很多示例以及介绍可以参考;

bilibili:https://space.bilibili.com/641942011?from=search&seid=17568942342287364893

bilibili 中的官方账号虽然没什么观看量和粉丝,但关于平台的使用方面可以给新手很好的入门;

IDE 下载地址:https://www.silabs.com/documents/login/software/install-studio-v4_x64.exe

官方教程:https://www.silabs.com/documents/public/quick-start-guides/qsg106-efr32-zigbee-pro.pdf

教程是全英文,而且没啥大用。。。

平台使用

我这面用的是某宝上找到的一款比较便宜的开发板(官方的板子太贵了!!!),感兴趣的可以自己找一下;

基础配置

安装好 IDE 新建了一个最小的工程(注意要选好芯片的型号,不同型号的芯片可配置的硬件有区别),新建好工程会默认打开 ZigbeeMinimalSoc.isc 文件,这个就是整个工程配置的地方;

在这里插入图片描述

在 ZCL Clusters 中可以配置设备类型和所启用的 Cluster 并配置默认值等;

在这里插入图片描述

在 Plugins 中可以来选择所启用的插件,这部分往往和配置 Cluster 相关联的,默认配置好 Cluster 就会自动启用相关的插件;

在这里插入图片描述

最后一个比较重要的配置就是 callback 这个选项中了,对于配置的 Cluster 以及硬件中断类似按钮这类都要在这下面勾选对应的 callback 然后复制右侧的 callback 函数到 ZigbeeMinimalSoc_callbacks.c 中添加业务逻辑,配置完成后保存点击右上角的 Generate 会生成相关的代码;

在这里插入图片描述

硬件配置

双击打开对应芯片的 XXXXXXX.hwconf ,选择下方的 DefaultMode Peripherals 界面可以配置硬件部分,根据业务需要配置对应的引脚等;

在这里插入图片描述

烧录相关

Simplicity studio 平台集成了烧录工具,需要 jlink 连接,可以通过下图所示打开烧写工具;

在这里插入图片描述

总结

相比于 IAR 平台来说,Simplicity studio 平台确实有很大的优化和提升,能提高很多开发的便捷性,但是有很多配置说明不明确,很多问题网上资源又少,可能是发展缓慢的一个原因吧,后续我准备在新发现的一个好玩的平台上和这个开发板做一些联动,做一些智能的物联网设备,有兴趣的小伙伴可以关注后续哟。