基于XBee无线技术的智能家居监控系统硬件设计和软件设计

发布时间:2024-09-20  

1 引言

智能家居系统控制方式主要是有线网络和无线网络两种方式。有线方式,顾名思义就是需要通过布电缆来组网。此种组网方式比较传统,历史悠久,技术发展相对成熟,可靠性高,但由于其需要实体布线所带来的布线繁琐,线路容易损坏,可扩展性和可移动性差等不可避免的问题,有线网络方式将逐渐被无线网络方式取代。无线网络则凭借着其良好可移动性和扩展性以及勿需额外布线和不受距离控制等优点,从而灵活流动地对可控点进行控制,这样的特点更加符合家庭网络的通信需求,因此基于无线网络技术的智能家居系统越来越受到人们的关注。目前,无线网络技术已经深入到人类生活的各个方面。无线方式种类繁多,应用较为广泛的无线技术有蓝牙、红外技术、超宽带等等。各种技术各有自身特点,当中以新兴的ZigBee技术的出现填补了低速率端无线通信技术的空缺,能很好地解决智能家居系统的设计遇到的问题。ZigBee技术是一种几乎能够应用到所有行业的低数据率的无线通信技术。

XBee无线技术是一款基于IEEE 802.15.4标准的无线协议且与ZigBee协议兼容的无线模块。作为一种新兴的无线通信技术,它是一种省电、远距离、时延短、低功耗的数传模块,主要应用于智能家居,远程控制,无线抄表,无线检测等方面。本文主要以智能开/关窗帘为例,说明智能家居与普通家居不同在于不仅具有传统普通家居的居住功能,更引人注意的由于采用了XBee无线技术,使得智能家居具有智慧能动性,优化升级生活方式。


2 系统功能

基于XBee无线技术的智能家居主要通过无线遥控模块(XBee模块)实现对家居环境的监控。本文的智能窗帘控制系统是按照点对点通信方式进行设计。利用专用软件X-CTU配置任意一个XBee模块为协调器coordinator API端的作为控制端,它实现的功能是发送数据给任意一个配置为终端router API端的XBee模块,控制各个终端节点的工作,并通过RS232串口连接到上位机监控界面,从而实现对各个终端节点的远程控制。本文主要实现智能窗帘的开与关,其系统功能框图如图1所示。

基于XBee无线技术的智能家居监控系统硬件设计和软件设计

图1 系统功能框图

3 硬件设计

智能窗帘硬件主要采用一个带有RS232串口或USB接口转接电平转换器的工控机(平板电脑),Arduino控制器,继电器,电动窗帘(含导轨)等。其中,通信的最关键部分就在于通信模块的设计。本文的通信模块的设计主要采用了由无线通信元件制造商MaxStream生产的一款mini型ZigBee收发模块XBee Series 2模块。 XBee模块需两块,一块是安装在PC机(上位机)控制发送端,一块是作为Arduino控制器的无线接收端,具体硬件需求清单见表1所示。

基于XBee无线技术的智能家居监控系统硬件设计和软件设计

表1硬件需求表

3.1上位机控制发送端硬件设计

上位机切换窗帘的三个开关状态(打开窗帘、关闭窗帘、停止窗帘),按着一定的通信协议通过串口发送控制信息给与上位机USB相连的XBee模块(协调端节点A),然后通过无线网络发送控制信息到Arduino无线接收端的XBee模块(终端节点B)。上位机主要实现切换、判断和发送三个功能。协调端节点A端指令主要内容包括终端节点B模块的地址,要发给终端节点B模块的信息等内容。

为了实现协调端节点A、终端节点B两个XBee模块互相发送消息。利用XBee USB适配器对XBee模块进行配置,通过软件X-CTU将其中的一个模块节点配置成coordinator API(协调端节点)模式,其他的均配置成router API(终端节点)模式,确保这两个节点在同一个网络内。这样两个节点之间就能按照XBee的通信协议进行数据传输。

3.2 Arduino控制器的无线接收端硬件设计

Arduino控制器是一块基于开始原始代码的Simple i/o平台,并且具有开发语言和开发环境都很简单、易理解的特点。它使用高速的微处理控制器(ATMEGA328),可简单地与各类传感器、电子元件连接。

Arduino主要性能描述:

Ø Digital I/O 数字输入/输出端共0-13。

Ø Analog I/O 模拟输入/输出端共0-5。

Ø 输入电压:接上USB时无须外部供电或外部5V-9V直流电压输入。

Ø 输出电压:5V直流电压输出和3.3V直流电压输出和外部电源输入。

利用Arduino控制器的上述特性,本文在接收端处将终端节点XBee模块直接与Arduino控制器相连,当该XBee收到控制信息后,Arduino控制器则输出5v直流电压供后接继电器吸合,从而控制智能窗帘开与关。


图2 Arduino控制器

4 软件设计

针对基于XBee无线技术的智能窗帘功能,通过程序远程控制实现该功能的软件设计主要包括两部分:一部分是代步智能机器人上平板电脑(上位机)中的无线发送模块的程

序,另一部分是远程数据控制器Arduino(下位机)中的无线接收模块的程序。前者采用面向对象的可视化语言VC++编写,后者采用Arduino语言编写。

用户通过操作上位机控制界面按钮(打开窗帘、关闭窗帘、停止窗帘),远程控制窗帘电机的正反向旋转,实现对智能窗帘的开关操作。当鼠标移动到某个区域时,调用相应的控制指令,再通过控制系统实现远程控制电动窗帘的运动。其中,窗帘开关到头时,自动撤销驱动信号,使窗帘运动停止。窗帘需要停靠在任意状态时,在窗帘运动中按界面停止窗帘按钮即可。

4.1上位机控制界面的软件实现

上位机和XBee(coordinator API端)之间的通信是通过串口通信来完成。

首先使用ND命令查找网络中的节点信息,发送的数据位:0x7E 00 04 08 09 4E 44 5C,确保协调端节点和终端节点在同一个网络。

其次,利用无线网络XBee模块之间的通信协议,coordinator API端向router API端发送自己定义的相关字符(以打开窗帘为例发送字符K),具体数据如表2所示。

基于XBee无线技术的智能家居监控系统硬件设计和软件设计

表2 发送数据

按照以上的通信协议,上位机PC机上开发了一个基于Windows系统的人机交互的控制界面,用来相应鼠标的移动和点击,主要负责与用户进行交互,同时反馈家电状态信息,控制界面如图3所示。


图3 控制界面

如图3所示,智能窗帘的监控界面是由六个按键和两个文本框构成。其中,通讯模式方框中的模式切换按键用来切换智能家居的控制方式是物联网模式或是GSM模式,文本框中用来显示当前的控制方式。智能开关方框中左边两个按键是控制电灯的工作状态,右边三个按键是控制窗帘的工作状态。短信模式方框中是显示短信的具体内容。本文主要介绍的是无线网络物联网模式下的智能窗帘的控制,因此GSM控制方式此处不做介绍。

4.2无线接收端的软件实现

无线接收端主要由Arduino控制器、作为router API端的XBee模块(终端节点)、继电器和电动窗帘构成。当终端节点收到相应字符,Arduino控制器则输出5v。具体软件流程图如图4所示(以打开窗帘为例进行说明)。

基于XBee无线技术的智能家居监控系统硬件设计和软件设计

图4下位机软件模块设计

5 结束语

本文完成了智能代步机器人智能家居监控系统的硬件设计和软件设计,并进行了调试,验证了所设计系统的有效性和实用性。其创新点在于将Xbee模块引入传统的家电通信控制,相对于以往的有线家电通信控制,省去了综合布线难度,同时节约了成本,增加了可控点的灵活性。本文只给出了一个点对点的一个实例,按着这种思路,稍加扩展就可实现大面积智能家居。随着无线通信技术的发展和成熟,无线通信在未来的智能家居技术中必然会得到越来越广泛的应用,具有广阔的应用前景。


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>