基于Zigbee技术的智能家居系统设计方案
2012-07-19 14:40:14
责任编辑: cpslili
收藏本文
3.2.2 客户机终端监控软件设计
客户机终端监控软件采用MFC 编写, 可实现来自WEB服务器端的实时视频预览、视频录制、视频截图及传感器参数的实时显示等功能。程序采用多线程技术:一个线程进行视频信息的解码和播放功能,另一个线程实现视频录制功能。
另外还采用了视频信息叠加的方法,可以对环境变量进行屏幕叠加,能在录制时完成信息的录制和再现。图4 为终端监控软件。
图4 客户机终端监控软件
4 项目关键技术
4.1 传感器信息通过Zigbee 传输
Zigbee 是IEEE 802.15.4 协议的代名词。根据这个协议规定的技术是一种短距离、低功耗的无线通信技术。IEEE-802.15.4 规范是一种经济、高效、低数据速率(<250 kbps)、工作在2.4 GHz 和868/928 MHz 的无线技术, 用于个人区域网和对等网络。本项目使用Zigbee 完成传感器信息的传输。传感器信息由一端Zigbee 接收后发送至另一端Zigbee,然后传入RS232 串口中。具体传输模型如图5 所示。
图5 传感器信息通过Zigbee 传输模型
4.2 DirectShow 视频采集
DirectShow 是微软公司在ActiveMovie 和Video forWindows 的基础上推出的新一代基于COM (ComponentObject Model)的流媒体处理的开发包。DirectShow 技术对处理图像序列或用摄像机捕获的序列尤其有用。本项目使用VC 开发基于DirectShow 技术实现视频采集。通过#pragmacomment(lib, "winmm.lib")链接静态库winmm.lib,便可以实现windows 多媒体编程。
4.3 多线程技术及Socket
智能家居系统客户机监控软件采用MFC 编写。其中关键技术包括多线程以及Socket()。
监控软件中包括previewVideo 线程( 通过函数UINTpreviewVideo(LPVOID videoCtl)实现)实现视频的预览功能以及recordVideo 线程( 通过函数UINT recordVideo (LPVOIDvideoCtl) 实现) 实现视频录制功能。打开摄像头后通过AfxBeginThread (previewVideo,&m_video) 函数启动previewVideo 视频预览线程, 用户便可以通过监控软件预览视频图像。当用户点击录制视频按钮时, 首先通过函数SuspendThread(pVideoThread->m_hThread)挂起previewVideo视频预览线程, 然后通过函数AfxBeginThread(recordVideo,&m_video)启动recordVideo 视频录制线程。当用户点击停止录制按钮时, 软件通过函数ResumeThread (pVideoThread->m_hThread)恢复previewVideo 视频预览线程。终端监控软件通过previewVideo 线程以及recordVideo 线程便能很好的实现客户机的视频预览和视频录制功能。线程模型如图6所示。
图6 线程模型
【想第一时间了解安防行业的重磅新闻吗?请立即关注中安网官方微信(微信号:cpscomcn)——安防行业第一人气微信,万千精彩,千万不要错过!!!