基于 LonWorks 总线的智能家居系统设计
扫描二维码
随时随地手机看文章
引言
智能家居以住宅作为平台,综合利用计算机、网络通信、家电控制、综合布线等技术,将家庭智能控制、信息交换、安防监控等家居生活有效结合起来,创造出高效、安全、舒适、便捷的个性化住宅空间。
LonWorks是美国Echelon公司推出的现场总线技术,该总线可为智能控制系统提供一套完整的解决方案,其核心技术是LonTalk协议和神经元芯片。其中,神经元芯片都内嵌有LonTalk协议的固件,同时神经元芯片还具有通信和控制功能,可提供34种常见的I/O控制对象。LonWorks网络采用分布式结构,实现网络上节点相互通信。LonWorks作为一种开放、互操作、全数字的现场总线技术,以实时性好、灵活性好、可靠性高等特点,赢得了相关领域的生产商、研究机构和用户的青睐.得到了极为广泛的应用叫LonWorks产品中的的电力线收发器不需要另外布线,可使各种设备组成智能网络进行数据测控与通信,而且组网维护十分方便。所以,本文采用LonWorks现场总线技术来设计智能家居系统。
1系统架构
智能家居系统的底层设备需要有数据采集、设备控制、网络数据传输和数据处理等功能。设计时可以将智能家居系统划分为感知层、网络层和应用层3个层次。
感知层包括所有搭载神经元芯片的智能节点,节点使用电力载波的通信方式组成LonWorks网络。这样组网的最大优势是不用重新布线,而使用现有电力线就能架设网络,使得组网更方便。底层终端可以大致分为安防报警类、环境监控类、家电控制类、设备管理类等。
网络层包括运行着LNSServer软件的服务器和网关,服务器通过网络接口与LonWorks网络上的设备进行通信,并能直接对现场的各种设备进行监控与管理。LNS服务器上还能建立一个Web服务器,以将数据通过Web站点发布到互联网上去。
应用层是用户和系统的接口,利用友好的界面完成用户与系统的信息交互过程。用户的终端可以是PC机、手机、平板电脑等。图1所示是其系统总体结构图。
2 设计方案
2.1 智能节点的设计
在本系统中,智能节点使用单片机作为主控控制器,神经元芯片作为通信协议处理器,图2所示是其智能节点的构架图。单片机和神经元芯片之间使用串口协议进行通信,使用单片机作为主控制器的优点在于外围电路开发方便,相应技术也比较成熟。用神经元芯片作为通信协议处理器使得增加、移动和改变设备可以快速实现,网络图和数据库的维护也比较简单间。
本系统要对尽可能多的电器实现自动控制,但是目前家庭自动化产品还比较少,不能够经过系统直接控制。所以,本设计采用其他方式进行间接控制。本系统中的间接控制主要采用电源控制和红外遥控。
对于没有自动控制功能的产品(比如电扇、台灯、电暖箱等),这些普通家电的控制可以通过对其电源开关的控制来实现自动化。这些普通家电的身份识别问题,可以使用RFID射频标签来解决。电子标签除了微型芯片IC以及一个高效率天线外,无任何其他元件,所以,可以方便地贴在电器插头上。电源控制的智能节点外围电路部分主要包括射频读写模块、与射频读写模块配合使用的天线外围电路及220V交流电控制电路。其结构如图3所示。系统运行时,当单片机读取到数据后,可通过串口将数据发送给神经元芯片,神经元芯片再将其发送到LonWorks网络中。上位机获得LonWorks网络中的数据后,便可以根据相应规则进行系列自动控制。
一般家庭中还有一些可以通过红外遥控的电器(如电视、空调等)。这些电器不能直接与系统进行通信,但是可以通过红外遥控来控制。因为现在的红外遥控编码非常多,本设计使用带学习型红外遥控[7]功能的智能节点,并通过将节点布置在相应位置来实现系统对这些电器的控制。其节点结构如图4所示。
图3 电源控制的智能节点外围电路
图4 学习型红外遥控智能节点外围电路
2.2通信协议处理器
本设计中,通信协议处理器选用型号为PL3150的神经元芯片。PL3150是Echelon公司推出的一款电力线智能收发器。PL3150智能收发器采用窄带BPSK调制解调技术,具有双频调制的特点,能够在主要通信频率被阻塞时启用预备频率工作,从而提高整个系统的稳定性。PL3150电力线智能收发器的12个I/O管脚可以通过编程配置成38种预定义标准输入/输出模式。本系统中,PL3150采用Serial(半双工异步串行)输入/输出对象与单片机进行通信,该I/O对象类型用于使用异步串行数据格式传输数据,波特率可设置为600b/s,1200b/s,2400b/s或4800b/s。在该方式下IO8弓I脚为串行输入,IO10引脚为串行输出,它们分别与单片机的P1.7和P1.6引脚连接。整个电力线收发器的电路结构如图5所示。
图5 LonWorks电力线收发器电路示意图
3软件设计
3.1智能节点软件设计
智能节点的软件设计主要分为两部分:一部分是单片机的监控程序,另一部分是神经元芯片的通信程序。
单片机的电源控制智能节点程序可采用模块化设计。主程序主要完成系统的初始化、接收数据的处理、数据的发送和控制功能。电子标签的信息采集通过中断完成,中断服务程序负责对采集到的数据进行处理,并通过串口将数据发送至神经元芯片。串口中断服务程序则负责接收上位机的控制命令。
神经元芯片的通信程序采用NeuronC语言编写。作为通信处理芯片的神经元芯片用于完成与上位机系统和单片机的通信任务。神经元芯片与上位机系统的通信协议是在固件的控制下完成的,具体的实现方式有网络变量和显式报文两种方法。本设计在程序中定义了输入、输出网络变量,可将待接收、发送的数据赋给相应的网络变量,这样,只要网络变量的值有更新,新的值就会传送到相应的位置。神经元芯片与单片机的通信程序由初始化程序和预定义事件处理程序构成。初始化程序主要完成I/O端口的功能配置、网络变量的定义、缓冲器大小的定义等。预定义事件处理程序是通过事件触发的,当定义的事件发生时,神经元芯片会执行相应的处理程序,其程序流程如图6所示。
图6 神经元芯片程序流程图
3.2上位机软件设计
图7所示是远程监控系统的结构图。图7中的LonWorks网络底层为智能节点,中间层有数据库、VB应用程序和LNSDDE服务器。Web层有Web服务器、Internet网络和远程用户终端。LNSDDE服务器负责将底层智能节点的数据传输到VB应用程序中,并通过ADO数据库访问技术实现信息与数据库的交换。当远程终端向Web服务器发出请求时,Web服务器会检索信息数据库,并返回相应信息给远程终端的浏览器。
4结语
为了验证系统硬件设计及软件设计的可靠性,笔者对系统的通信、组网、互操作性能等进行了一些必要的测试。测试表明,该控制器节点的硬件设计、软件设计均能够满足系统设计的要求。本智能家居系统不仅大大缩短了组网时间,还能提高系统的可靠性和灵活性。
基于LonWorks总线的智能家居系统设计简单、可靠、实用,而且在进行系统设计时还采用了分布于生产现场的电力线作为通信线路,更使得整个数据采集系统具有了安装简单、传输线路广泛的特点。本系统可以向居住者提供一个安全、舒适、便利、高效的居住生活环境。
20211017_616c47eac8995__基于LonWorks总线的智能家居系统设计