对于家庭、建筑和工业自动化应用,连接的照明系统是方便的,可以帮助节省能源。而基于802.15.4网状网络提供低功耗运行,扩展范围,有效组合和可用性,它们是复杂的实现。

  为了减少这种复杂性并节省开发时间,硅供应商引入了参考设计和工具,可以帮助设计者快速评估网格连接的照明应用。

  本文讨论了自动化应用中mesh网络的需求,并描述了ZigBee和线程在满足这些需求方面的作用。然后,本文介绍了一个从硅实验室连接的照明工具包作为例子。然后,它将展示如何使用它来开发基于ZigBee或线程协议的网状连接的照明应用程序。

  物联网照明关键部件

  随着高性价比LED灯的出现,连接照明在住宅和商业自动化应用中发挥了越来越大的作用。连接的灯光允许用户根据自己的工作和个人喜好来调整工作环境的颜色和强度。

  更先进的自动化系统通过增加占用传感器来扩展基于位置的支持这一基本功能,或者简单地将活动LED灯作为占用指示器。与物联网中的其他应用程序一样,来自这些系统的相关数据进一步为用户提供了各种有用的分析方法。


  网状网络

  为了帮助连接物联网设备,如智能发光二极管,网状通信协议正在迅速成为首选的解决方案,特别是在低功耗应用。在传统的点对点网络中,建筑物一侧的智能LED灯泡需要显著提高其发射输出功率,以到达大楼另一侧的控制器。

  在网状网络中,一个连接的照明设备只需要足够的发射功率来到达另一个相连的光设备。反过来,网状网络中的单个设备通过网络将源节点的消息路由到目标节点。因此,网状网络允许开发人员在不牺牲范围的情况下使用低功耗设备。

  此外,建立在网状网络中的路由机制提供了自愈能力。信息仅仅是改过去失败的节点保持整体服务的可用性。

  对于自动化网络,ZigBee在开发人员中已经成为一种流行的选择,因为它是从低功耗开始设计的。此外,ZigBee联盟认证确保不同厂商之间的互操作性。ZigBee网络可以很容易地从几台设备扩展到数千台。同时,一个单独的ZigBee设备可以提供家庭自动化应用中通常存在的短距离网络,开发人员可以为远程应用部署ZigBee网状网络。

  这些应用程序的开发也成为ZigBee 3引言更直接,减少了单独的应用程序特定的分布杂波到一个通用的应用层称为ZigBee簇库(ZCL)(图1)。

  ZigBee图已经成为自动化系统的首选解决方案。

  图1:ZigBee已成为自动化系统的首选方案,为开发者提供了一套强大的连接服务在ZigBee Pro协议栈和应用程序特定的服务在ZigBee集群图书馆收集(ZCL)。(图像来源:凯利讯半导体)

  最新版本的ZigBee提供了改进的网状网络特性,同时保持了与遗留系统的兼容性。不过,ZigBee没有原生支持互联网协议(IP)与IP网络如本地Wi-Fi网络和互联网连接。

  为了在ZigBee和IP网络之间进行通信,开发人员需要适应消息流通过网关连接每个域,通过在各自的网络格式之间转换报头和地址。此外,开发人员通常需要重新包装和重新应用安全机制的有效载荷。虽然在概念上并不困难,但是这个额外的适应过程增加了网关设备的处理负担,从而增加了消息延迟。

  在基线ZigBee规范中缺乏对IP寻址的支持,促使开发人员寻找诸如线程组中的线程等替代方案。随着ZigBee,线程建立在IEEE 802.15.4物理(PHY)和媒体访问控制(MAC)层。提供IP地址,它增加了一层支持6LoWPAN(IPv6的低功率无线个人区域网络)。线程还处理其他关键网格需求,其中包括最新的路径信息,以加快重路由和增强安全协议将新设备到网状网络的协议。

  然而,对于开发人员来说,通过这些技术实现连接照明之类的应用程序,在创建高效的硬件设计和优化相关软件协议栈上的应用程序方面面临着多重挑战。

  使用Silicon Labs efr32mg12大壁虎802.15.4支持无线单片机和相关的软件,开发人员可以创建低功耗Mesh网络。通过建立一个硅实验室参考设计,开发人员可以进一步加速实现能够利用这些网络的高级应用程序的实现。

  无线微控制器

  802.15.4的可用性使MCUs加快了自动化的应用建立在低功耗网络的增长。设备如efr32mg12单片机集成了完整的一个典型的无线节点设计所需的组件。随着综合广播、大壁虎MCU如efr32mg12p432f1024gm48结合一个40 MHz的32位ARM®皮质®- 1024 KB闪存M4核心,256字节的RAM,以及一套广泛的模拟和数字外设。该器件的模拟互连矩阵让设计者配置器件引脚作为模拟I/O端口集成模拟模块,包括数字模拟转换器(DAC)、模拟比较器、运算放大器,和一个高速12位逐次逼近登记(SAR)模数转换器(ADC)。

  该装置的无线子系统集成了完整的射频接收和发射信号路径包括一个低噪声放大器(LNA)、功率放大器(PA)、频率合成器、信号转换器、和巴伦。因此,设计者可以通过将两个元件LC匹配网络连接到设备的两针2.4 GHz天线接口(图2)来实现低功耗设计的rf端。这两个元素的设计是足够的典型的低功耗物联网设计与适度的RF发射功率的要求(小于13 dBm)。对于具有更高RF发射功率要求的设计,工程师只需要为最后的四元件匹配网络添加另一LC阶段。

  射频接口对Silicon Labs efr32mg12单片机图

  图2:2.4 GHz的802.15.4应用需要射频发射功率小于13 dBm,工程师可以实现射频接口与一个简单的二元LC匹配网络的efr32mg12单片机。(图片来源:凯利讯半导体)

  高效的物联网解决方案

  除了简化射频接口的要求外,MCU的高集成度简化了整个系统的设计。开发人员可以利用只需要额外的外部电容器和电感器的集成DC-DC转换器的优势。作为一个结果,一个efr32系统基线设计需要很少的外部元件超出那些用于电源连接(图3)。

  Silicon Labs的efr32单片机内置DC-DC变换器原理图

  图3:开发商可以大大利用efr32单片机内置DC-DC变换器电源的内部电路降低功耗,包括低射频输出功率要求的射频功率放大器的应用。(图片来源:凯利讯半导体)

  为了减少噪音,可能会影响设备的RF电路集成DC-DC变换器却能提供高达200 mA的单片机和其他外部设备通过其IOVDD销。开发人员还可以使用转换器来提供MCU的内部块。

  权力的I / O,射频模拟和RF PA阶段,连接到转换器的输出vdcdc芯片各引脚(IOVDD,rfvdd和pavdd)。对于具有高RF输出功率要求(高于13 dBm)的应用程序,只需移动高侧电感连接如图3所示的VDD电源。

  使用转换器输出内部数字和模拟块也很简单,需要一个简单的软件设置。开发商可以路由转换器的输出到单片机的数字和模拟模块分别设置在单片机的emu_pwrctrl登记的regpwrsel点和anasw点。

  使用集成DC - DC转换器,不仅在简化设计,而且在最大限度地减少功耗方面有明显的优势。在主动模式与EM0外设禁用,设备消耗大约70μ/ MHz的运行时代码从一个38 MHz的晶体闪光。相比之下,相同的工作条件下运行的设计,但不使用集成DC - DC转换器的功耗上升到约100微米兆赫/兆赫。

  即便如此,集成DC-DC转换器是唯一的几个特点,开发人员可以使用一个efr32降低系统功耗。该设备支持不同的操作模式,允许开发者缩放电压和时钟频率——以性能为代价降低功耗。稍后,开发人员可以简单地放大电压和频率,当应用程序需要更高的性能,然后返回到较低的功率状态。

  与几乎所有的集成MCU设计的物联网设计,单片机为开发人员提供了多种操作模式,可通过将核心和其他子系统在不同的睡眠状态降低功耗。例如,该装置只需要41微安(µ一)/兆赫(MHz)在睡眠模式(EM1)与所有外设禁用。在长期闲置,开发商可以降低功耗3µ在深度睡眠模式(EM2)或2.47µ在停止模式(EM3)充分保留和内部Flash RAM断电。要返回到全活动模式,可以编程设备自动唤醒来自外围设备的中断,或者当rf子系统检测到rf信号时。

  对于某些设计来说,MCU唤醒睡眠所需的时间可能是一个问题。前代MCUs表现出缓慢的唤醒时间,能够接近甚至超过应用所要求的响应时间。有了这些设备,开发人员被迫放弃使用深睡眠模式,接受更高的功耗,以确保系统及时响应。

  相反,从我们停止模式,在短短的3µ的代码执行从RAM唤醒efr32单片机,或约10µ的代码从闪存执行。因此,开发人员可以利用低功耗睡眠模式,而不会对诸如连接照明之类的典型物联网应用程序的响应时间要求产生重大影响。

  连接照明解决方案

  即使有efr32单片机的简化设计的要求,开发人员可以创建一个完整的连接照明应用基于Mesh网络面临重大挑战。除了无线MCU系统之外,开发人员还需要组装合适的缓冲器和接口的LED和LED驱动电路,以完成与MCU的连接。除了这些硬件设计细节外,网状连接应用程序的软件开发需求可能令人望而生畏。

  而不是面对拖延解决这些问题,开发人员可以使用Silicon Labs rd-0098-0401参考设计工具包快速开始探索连接照明应用。基于Silicon Labs efr32mg12p432f1024gm48单片机前面所提到的,该试剂盒提供了一个完整的系统的实现包括LED照明的特点。该工具包的董事会与几个LED MOSFET驱动电路,以及运算放大器缓冲的微处理器引脚用于控制MOSFET门。预装的MCU固件让开发人员立即开始研究与网状网络和LED相关联的不同操作特性。

  相关参考设计提供了一个清晰的路线图,用于开发基于网状网络的各种自动化应用程序。由rd-0098-0401板与Silicon Labs slwstk6000b网格工具和简单Studio软件环境相结合,开发收益用于创建自定义连接照明系统的综合发展框架(图4)。

  Silicon Labs的rd-0098-0401图像连接照明套件

  图4:Silicon Labs rd-0098-0401连接照明套件与Silicon Labs slwstk6000b网格工具包和ZigBee网关连接灯泡和评价开发定制的自动化应用提供了一个综合平台。(图片来源:凯利讯半导体)

  如图所示,开发者可以添加任何兼容ZigBee网关如Silicon Labs rd-0001-0201 Wi-Fi网关或Silicon Labs rd-0002-0201 USB虚拟网关连接兼容ZigBee设备在更复杂的自动化应用。也许这个开发平台最关键的部分,即简单的Studio软件环境,极大地改进了应用软件开发。

  开发框架

  在创建一个ZigBee应用程序时,开发人员在图1所示的ZigBee体系结构中表示的每一层都面临特定的功能需求。而802.15.4兼容的硬件支持的最低层,开发商就确保他们的软件提供的特定功能,预计到ZigBee架构的其他层的任务。商业的ZigBee协议栈如Silicon Labs emberznet协议栈地址的中间层,但开发商仍然负责在应用层面进一步解决的要求(图5)。

  硅实验室图像堆栈ZigBee网状网络

  图5:硅实验室堆栈提供了ZigBee网状网络所需的广泛服务,但开发人员仍然负责应用程序级的补充功能。(图片来源:凯利讯半导体)

  对于软件开发人员来说,在像ZigBee这样的丰富框架中处理多个依赖项和跨层的交互是非常具有挑战性的。然而,使用硅实验室余烬应用程序框架,他们可以更专注于更高级别的应用程序代码,而不是底层机制。

  通过简单的工作室提供,Silicon Labs的Ember ZigBee网状框架简化了应用开发的编程模型建立在回调。回调提供应用级代码参与业务处理在较低的服务水平的机制,基本上是提供一个事件驱动的入口点进入底层机制。在某些情况下,通常是在关键处理部分之前或之后,较低的服务例程发出回调,这仅仅是调用开发人员提供的函数,该函数执行自己的操作集。

  回调编程模型在复杂的框架中提供了许多好处。例如,余烬框架使用回调过程与开发者的应用程序特定的代码的新信息,对较低层次的服务函数执行之前。在这种方式中,回调不仅提供了应用开发者的清洁框架接口,而且保证之间提供了框架开发的应用程序代码和代码的分离。Silicon Labs预计,该框架能够处理开发人员可能遇到的任何情况,如果开发人员面临需要将应用程序代码添加到框架中的情况,则认为它是一个框架错误。

  尽管框架及其回调模型已经隐藏了底层服务体系结构的复杂性,但简单Studio提供了一种更简单的应用程序开发方法。在这里,开发者可以使用简单的工作室内的余烬AppBuilder要通过一系列的菜单中选择创建应用程序。在这些选项中,AppBuilder给开发商一系列实施特定的集群如颜色控制在标准的ZigBee簇库支持的功能插件(ZCL)应用层。

  随着相关软件模块,每个插件提供了默认值,如报告间隔以及具体的回调与特定的集群功能有关(图6)。

  Silicon Labs的简易工作室AppBuilder图像

  图6:与Silicon Labs简约工作室AppBuilder,开发者只需选择插件的设置(左图)需要实现应用程序的功能包括相关的回调(右下)。(图片来源:凯利讯半导体)

  AppBuilder提供了需要实现的基本功能包括集群具体回调的完整的源代码。如清单1所示,回调的范围可以从简单的几行代码发出停止命令(emberafcolorcontrolclusterstopmovestepcallback()),例如,显着更复杂的代码需要转换目标LED的从一种状态到另一种颜色(emberafcolorcontrolclustermovetocolorcallback())。检查默认回调后,开发商可以实现自己的回调函数版本甚至创建自己的插件。

  emberafcolorcontrolclusterstopmovestepcallback bool(空)

  {

  在收到停止命令/。这就是we need to do。

  stopallcolortransitions();

  emberafsendimmediatedefaultresponse(恩伯_时差_成功_状态);

  返回True;

  }

  。

  。

  。

  emberafcolorcontrolclustermovetocolorcallback UInt16 _ colorx bool(t,

  T _ UInt16彩衣,

  _ UInt16 transitiontime)T

  {

  _ uint8(T)= emberafcurrentendpoint终点;

  if(transitiontime==0){

  transitiontime++;

  }

  / /新的命令。transitions need to any主动停止。

  stopallcolortransitions();

  //handle彩色模式过渡,如果必要的。

  handlemodeswitch(彩色模式_端点,_ _ CIE xy);

  //现在,茶机揭幕了。

  colorxtransitionstate.initialvalue = readcolorx(终点);

  colorxtransitionstate.currentvalue = readcolorx(终点);

  colorx colorxtransitionstate.finalvalue=;

  transitiontime colorxtransitionstate.stepsremaining=;

  transitiontime colorxtransitionstate.stepstotal=;

  colorxtransitionstate.endpoint =终点;

  colorxtransitionstate.lowlimit CIE xy = min _ _ _值;

  colorxtransitionstate.highlimit _ CIE xy _ _=最大值;

  colorytransitionstate.initialvalue = readcolory(终点);

  colorytransitionstate.currentvalue = readcolory(终点);

  colorytransitionstate.finalvalue =彩衣;

  transitiontime colorytransitionstate.stepsremaining=;

  transitiontime colorytransitionstate.stepstotal=;

  colorytransitionstate.endpoint =终点;

  colorytransitionstate.lowlimit CIE xy = min _ _ _值;

  colorytransitionstate.highlimit _ CIE xy _ _=最大值;

  writeremainingtime(端点,transitiontime);

  /:揭幕了茶机

  embereventcontrolsetdelayms(彩色_ _ XY控制,_ _ MS更新时间);

  emberafsendimmediatedefaultresponse(恩伯_时差_成功_状态);

  返回True;

  }

  清单1:简单的插件提供的硅实验室的研究与appbuilder回调包括特异性功能性,developers replace with which can as needed回调函数或他们自己的插件。

  从ZigBee迁移到线程

  在硅实验室环境中,开发人员可以利用从ZigBee到线程的一个相当简单的迁移路径。在最低水平,硬件配置简单Studio生成输出(HAL配置。H),可以直接使用堆栈的软件开发工具包(SDK)的ZigBee,线程,甚至专有协议使用Silicon Labs无线抽象接口层(轨道)与Silicon Labs的Flex SDK库(图7)。

  硅实验室环境图有助于简化应用程序的迁移

  图7:除了使用共同的硬件配置格式外,硅实验室环境有助于简化包括ZigBee和线程在内的不同协议之间的应用程序迁移。(图片来源:凯利讯半导体)

  Silicon Labs的线程栈允许开发人员将更高级别的ZigBee应用程序功能移植到线程中。作为物联网连接的ZigBee联盟的dotdot语言实现部分,Silicon Labs使用ZCL IP(ZCL / IP)在执行线程的应用层包括在其线程堆栈。在支持dotdot,ZCL / IP的目的是进一步推广应用层功能的ZigBee架构不同的传输类型。它的线程堆栈,Silicon Labs利用这种普遍性通过提供协议实现(约束应用协议)作为一种螺纹标准的传输协议。

  ZCL / IP映射的一些其他的ZigBee的实体,属性和命令,直接到线程IP网络模型。因此,开发人员可以更容易地访问迁移到线程的值。更容易,开发人员可以简单地选择一个线程执行的Silicon Labs rd-0098-0401连接照明演示简单工作室AppBuilder。与ZigBee演示,开发人员可以立即开始探索线程性能或使用AppBuilder生成的样本应用程序作为自己的基于线程的自动化应用的基础。

  结论

  LED照明自动化已迅速成为智能家居和智能建筑的流行特征。在这些自动化系统的基础上,网状网络支持在需要高功率射频收发器的范围内连接灯和控制系统的低功耗操作。然而,在开发这些网状网络系统时,开发人员在实现网状能力的硬件和软件方面面临多重挑战。

  组合使用,Silicon Labs rd-0098-0401连接照明套件和Silicon Labs slwstk6000b网格工具包创建网格连接的照明系统提供一个完整的硬件平台。通过硅实验室的简易工作室,开发人员可以快速评估完整的ZigBee和基于线程的连接照明应用程序,或者使用这些示例应用程序构建定制的网状网络自动化应用程序。

利用ZigBee和线程快速构建网格连接的照明应用相关推荐

  1. 问答知识库快速构建技术解析及行业实践

    对话式AI类产品,已经在各行各业中实现规模化的应用.随着科技创新支撑下的高质量行业发展,人工智能已成为数字经济时代的核心生产力.其中对话式AI,作为人工智能技术的一个分支,随着深度学习.预训练模型等技 ...

  2. 利用JMail组件快速构建邮件程序

    当你需要在VC程序中提供邮件支持功能的时候,你有许多种选择: 1)根据SMTP,POP3,MIME等协议从零开始实现.这要求熟悉RFC 821,RFC 822,RFC 1123, RFC 1652, ...

  3. 利用eyoucms快速构建网站

                                利用eyoucms快速构建网站 1.最近公司需要做一个简单的宣传网站,并且需要前后台!网站地址:http://47.104.177.254 2. ...

  4. ChatGPT全栈开发实战:从需求分析到数据可视化,一站式指南助你快速构建全面应用

    <ChatGPT全栈开发实战:从需求分析到数据可视化,一站式指南助你快速构建全面应用>是一本旨在引领我们进入全栈开发世界的综合指南.通过结合强大的ChatGPT技术和全栈开发的实践,我们将 ...

  5. 2021FME博客大赛 —— 基于FME的电子地图道路面快速构建方法研究

    作者:吴国华 随着基础测绘成果应用的不断推广,电子地图数据的快速生产与更新的需求成为近年来备受关注的热点问题.道路面作为电子地图中主要地物要素有着举足轻重的作用,针对电子地图中道路面生产和更新的应用需 ...

  6. 用Flutter + Dart快速构建一款绝美移动App

    作者 | Wojciech Kuroczycki 译者 | 弯月 来源 | CSDN(ID:CSDNnews) 如今,与前端或移动相关的新框架层出不穷.所有从事Web开发的人都应该熟悉各种目不暇接的新 ...

  7. 如何快速构建服务发现的高可用能力

    作者:十眠 背景 注册中心作为承担服务注册发现的核心组件,是微服务架构中必不可少的一环.在 CAP 的模型中,注册中心可以牺牲一点点数据一致性(C),即同一时刻每一个节点拿到的服务地址允许短暂的不一致 ...

  8. 如何一站式快速构建企业全场景数据库管理平台?

    简介:Gartner 的报告显示预计到2022年将有75%数据库将采用云数据库,与此同时,IDC预计到2024年传统部署数据库市场将达到13亿美元,企业数字化转型升级,积极拥抱开源.云原生数据库成为重 ...

  9. 产品解读 | 敏捷版数据库场景 一站式快速构建企业全场景数据库管理平台

    简介:Gartner 的报告显示预计到2022年将有75%数据库将采用云数据库,与此同时,IDC预计到2024年传统部署数据库市场将达到13亿美元,企业数字化转型升级,积极拥抱开源.云原生数据库成为重 ...

最新文章

  1. visual2017中给C#项目添加配置文件
  2. 银光中国网免费Silverlight空间Web Service部署方法
  3. 一起谈.NET技术,获取ISAPI_Rewrite重写后的URL
  4. TThread深入分析
  5. boost::log模块实现如何同时对多个文件执行日志记录的测试程序
  6. leetcode 235. 二叉搜索树的最近公共祖先 思考分析
  7. [css] 如何消除transition闪屏?
  8. HDU2188 选拔志愿者【巴什博弈】
  9. bootstarp怎么使盒子到最右边_江湖救急!盒子显示“很抱歉Launchercust 已停止运行” ?...
  10. url后面的参数是什么_揭秘亚马逊黑科技之超级URL原理
  11. Android 仿ios四级联动地址选择器
  12. 软件测试的环境部署怎么做?
  13. 【计算机游戏开发】游戏交互界面设计
  14. android sdcard 不存在,安卓手机真机运行时找不到sdcard?
  15. imple-unpack---攻防世界
  16. 教你一步一步实现图标无缝变形切换
  17. 【软件工程】软件工程知识点提纲8
  18. java不足位数补0
  19. linux 格式化 4k对齐,硬盘WD10EARS在FreeNas的格式化方法,4k对齐的问题
  20. 微信开发-aes解密失败

热门文章

  1. 通达OA任意文件上传/文件包含RCE漏洞分析
  2. 机器学习(ML)中文视频教程
  3. C# WPF动点任意移动气泡画法(解决方案使用到数学勾股定理、正弦定理、向量知识)。
  4. 联合索引(复合索引)和单个索引
  5. Linux 音频驱动(四) ASoC音频驱动之Machine驱动
  6. 知识图谱嵌入经典方法(Trans系列、KG2E)
  7. 年终回顾(二):物流机器人篇
  8. 章节十四:Scrapy框架
  9. 802.11网络协议细节(五)
  10. 从移动到桌面—ARM挑战X86