演示一个基本的蓝牙网状网络照明应用程序

电子说

1.2w人已加入

描述

Silicon Labs Thunderboard Sense 2是一个高集成度、紧凑型的多传感器和多协议无线开发套件。该工具包具有广泛的传感器,基于强大的EFR32 Mighty Gecko无线系统芯片(SoC)。它还包括四个高亮度的RGB LED。对于开发电池驱动的物联网(IoT)设备而言,Thunderboard Sense 2是一个非常理想的平台。

EFR32 Mighty Gecko无线SoC支持专有协议栈和常见的物联网无线标准协议,如Zigbee、Thread和Bluetooth低功耗。在这个项目中,我们将使用几个Thunderboard Sense 2板建立一个蓝牙网状网络。将供应两块板作为灯,一块板作为开关。由Silicon Labs开发的蓝牙网状智能手机应用程序,可以控制单个灯或群体灯。此外,所供应的设备可以控制同一组中的所有灯。

蓝牙网状网络蓝牙网状网络是蓝牙低功耗设备的一种新拓扑结构。该技术于2017年发布,允许多对多设备通信。蓝牙mesh能够在更大规模的蓝牙设备之间实现多跳通信,这使得它成为智能家居应用的理想选择,例如照明和无线传感器节点。在蓝牙mesh之前,所有的蓝牙设备都必须连接到一个中心集线器,也就是所谓的“星形网络”拓扑。这意味着恒星网络中的节点之间不能相互通信。以前,所有消息都位于节点和中心集线器之间。但有了网状网络,所有设备都可以互相通信。这允许以数千个节点的数量扩展网络的范围。

入网配置添加到网状网络的设备必须首先通过Provisioning的程序配置给网状网络。供应主要是一个安全过程,在此过程中,供应者发现未供应的设备并向设备发送加入网络的邀请。然后,提供程序和要提供的设备交换公钥。然后,每个设备生成一个会话密钥,用于保护连接以交换供应数据。供应数据包括网络密钥、设备密钥、称为IV索引的安全参数及其单播地址。在此之后,未供应的设备现在称为网状网络中的节点。 发布和订阅蓝牙Mesh中使用的通信机制称为发布和订阅。在蓝牙网状网络中,节点通常被配置成组。例如,房间里所有的灯可以组合在一起。这意味着组中的所有节点都可以接收相同的消息。在网状网络中,每个组分配一个组地址,多播消息用于向所有设备发送消息。

软件设置在这个演示中,我们将使用三个Thunderboard Sense 2传感器来演示一个基本的蓝牙网状网络照明应用程序。至少需要两块TBS2板才能构建网状网络。首先,您需要下载由Silicon Labs提供的Integrated DriveElectronics (IDE) Simplicity Studio,并展开以下步骤:

安装蓝牙Mesh SDK,打开simple Studio并注册或登录,如果您已经有一个帐户。您必须登录才能访问蓝牙Mesh SDK。

点击“帮助”和“更新软件”,安装管理器应该出现。单击“按产品组安装”。用于安装SDK的安装管理器。

在Wireless & RF下选择“Bluetooth”进行蓝牙包的安装,后单击“Next”接受条款和条件,完成安装。

演示固件通过Micro-B USB将Thunderboard Sense 2连接到PC上。在Simplicity Studio中,面板将出现在左侧顶部面板的“调试适配器”下。选择它,您应该会看到演示软件开始加载在启动程序中。 在“demo”下,打开蓝牙Mesh SDK。对于这个项目,您将需要用“SOC - BT Mesh Light”示例,用“SOC - BT MeshSwitch”示例。

Thunderboard Sense 2配置在这个步骤中,我们将把设备配置到网络并将它们分组在一起。在智能手机上安装蓝牙mesh移动应用程序。该应用程序适用于iOS和Android。安装应用程序后,打开它并创建一个新的网络。为此,我们创建了一个名为“Demo Smart Home”的网络。你可以通过点击右上角的“+”按钮来创建一个新的网络。如果选择网络,可以创建新的组。该小组将代表智能家居中的一个房间。

将设备配置为Light节点单击“Provisioning”选项卡将设备供应到网络。所有未供应的设备都将出现在列表中。选择蓝牙设备,点击“设置”。配置完成后,您将被引导到设备配置页面,在那里您可以选择更改设备的名称、将其添加到一个组并赋予其功能。为简单起见,我们将light节点的名称更改为“Lamp 1”。接下来,选择要添加light节点的组。最后,选择“Light CTL Server”作为Light节点的功能。CTL表示颜色可调光,这意味着我们的光节点可以接收开/关、色温和亮度信息。

将设备配置为开关节点返回到未供应设备列表并选择一个switch节点。按照与配置light节点相同的步骤,但是选择“light CTL客户端”作为开关的功能。与light节点不同,switch节点将发布事件,这意味着它将发送on/off、色温和亮度消息,而不是接收消息。

开始演示蓝牙网状网络现在可以进行测试了。作为light节点的Thunderboard Sense 2板上的高亮度LED用于演示这些灯。这些light节点可以通过蓝牙mesh智能手机应用程序进行分组或单独控制。要以开关形式来控制light节点,请使用两个按钮,PB0和PB1。

PB0按钮

短按: 减少光亮度10%

中压: 降低CTL值

长按: 发送信息

PB1按钮

短压: 增加光亮度10%

中压: 提高CTL值

长按: 发送信息
       责任编辑:pj

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分