Silicon Labs蓝牙Mesh照明应用示例

2019-07-25 17:59:19作者:Silicon Labs来源: Silicon Labs

[摘要] 在本文档中我们讨论了蓝牙mesh设计所需的基础知识,以及如何建立该应用示例的基础步骤,并浏览其中的关键应用程序源代码。

       Silicon Labs(亦称“芯科科技”)提供市场领先的蓝牙网状网络(Bluetooth Mesh)解决方案,我们的蓝牙mesh SDK附带了一个示例项目,可以帮助设计人员使用蓝牙快速创建一个由灯和开关组成的无线网状网络。

  这个应用示例是基于使用Silicon Labs适用于智能开关、灯具以及Android或iOS手机的WSTK无线开发套件,以开通和控制网络。在本文档中我们讨论了蓝牙mesh设计所需的基础知识,以及如何建立该应用示例的基础步骤,并浏览其中的关键应用程序源代码。

微信图片_20190725175656.jpg

  蓝牙mesh标准简介

  蓝牙mesh是一种适用于蓝牙设备和物联网应用的新型拓扑结构。以前业界一直使用蓝牙的点对点连接或广播拓扑,以便与其他设备通信,而新一代的蓝牙mesh扩展了更多的连网功能,并允许与先前的蓝牙标准兼容。蓝牙mesh实现了多对多设备通信和在网格拓扑中使用蓝牙设备,这使得支持蓝牙设备之间的多跳通信和比以前更大规模的蓝牙设备网络成为可能。

  蓝牙mesh可以使用蓝牙LE广告通道在蓝牙mesh节点之间发送和接收消息,同时也能通过蓝牙连接和GATT服务与不支持蓝牙mesh的设备通信。此外,蓝牙mesh也使用独特的安全架构,虽然它与普通的蓝牙LE安全架构是分离的,但使用了相同的AES-CCM128位和ECDH安全算法

  为了满足mesh设计的需求,蓝牙mesh定义了自己的应用层,称为mesh model,它不同于非蓝牙mesh设备使用基于GATT的配置文件和服务。新的拓扑结构也使蓝牙网格成为一个完整的堆栈解决方案,以建立可互操作的mesh设备。

  蓝牙Mesh网络的节点角色和特性

  蓝牙网状网络通常由多个节点组成。所有节点都可以传输和接收网格消息,但是它还可以选择支持一个或多个附加功能。如果一个节点没有实现任何附加功能,那么它将只会被认为是一个单纯接收信息的节点。下图显示了各种节点类型。

  蓝牙Mesh节点的四种类型如下:

  Proxy-支持蓝牙mesh和GATT之间的消息代理,支持智能手机等设备连接蓝牙网。

  Relay-中继消息以扩展蓝牙网状网络的范围和规模。

  Friend-实现一个附加的消息缓存,以支持具有低功耗特性的节点。

  Low Power-允许在已知的时间间隔内休眠和轮询来自朋友节点的消息。

  蓝牙Mesh照明应用示例

  软硬件需求:

  Simplicity Studio:https://www.silabs.com/products/development-tools/software/simplicity-studio.

  Silicon Labs Bluetooth mesh移动程序:https://www.silabs.com/products/development-tools/software/bluetooth-low-energy/mobile-apps/ble-mesh

  Silicon Labs Blue Gecko SoC 无线开发套件:https://www.silabs.com/products/development-tools/wireless/bluetooth/blue-gecko-bluetooth-low-energy-soc-starter-kit

  这项演示的设置原则上可以由任意数量的开关节点和灯光节点组成。一个开关节点可以控制一个灯。通过向一个设置好的群组地址发送命令可控制任意数量的灯光节点。

  蓝牙网状网络的实现

  蓝牙照明应用示例的示范实施过程可分为四个主要阶段:

  Unprovisioned模式— 安装演示固件后,设备将以非供应模式启动。

  Provisioning— 设备被配置到蓝牙mesh网络,并设定网络安全。

  配置— 设置了群组、发布和订阅以及应用程序安全性。

  正常操作— 灯节点(s)可以由开关(es)控制,也可以通过智能手机应用程序进行控制。

  在第一阶段,所有设备都是未配置的,并传输未配置的信标,它们没有任何网络密钥或应用程序密钥,也没有任何的发布和订阅设置。在此状态下,设备只是在等待开发者将它们分配到蓝牙网格网络中,并配置发布、订阅和网格模型。在这种状态下,设备可以由智能手机应用程序检测到。

  在Provisioning阶段,通过provisioner将灯和开关添加到蓝牙网状网络中,并生成一个网络密钥同时分配给节点,每个节点分配一个单播地址。

  在配置阶段,通过provisioner设置灯群组、发布和订阅设置、应用程序级安全性和网格模型。

  配置完成后,蓝牙mesh网络就可以运行了,可以控制灯光。SiliconLabs的WSTK无线开发板上的按钮可以用来控制一组中的所有灯。同样的功能也可以用智能手机应用程序实现,而且还可以使用单播寻址控制单个灯。


0 0
[责任编辑:黄文凤]

《安防知识网》一个服务号二个订阅号 微信服务全面升级

不得转载声明: 凡文章来源标明“安防知识网”的文章著作权均为本站所有,禁止转载,除非取得了著作权人的书面同意且注明出处。违者本网保留追究相关法律责任的权利。

专栏
我要投稿
杂志