微波EDA网,见证研发工程师的成长!
首页 > 射频和无线通信 > 射频无线通信文库 > 基于ZigBee技术的智能家居系统的设计方案

基于ZigBee技术的智能家居系统的设计方案

时间:02-14 来源:本站整理 点击:

系统

  本系统选用2.6 版本的Linux 内核, 首先从ftp://ftp.kernel.org/pub/linux/kernel/下载内核源码。在编译内核前先要修改根目录下的Makefile 文件:

  ARCH=arm

  CROSS COMPILE=arm-linux-gcc

  然后运行make menuconfig 进入配置菜单, 选择需要的选项, 配置完成后保存退出, 依次执行内核编译命令:make dep ;make clean;make zImage 编译成功后会在/linux/arch/arm/boot/下找到编译好的内核镜像文件zImage.然后可以用Bootloader 菜单命令把内核镜像烧写到NAND FLASH 中。

  4.2 USB 摄像头程序

  在Linux kernel 源码目录中driver/usb/usb-skeleton.c 提供了一个基础的USB 驱动程序。通过它仅需要修改极少的部分,就可以完成一个USB 设备的驱动。重新编译内核生成摄像头驱动文件,然后执行insmod 加载USB 摄像头驱动,Linux 系统就在/dev 目录下注册了USB 视频设备/dev/video0.

  摄像头驱动程序安装好后为了进行视频采集必须加入Video4Linux 模块,Video4Linux 是Linux 中关于视频设备的内核驱动,它为针对视频设备的应用程序提供一系列接口函数。对于USB 口摄像头, 其驱动程序中需要提供基本的I/O 操作接口函数open、close、read、write 等的实现。对中断的处理实现,内存映射功能以及I/O 通道的控制接口函数ioctl 的实现等, 并把它们定义在struct file_operations 中。这样当应用程序对设备文件进行诸如open、close、read、write 等系统调用函数时,Linux 内核将通过file_operations 结构体访问驱动程序提供的函数。

  4.3 ZigBee 协调器和设备节点程序

  ZigBee 家庭无线网络主要负责对现场各种信息的监控以及数据的采集, 并将内部处理过的数据经家庭网关传送到外部网络。本系统中ZigBee 协调器主要用于建立无线网络,分配地址,向终端节点发送控制命令和接收终端节点的工作状态,并将接收到的状态数据全部上传至Web 服务器, 最后通过Internet传送到远端的用户端。终端设备节点主要有加入网络,接收控制命令,以及发送状态信息给协调器等。协调器主程序流程如图2所示。

  

  4.4 Web 服务器

  Web 服务器的作用是监听用户的服务请求, 并根据用户的请求给出相应的服务。服务器和客户端浏览器之间的通信协议是超文本传输协议HTTP.HTTP 协议规定了发送和请求的标准方式, 浏览器和服务器之间传输的消息格式及各种控制信息。

  Linux 支持boa、httpd、thttpd 等几种Web 服务器, 其中boa 是一款单任务的Web 服务器软件,源代码开放,速度快,性能优秀,支持能够实现动态Web 技术的CGI(Common Gateway Interface)技术,特别适合应用在嵌入式系统中。

  CGI 提供了一个Web 服务器的外部程序通道,运行在服务器上,由浏览器输入触发,是Web 服务器和系统中其他程序连接的通道。CGI 程序就是符合这种接口的程序。服务器接收到用户的请求,并将数据送给CGI 程序,CGI 程序接收到数据后,启动编写好的应用程序,并按照用户提供的数据执行。应用程序执行完成后,返回执行结果,并通过Web 服务器传送给用户浏览器显示。

  本系统采用了CGI 来实现动态Web 技术,CGI 规定了Web服务器调用其他可执行程序(CGI 程序)的接口协议标准。Web服务器通过CGI 程序实现和浏览器的交互,也就是CGI 程序接受浏览器发送给Web 服务器的信息进行处理,将响应结果再回送给Web 服务器及浏览器。CGI 程序可以用多种程序设计语言编写, 本系统选用C 语言编写的CGI 程序。嵌入式Web 服务器工作流程如图3 所示。

  

  5 系统测试

  将服务器用网线和电脑主机相连, 服务器的地址设为192.168.1.6,电脑主机地址为192.168.1.8(只要主机IP 和服务器IP 处在同一个网段就可以)系统的网页包括家电系统、安防系统和视频画面三个页面,这三个画面可以相互切换, 在浏览器输入服务器IP 对系统进行测试,并选择摄像头远程控制画面,摄像头采集的视频画面截图如图4 所示。

  

  6 结论

  本文设计的智能家居综合控制系统,采用ZigBee 技术组建家庭内部无线网络, 用USB 摄像头实时采集家庭视频信息,在S3C2440A 为控制核心的硬件平台移植嵌入式Linux 操作系统和Web 服务器完成家庭网关的设计,经过实际测试,本系统达到了家庭信息网络化的目的,实现了对家庭设备远程监控的愿望。系统的功能强大,功耗低,实现简单,具有广阔的应用前景。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top