Silicon Labs(亦称芯科科技)针对多协议无线标准应用所推出的“Connect”是基于 IEEE 802.15.4 MAC 的无线网络协议栈,面向多种专有应用,已针对低功耗设备进行了优化。这一功能齐全、可轻松自定义的网络协议栈旨在满足全球各地区的监管规范,并支持 1 GHz 以下和 2.4 GHz 频段。

 

该协议栈支持多种无线电调制、频率和数据速率的组合,可将设备配置为终端节点、协调器和范围扩展器。它包括所有无线媒体接入控制 (MAC) 层功能,例如扫描、连接、设置点对点或扩展星型网络,以及管理睡眠终端设备、路由器和协调器等类型的设备。在该功能已经在协议栈中实施的情况下,您可以专注于终端应用开发,而无需担忧低级的无线电和网络细节。

 

Connect休眠设备功能

Silicon Labs Connect堆栈提供功能齐全,易于定制的无线网络解决方案,针对需要低功耗且用于简单网络拓扑的设备进行优化。Connect配置符合全球区域通信标准,本应用方案将介绍如何使用休眠设备功能。

 

休眠设备可以通过以下两种不同的方式实现:

  • 在星型网络拓扑中,设备可能会作为休眠终端设备加入网络。
  • 在直接设备网络拓扑中,应用程序可以确定何时将设备置于休眠状态。

 

图1 星型网络拓扑和直接设备网络拓扑

 

在星型网络拓扑中,作为休眠终端设备加入网络的设备可以使用以下API简单地加入,其中nodeType为EMBER_STAR_SLEEPY_END_DEVICE:

EmberStatus emberJoinNetwork(EmberNodeType nodeType,EmberNetworkParameters *parameters);

 

如果获取CLI命令“join-sleepy”(加入休眠设备),则传感器示例将使用此API。这将导致设备通过指定的父设备自动加入网络,尽管父设备必须事先启用终端设备的连接。它将定期自动轮询其父级,以查找存储的消息。在某些情况下,将星型网络加入休眠终端设备可以避免使用邮箱客户端和服务器机制。休眠设备的父设备会自动为其子设备存储消息,并在轮询过程中提供这些消息。但是,如果子进程的轮询间隔慢于父进程的间接邮件超时,则邮箱客户端/服务器可能仍然有用。

 

将设备置于睡眠状态的过程由idle-sleep插件处理。idle-sleep插件定期检查堆栈,看看是否可以让设备进入睡眠状态以及持续多长时间。然后它会使进程空闲,然后在下一个事件发生时唤醒它。当空闲睡眠插件唤醒时,插件会重新启动堆栈并调用idleSleepWakeupCallback。

 

轮询插件负责定期轮询数据,以使EMBER_STAR_SLEEPY_END_DEVICE与其父级保持联系,并检查父级是否有子级数据。

 

下载并应用Connect网络协议栈:https://cn.silabs.com/products/development-tools/software/connect-networking-stack

 

您也可以扫描以下维码,关注Silicon Labs社交媒体平台

  • Knowledge Base Articles
Translate