基于Zynq平台的动态智能家居系统的设计

时间:2022-09-06 12:27:23

基于Zynq平台的动态智能家居系统的设计

摘 要:由于传统智能家居无线传感器网络中传感器位置固定,需要布置的网络节点个数太多导致成本太高.鉴于以上原因,为了实现在减少Zigbee网络节点的前提下,又能实时捕捉用户所需信息的目标,本文提出了一种基于Zynq的 FPGA芯片的动态智能家居系统:该系统采用智能小车作为移动网关,Zigbee作网络节点,用Sim300 GSM模块来实现短信收发功能.远程用户能够实时获取家里的信息;并且可以用短信、以及Internet与智能家居网关进行通信,从而实现对智能家居系统的远程控制.

关键字:智能家居;Zynq;Zigbee;智能公交;GSM

中图分类号:TP391 文献标识码:A DOI:10.3969/j.issn.1003-6970.2013.08.030

本文著录格式:[1]王芳芳,张欢.基于Zynq平台的动态智能家居系统的设计[J].软件,2013,34(8): 98-100

0 引言

随着计算机技术、信息技术、控制技术的发展,以及人们物质生活水平的不断提高,传统的住宅显然已经不能满足人们的需求,智能家居便应运而生了。一个真实的智能家居传感器网络能够把所有物品通过射频识别等信息传感设备与3G互联网连接起来,实现智能化识别和管理。本文所研究的动态智能家居系统除了能够实现传统的家居系统传感器数据采集、分析及安防报警、手机短信远程控制家用电器开关的功能之外,通过加入小车这个移动智能网关,可以实时获取家里的信息。通过短信以及Internet与智能家居网关进行通信,实现对智能家居系统的远程控制。

1 基于Zynq平台的动态智能家居系统

1.1 系统研究背景

当前嵌入式设计发展迅猛,在包含大量数据处理模块(比如智能视频监控、先进的工业控制等应用)的场景中,对高性能、低功耗、灵活性高的处理器的需求很高,现有的微处理器缺乏足够的信号处理能力,而Zynq-7000是一款高性能和低功耗的处理器平台,具有ARM+FPGA的体系结构,能够提供灵活和可扩展的解决方案。

传统的智能家居系统主控CPU一般采取ARM+Zigbee的解决方案,此次系统中创新性的使用Zedboard FPGA(现场可编程逻辑门阵列)作为主控CPU,Zigbee模块采用CC2530 Soc解决方案,GPRS模块采用sim300模块,使用AT指令与用户手机进行交互,Internet交互通过BOA,CGI实现.FPGA实现PWM信号产生逻辑控制电机。

1.2 系统实现架构

如下图1所示,主控模块完成的功能主要包括与Zigbee协调器,GSM/GPRS,Internet的互联,摄像头视频采集与电机驱动小车控制.该模块包含两个进程,进程一负责取Zigbee网络数据,并且将处理后的数据分发给GSM/GPRS模块,以及Internet WebServer模块。

进程一又包括三个独立的线程,分别与各个模块进行交互.流程如下:

pthread_t tid[3]; //创建线程号

pthread_attr_t attr[3]; //为线程分配空间

pthread_attr_init(&attr[0]);

pthread_attr_setscope(&attr[0], PTHREAD_SCOPE_SYSTEM);

....... //线程空间初始化

pthread_create(&tid[0],&attr[0],thread_serial_ttyPS1,NULL);//创建线程1:用于ZedBoard获取ZigBee网络数据

pthread_create(&tid[1],&attr[1],thread_serial_uartlite_debug,NULL);//创建线程2:用于ZedBoard向GSM发送数据包

pthread_create(&tid[2],&attr[2],thread_serial_ttyPS1toWeb,NULL);//创建线程3:用于ZedBoard向Internet发送数据包

pthread_join(tid[0],NULL);

....... //在主函数中加入线程

pthread_rwlock_destroy(&GPacketBuf_rwmutex); //释放线程

进程二是CGI模块,由WebServer调用,其功能包括解析数据包,并将ZigBee信息以网页的形式呈现给用户.流程如下:第一步,创建数据包格式,第二步是运用HTML语言将从Zigbee自组网搜集的温度传感器、电池供电电压、火灾警告、防盗报警、风扇、电灯开关状况通过网页告知用户,用户可以通过在远端登陆Internet查看家居状况的完整信息.数据包的具体格式将会在后面的ZigBee模块处给出。

2 ZigBee自组网

2.1 ZigBee网络节点配置

在ZigBee网络中有三种设备:协调器:负责启动整个网络,它也是网络的第一个设备.路由器的功能主要是:允许其他设备加入网络,并协助自身同时作为终端设备的通讯.终端设备没有特定的维持网络结构的责任,它可以睡眠或者被唤醒..

2.2 串口通信数据包格式

ZedBoard主控与Zigebee协调器通信数据包格式如下:

StartByte ->1B (代表数据包起始字节 0x47)

PropertyId->1B (代表属性ID)

NodeId->1B (代表Zigbee终端设备节点ID)

PacketLength->2B (代表整个包的长度)

上一篇:新时期网络环境下大学生网络行为的特征研究 下一篇:试论高中物理习题课的有效教学策略