基于Cortex―M3处理器的智能家居监控系统设计
2.4 图像采集模块
STM32F207内嵌8~14 b的CMOS相机传感器并行接口,可承受27 MB/s数据传输速度,支持连续和快照模式,并且有自动裁剪图像的功能。所以这里采用OV7670这款CMOS彩色/黑白图像传感器,通过逐行扫描的方式,完成图像的采集,而且STM32F207支持DMA,数据图像传输速度快,能够满足用户远程登陆Web服务器,通过Web浏览器视频查看家庭安全信息的要求。
2.5 3G模块
EM770是一款华为公司生产的WCDMA、M2M模块,支持UMTS 2 100/1 900/900/850和GPRS/GSM1 900/1 800/900/850频段,集成了高速USB接口,同时内置TCP/IP协议栈,支持WCDMA协议规定的标准AT指令集和华为扩展AT指令集,具有兼容性强、速率高、稳定性好的特点。
3 系统软件设计
软件设计主要包括操作系统的移植,嵌入式Web服务器的实现和系统程序流程设计。
3.1 操作系统的移植
μC/OS-Ⅱ免费公开源代码、是一种基于优先级的可抢占式的硬实时内核的实时操作多任务系统,它占用空间小、执行效率高、实时性能好和可扩展性强。
系统移植主要是处理与处理器相关的源文件,即os_cpu_c.c,os_cpu_a.asm,os_cpu.h。首先重新定义os_cpu.h文件中的主要包含编译器相关的数据类型堆栈类型以及几个宏定义和函数说明。其次编写os_cpu_c.c文件中10个函数,主要足初始化函数OSTask-StkInit(),然后在os_cpu_a.asm文件中编写与处理器相关的汇编函数OSstartHighRdy(),OSCtxSw(),OSIntetxsw以及临界处理函数OS_CPU_SR_Save,OS_CPU_SR_Restore。
3.2 Web服务器的实现
Web浏览器与Web服务器的交互是通过HTTP协议来实现的。HTTP协议基于TCP连接,在客户端和服务器之间采用请求/响应模式。传统TCP/IP的实现过于复杂,占用大量系统资源。因此.采用LwIP这种轻型(Light Weight)IP协议是非常理想的解决方案,它只需要几百字节的RAM和40 KB左右的ROM就可以运行,而且LwIP采用在同一个任务TCP/IP thread中实现所有协议,独立于操作系统内核之外。这种设计方法使LwIP非常方便移植到μC/OS-Ⅱ操作系统中,而且只需修改在src\arch目录下的与CPU或编译器相关的include文件以及与操作系统相关的sys.c和sys_arch.c两个主要文件,就可以完成LwIP的移植。
而对嵌入式Web服务器而言,要提供动态页面服务,则要为Web服务器构建公共网关接口(CGI),它是外部扩展应用程序与WWW服务器交互的一个标准接口。服务器端放入CGI程序,当收到用户的请求后,启动编好的应用程序,应用执行完后将动态数据发送到用户浏览器上。通过CGI可以提供许多静态的HTML网页无法实现的功能。
3.3 系统程序流程
系统程序流程如图4所示。从图4可知,系统上电初始化后,系统会根据智能家居中心控制器接收的数据,调用不同的处理程序。当系统监听到远程Web浏览器发来的控制请求数据时,系统将调用信息家电控制程序,数据处理完后,发给Web浏览器。当系统监听到是支持ZigBee协议的JN5139收发模块传输至中心控制器的数据时,系统解析数据并判断家中有突发事件后,会现场发出声光报警并驱动摄像头,通过3G网络以短信息或视频通话的方式通知到用户,或者向小区监控中心报警。本文引用地址:https://www.eepw.com.cn/article/160519.htm
4 结语
本监控系统采用低功耗、性价比高的微控制器STM32F207作为智能家居监控核心,移植了μC/OS-Ⅱ实时操作系统和LwIP协议栈,通过3G技术以及构建的Web服务器实现了对家庭ZigBee网络节点的监控和报警。该系统具有成本低廉、性能稳定、用户操作方便、便于推广的优点,具有广阔的市场应用前景。
评论