论文部分内容阅读
摘 要:在未来世界的家居生活中,智能家居是不可扭转的趋势,它使得人们的生活更加便利、舒适和安全。根据人们实际生活的需求,结合Android平台、ZigBee无线传感技术与ARM技术,设计与实现了智能家居控制系统,该系统可以实现家用电器的开关,窗帘、窗户或者帷幕等电机开关的控制,还可以采集环境信息,具有家庭安防的功能。实践表明:本系统操作简单,性能稳定,易于升级和维护。
关键词:智能家居;ZigBee;Android
中图分类号:TP273.5;TN925
随着智能家居热潮在世界范围内的日渐兴起,随着中国电子技术的飞速发展、人们生活水平的不断提高以及智能电子技术在生活中的广泛应用,智能家居已经成为未来家居装饰潮流发展的最新方向。人们对家居的要求早已不只是物理空间,人们更进一步关注的是一个安全、舒适、方便的居家环境。家居智能化也在这种形势下应运而生了。智能家居系统相关技术正朝着一下几个方面发展:组网技术由有线向无线发展,硬件平台性能日益提高,设计事项功能模块化及系统平台智能化,远程控制实现多样化,个性化。
1 系统总体设计
本智能家居系统由ARM Cortex-M3内核的STM32系列处理器、一个CC2530协调器节点、若干温湿度传感器节点、若干继电器开关节点等组成,功能模块中的各个节点采集温度、湿度、继电器开关的状态通过ZigBee协议与协调器进行数据传输、存储及命令的传送。
2 Zigbee无线网络的建立
ZigBee网络主要通过2个步骤完成组建:网络初始化和终端节点加入网络。当ZigBee节点完成了网络初始化工作后,协调器会周期性的发送信标帧,只有ZR或者ZED节点接收到信标帧,才能够建立网络,从而进行数据的发送与接收。ZigBee网络组网流程如图1所示:
当节点成功组网后,ZED将在指定的报告周期时间内,通过zb_SendData Request原语向ZC发送状态数据包。ZC通过RS-232接口将数据包转发到Android模块,然后通过Socket将数据包传递到用户终端。
3 Android智能终端软件设计与实现
当ZigBee无线传感器网络建立完成后,用户还不能如愿的获取环境信息与进行家居控制,这时就需要设计一款界面友善、人性化、功能丰富的人机界面软件,在考察了现阶段各种智能家居网络上位机选用情况后,本文决定使用智能终端作为上位机。又考虑到目前Android平台占智能终端大部分市场份额的实际情况,所以,最终决定在Android平台上编写应用以实现智能家居系统的采集与控制。软件的具体结构如图2所示。
从软件设计的角度出发,要实现Android智能终端充当本系统上位机,最主要的两个需要解决的问题是:Android智能终端与ZigBee协调器之间的串口通信;Android智能终端之间通过GPRS网络的Socket通信。
3.1 Android终端与ZigBee协调器端口通信
Android终端作为智能家居的控制器,解决Android设备和ZigBee网络中的网元通信是关键问题。在ZigBee网络中,Android设备和ZigBee协调器可通过相应的端口连接以实现它们之间的通信,不同的Android设备可能端口不同,但是对端口的获取和操作的过程是一样的,首先要在HAL层获取到某个端口的ID,在Linux中,HAL层驱动是在Linux文件系统的dev文件夹下,只需要加载相应的驱动文件,就可以获取到相应的端口;然后,在控制台设置这个端口的读写权限,打开这个端口;最后,根据需要传输的数据格式,使用相应的输入输出流传输和接收数据,当程序完成操作后关闭相应的端口,以免数据溢出。
系统中的ZigBee节点采用了串口作为编译、调试与通信端口,Android终端主控制器S3C2410与无线收发芯片CC2530之间采用异步串口的方式进行通信。S3C2410片内集成有USART,简单设置后即可工作于异步模式。异步数据格式和ZigBee通信协议帧相同。
3.2 Android终端之间Socket通信
当Android终端通过串口接收到来自ZigBee协调器的数据后,用户只能在本地的Android终端上获取环境信息发送控制命令,为了实现用户远程登录本系统,本文又引入了第二个Android终端,其中本地终端作为数据的收集者通过无线通信公网建立Socket连接将数据转发给异地终端,异地终端也可以通过相同的Socket连接将控制命令发送给本地终端,然后再由本地终端通过串口传输至ZigBee协调器,从而实现对ZigBee网络中设备的控制。
4 系统运行效果与分析
为了验证智能家居网络的有效性,测试网络各个性能参数,搭建了ZigBee测试网络,该测试网络可以实现环境数据的采集与显示,可以通过终端设备控制网络中的节点对象,从而实现智能家居的控制功能。Android终端应用如图3,图4所示。
图3,图4应用程序分为协调器端和用户终端两种,其中协调器端应用包含了端口通信程序和Socket通信程序,在初始界面中有4个选项,端口设置、服务器设置、智能家居和退出选项。端口设置选项中可以对Android设备的通信端口和对应的波特率进行设置,Android可以通过cd/dev文件来发现新的端口,包括串口、USB口和MINI USB口等。服务器设置的作用是通过用户自己输入的服务器IP地址和服务器建立Socket链接,从而实现数据的远程发送与接收。智能家居选项是APP的主体应用,在设置好端口和服务器后进入智能家居菜单,这样程序就开始接收ZigBee协调器发送来的信息,通过建立好的Socket连接发送到用户终端的应用中。用户终端的应用程序采用了比较简洁的操作界面,当用户点击刷新按钮时发送更新数据请求到协调器端,协调器接收到请求后发送实事的环境信息给用户终端。
5 结束语
本文根据人们实际生活的需求,设计了基于ZigBee无线传感器网络的智能家居系统,本系统可以采集环境信息,控制继电器实现家用电器的开关,控制电机开关家里的窗帘、窗户或者帷幕,控制嗡鸣器的家庭安防功能。实践表明,本系统由于采用对等的Android控制模式,减少了发送端GPRS模块和用户终端硬件与软件的开支,达到了预期的系统功能和性能指标。
参考文献:
[1]黄卉.智能家居控制系统的设计与实现[J].电脑知识与技术,2011(02):449-450.
[2]王励,金晶.物联网智能家居的发展前景[J].信息科技,2013(06):214.
作者简介:李玲香(1976.03-),女,湖南郴州人,硕士,毕业于重庆邮电大学,讲师;杨振南(1982.04-),男,湖南永州人,硕士,毕业于湘潭大学,讲师。
作者单位:湖南科技学院,湖南永州 425199
基金项目:永州市科技局资助项目,永科发[2012]9号。
关键词:智能家居;ZigBee;Android
中图分类号:TP273.5;TN925
随着智能家居热潮在世界范围内的日渐兴起,随着中国电子技术的飞速发展、人们生活水平的不断提高以及智能电子技术在生活中的广泛应用,智能家居已经成为未来家居装饰潮流发展的最新方向。人们对家居的要求早已不只是物理空间,人们更进一步关注的是一个安全、舒适、方便的居家环境。家居智能化也在这种形势下应运而生了。智能家居系统相关技术正朝着一下几个方面发展:组网技术由有线向无线发展,硬件平台性能日益提高,设计事项功能模块化及系统平台智能化,远程控制实现多样化,个性化。
1 系统总体设计
本智能家居系统由ARM Cortex-M3内核的STM32系列处理器、一个CC2530协调器节点、若干温湿度传感器节点、若干继电器开关节点等组成,功能模块中的各个节点采集温度、湿度、继电器开关的状态通过ZigBee协议与协调器进行数据传输、存储及命令的传送。
2 Zigbee无线网络的建立
ZigBee网络主要通过2个步骤完成组建:网络初始化和终端节点加入网络。当ZigBee节点完成了网络初始化工作后,协调器会周期性的发送信标帧,只有ZR或者ZED节点接收到信标帧,才能够建立网络,从而进行数据的发送与接收。ZigBee网络组网流程如图1所示:
当节点成功组网后,ZED将在指定的报告周期时间内,通过zb_SendData Request原语向ZC发送状态数据包。ZC通过RS-232接口将数据包转发到Android模块,然后通过Socket将数据包传递到用户终端。
3 Android智能终端软件设计与实现
当ZigBee无线传感器网络建立完成后,用户还不能如愿的获取环境信息与进行家居控制,这时就需要设计一款界面友善、人性化、功能丰富的人机界面软件,在考察了现阶段各种智能家居网络上位机选用情况后,本文决定使用智能终端作为上位机。又考虑到目前Android平台占智能终端大部分市场份额的实际情况,所以,最终决定在Android平台上编写应用以实现智能家居系统的采集与控制。软件的具体结构如图2所示。
从软件设计的角度出发,要实现Android智能终端充当本系统上位机,最主要的两个需要解决的问题是:Android智能终端与ZigBee协调器之间的串口通信;Android智能终端之间通过GPRS网络的Socket通信。
3.1 Android终端与ZigBee协调器端口通信
Android终端作为智能家居的控制器,解决Android设备和ZigBee网络中的网元通信是关键问题。在ZigBee网络中,Android设备和ZigBee协调器可通过相应的端口连接以实现它们之间的通信,不同的Android设备可能端口不同,但是对端口的获取和操作的过程是一样的,首先要在HAL层获取到某个端口的ID,在Linux中,HAL层驱动是在Linux文件系统的dev文件夹下,只需要加载相应的驱动文件,就可以获取到相应的端口;然后,在控制台设置这个端口的读写权限,打开这个端口;最后,根据需要传输的数据格式,使用相应的输入输出流传输和接收数据,当程序完成操作后关闭相应的端口,以免数据溢出。
系统中的ZigBee节点采用了串口作为编译、调试与通信端口,Android终端主控制器S3C2410与无线收发芯片CC2530之间采用异步串口的方式进行通信。S3C2410片内集成有USART,简单设置后即可工作于异步模式。异步数据格式和ZigBee通信协议帧相同。
3.2 Android终端之间Socket通信
当Android终端通过串口接收到来自ZigBee协调器的数据后,用户只能在本地的Android终端上获取环境信息发送控制命令,为了实现用户远程登录本系统,本文又引入了第二个Android终端,其中本地终端作为数据的收集者通过无线通信公网建立Socket连接将数据转发给异地终端,异地终端也可以通过相同的Socket连接将控制命令发送给本地终端,然后再由本地终端通过串口传输至ZigBee协调器,从而实现对ZigBee网络中设备的控制。
4 系统运行效果与分析
为了验证智能家居网络的有效性,测试网络各个性能参数,搭建了ZigBee测试网络,该测试网络可以实现环境数据的采集与显示,可以通过终端设备控制网络中的节点对象,从而实现智能家居的控制功能。Android终端应用如图3,图4所示。
图3,图4应用程序分为协调器端和用户终端两种,其中协调器端应用包含了端口通信程序和Socket通信程序,在初始界面中有4个选项,端口设置、服务器设置、智能家居和退出选项。端口设置选项中可以对Android设备的通信端口和对应的波特率进行设置,Android可以通过cd/dev文件来发现新的端口,包括串口、USB口和MINI USB口等。服务器设置的作用是通过用户自己输入的服务器IP地址和服务器建立Socket链接,从而实现数据的远程发送与接收。智能家居选项是APP的主体应用,在设置好端口和服务器后进入智能家居菜单,这样程序就开始接收ZigBee协调器发送来的信息,通过建立好的Socket连接发送到用户终端的应用中。用户终端的应用程序采用了比较简洁的操作界面,当用户点击刷新按钮时发送更新数据请求到协调器端,协调器接收到请求后发送实事的环境信息给用户终端。
5 结束语
本文根据人们实际生活的需求,设计了基于ZigBee无线传感器网络的智能家居系统,本系统可以采集环境信息,控制继电器实现家用电器的开关,控制电机开关家里的窗帘、窗户或者帷幕,控制嗡鸣器的家庭安防功能。实践表明,本系统由于采用对等的Android控制模式,减少了发送端GPRS模块和用户终端硬件与软件的开支,达到了预期的系统功能和性能指标。
参考文献:
[1]黄卉.智能家居控制系统的设计与实现[J].电脑知识与技术,2011(02):449-450.
[2]王励,金晶.物联网智能家居的发展前景[J].信息科技,2013(06):214.
作者简介:李玲香(1976.03-),女,湖南郴州人,硕士,毕业于重庆邮电大学,讲师;杨振南(1982.04-),男,湖南永州人,硕士,毕业于湘潭大学,讲师。
作者单位:湖南科技学院,湖南永州 425199
基金项目:永州市科技局资助项目,永科发[2012]9号。