基于Android和ZigBee的智能家居系统设计

点赞:9057 浏览:34543 近期更新时间:2024-04-06 作者:网友分享原创网站原创

摘 要:在未来世界的家居生活中,智能家居是不可扭转的趋势,它使得人们的生活更加便利、舒适和安全.根据人们实际生活的需求,结合Android平台、ZigBee无线传感技术与ARM技术,设计与实现了智能家居控制系统,该系统可以实现家用电器的开关,窗帘、窗户或者帷幕等电机开关的控制,还可以采集环境信息,具有家庭安防的功能.实践表明:本系统操作简单,性能稳定,易于升级和维护.

关 键 词:智能家居;ZigBee;Android

中图分类号:TP273.5;TN925

随着智能家居热潮在世界范围内的日渐兴起,随着中国电子技术的飞速发展、人们生活水平的不断提高以及智能电子技术在生活中的广泛应用,智能家居已经成为未来家居装饰潮流发展的最新方向.人们对家居的要求早已不只是物理空间,人们更进一步关注的是一个安全、舒适、方便的居家环境.家居智能化也在这种形势下应运而生了.智能家居系统相关技术正朝着一下几个方面发展:组网技术由有线向无线发展,硬件平台性能日益提高,设计事项功能模块化及系统平台智能化,远程控制实现多样化,个性化.

1系统总体设计

本智能家居系统由ARMCortex-M3内核的STM32系列处理器、一个CC2530协调器节点、若干温湿度传感器节点、若干继电器开关节点等组成,功能模块中的各个节点采集温度、湿度、继电器开关的状态通过ZigBee协议与协调器进行数据传输、存储及命令的传送.

2Zigbee无线网络的建立

ZigBee网络主要通过2个步骤完成组建:网络初始化和终端节点加入网络.当ZigBee节点完成了网络初始化工作后,协调器会周期性的发送信标帧,只有ZR或者ZED节点接收到信标帧,才能够建立网络,从而进行数据的发送与接收.ZigBee网络组网流程如图1所示:

当节点成功组网后,ZED将在指定的报告周期时间内,通过zb_SendDataRequest原语向ZC发送状态数据包.ZC通过RS-232接口将数据包转发到Android模块,然后通过Socket将数据包传递到用户终端.

3Android智能终端软件设计与实现

当ZigBee无线传感器网络建立完成后,用户还不能如愿的获取环境信息与进行家居控制,这时就需要设计一款界面友善、人性化、功能丰富的人机界面软件,在考察了现阶段各种智能家居网络上位机选用情况后,本文决定使用智能终端作为上位机.又考虑到目前Android平台占智能终端大部分市场份额的实际情况,所以,最终决定在Android平台上编写应用以实现智能家居系统的采集与控制.软件的具体结构如图2所示.

基于Android和ZigBee的智能家居系统设计参考属性评定
有关论文范文主题研究: 终端类论文范文 大学生适用: 学院论文、函授论文
相关参考文献下载数量: 56 写作解决问题: 写作参考
毕业论文开题报告: 论文模板、论文目录 职称论文适用: 职称评定、职称评中级
所属大学生专业类别: 写作参考 论文题目推荐度: 优秀选题

从软件设计的角度出发,要实现Android智能终端充当本系统上位机,最主要的两个需要解决的问题是:Android智能终端与ZigBee协调器之间的串口通信;Android智能终端之间通过GPRS网络的Socket通信.

3.1Android终端与ZigBee协调器端口通信

Android终端作为智能家居的控制器,解决Android设备和ZigBee网络中的网元通信是关键问题.在ZigBee网络中,Android设备和ZigBee协调器可通过相应的端口连接以实现它们之间的通信,不同的Android设备可能端口不同,但是对端口的获取和操作的过程是一样的,首先要在HAL层获取到某个端口的ID,在Linux中,HAL层驱动是在Linux文件系统的dev文件夹下,只需要加载相应的驱动文件,就可以获取到相应的端口;然后,在控制台设置这个端口的读写权限,打开这个端口;最后,根据需要传输的数据格式,使用相应的输入输出流传输和接收数据,当程序完成操作后关闭相应的端口,以免数据溢出.


系统中的ZigBee节点采用了串口作为编译、调试与通信端口,Android终端主控制器S3C2410与无线收发芯片CC2530之间采用异步串口的方式进行通信.S3C2410片内集成有USART,简单设置后即可工作于异步模式.异步数据格式和ZigBee通信协议帧相同.

3.2Android终端之间Socket通信

当Android终端通过串口接收到来自ZigBee协调器的数据后,用户只能在本地的Android终端上获取环境信息发送控制命令,为了实现用户远程登录本系统,本文又引入了第二个Android终端,其中本地终端作为数据的收集者通过无线通信公网建立Socket连接将数据转发给异地终端,异地终端也可以通过相同的Socket连接将控制命令发送给本地终端,然后再由本地终端通过串口传输至ZigBee协调器,从而实现对ZigBee网络中设备的控制.

4系统运行效果与分析

为了验证智能家居网络的有效性,测试网络各个性能参数,搭建了ZigBee测试网络,该测试网络可以实现环境数据的采集与显示,可以通过终端设备控制网络中的节点对象,从而实现智能家居的控制功能.Android终端应用如图3,图4所示.

图3,图4应用程序分为协调器端和用户终端两种,其中协调器端应用包含了端口通信程序和Socket通信程序,在初始界面中有4个选项,端口设置、怎么写作器设置、智能家居和退出选项.端口设置选项中可以对Android设备的通信端口和对应的波特率进行设置,Android可以通过cd/dev文件来发现新的端口,包括串口、USB口和MINIUSB口等.怎么写作器设置的作用是通过用户自己输入的怎么写作器IP地址和怎么写作器建立Socket链接,从而实现数据的远程发送与接收.智能家居选项是APP的主体应用,在设置好端口和怎么写作器后进入智能家居菜单,这样程序就开始接收ZigBee协调器发送来的信息,通过建立好的Socket连接发送到用户终端的应用中.用户终端的应用程序采用了比较简洁的操作界面,当用户点击刷新按钮时发送更新数据请求到协调器端,协调器接收到请求后发送实事的环境信息给用户终端.

5结束语

本文根据人们实际生活的需求,设计了基于ZigBee无线传感器网络的智能家居系统,本系统可以采集环境信息,控制继电器实现家用电器的开关,控制电机开关家里的窗帘、窗户或者帷幕,控制嗡鸣器的家庭安防功能.实践表明,本系统由于采用对等的Android控制模式,减少了发送端GPRS模块和用户终端硬件与软件的开支,达到了预期的系统功能和性能指标.