新闻中心

EEPW首页>嵌入式系统>设计应用> 基于ARM+GPRS的智能家居安防监控系统设计

基于ARM+GPRS的智能家居安防监控系统设计

作者: 时间:2014-05-26 来源:网络 收藏

各种设备由于功能不同,驱动程序提供的函数接口也不相同,但Linux为能够统一管理,规定了Linux下设备驱动程序必须使用统一的接口函数file_operations。根据功能填充对应的file_operations中的接口函数。为便于开机启动,统一地将驱动程序静态编译到内核。

本文引用地址://m.amcfsurvey.com/article/247353.htm

另外,涉及设备节点的创建,选择了udev机制来自动创建设备节点,具体步骤如下:

1)在一开始定义一个类class,再在类下面定义一个设备class_dev;2)xx_init()函数中,使用class_creat()和device_creat()创建设备节点;3)xx_exit()函数中,使用class_destory()卸载设备节点。其中,设备号的选择,通过查询内核中Documents/device.txt选用空闲的设备号,当然也可以用major=register_chrdev(0,"name",&file_operation)自动生成。

3.2 串口通信程序设计

系统的主要功能是实现家居环境参数的采集、上传和监控页面控制命令的下发,所以数据传输是整个应用程序的关键部分,即S5PC100与模块的串口通信程序的设计。

在定义与串口相关寄存器地址的基础上,以结构体构造新的串口数据类型,结构体成员为函数指针,它们指向编写的具体实现函数,而函数体中的数据直接操作串口寄存器,实现了串口驱动程序,实际上就是上面驱动程序思想,填充对应的file_operations中的接口函数,实现我们自己的驱动程序。以下是实现串口数据类型的主要源代码:



串口采用中断方式接收数据,提高了串口数据处理的实时性和整个CPU的工作效率。具体来说,S5PC100的串口1收到输入模块发送的家居环境参数,进行逻辑判断,结合输出模块处理后,传输到监控页面,实现数据的上传;S5PC100的串口1收到监控页面发送的指令后,调用相应的处理函数,把指令同步到各个模块,实现数据的下发。

3.3 Web服务器的搭建

为方便用户通过internet或网络接入互联网,远程监控家里情况,提供远程Web服务。本模块主要包括2个部分:

1)BOA服务器模块设计:在嵌入式系统中移植BOA服务器,提供Web服务;

2)cgi模块详细设计:根据监控页面上的不同按钮,发送不同信息给S5PC100,S5PC100调用相应的处理函数,执行网页按钮相应功能。

3.4 应用程序整体设计

在搭建好系统环境,成功移植硬件驱动后,在Ubuntul2.04上Linux2.6内核环境下进行程序的开发调试。系统中主要的进程,包括3个线程等待控制命令,在代码中采用轮询的形式来对线程状况进行检测,发生问题的时候进行相应得处理,用户可通过网络访问本系统并远程进行控制操作。调用了两个线程分别操作thief处理线程和fire处理线程。thief线程和fire线程分别调用模块和摄像头模块进行短消息的发送和图像的采集及保存。同时调用FS_S5PC100开发板自带的,蜂鸣器模块和LED模块实现报警,另外利用流水灯模拟灭火的操作。具体框架如图3所示。



输入模块和输出模块也是分别创建线程处理不同的任务,模块之间通信选用了消息队列,对于共享资源采用了互斥锁和条件变量,保证资源的共享和原子操作。

4 测试结果

整个系统在实验室环境下进行了测试,利用S5PC100开发板上自带的按键key1模拟外人闯入,按键key2模拟主人进入,温度的采集使用了LM75温度传感器采集,同时为便于调试我们同时也利用ADC来模拟温度变化。整个监控界面效果图如图4所示。



通过点击页面上的用户设置按钮,可以设置用户名、密码的修改及新用户的增加;手机短信号码的修改及新手机号码的增加;短信中心号码更改;报警温度设置,这些参数设置好后都保存在数据库中。点击用户基本信息按钮,可以查看用户信息,及报警功能的开关状态等。点击历史照片查看,会跳转到,页面首先显示第一张照片,可以在查看照片的页面上点击上一张、下一张、返回主页面按钮。点击历史照片下载按钮,历史照片会以_tar.gz格式打包。点击连拍按钮,摄像头会自动连续拍照5张并存储。另外,在开发板上配置并开启crontab定时服务,实现历史照片的定时删除功能。

在测试报警功能时,先要点击主页面开报警功能按钮,当按下S5PC100开发板上的key1键,蜂鸣器响,指定手机收到报警短信,抓拍的照片可以通过点击页面历史照片查看按钮查看。通过点击主页面关闭当前报警按钮,关闭蜂鸣器。当调节电压协调器使模拟的温度过高时,蜂鸣器响,指定手机收到报警短信,流水灯不断闪烁模拟灭火。点击报警日志查看报警记录,效果如图5所示。



5 结论

以上提出的基于的智能家居安防监控系统的实现方案,有机结合了高效的处理技术、GPRS可靠的远程数据传输技术、动态网页设计等技术,不仅实现了安防方面的迅速报警、记录证据和远程监控等功能,而且误报率低、成本低。实验证明,该系统运行可靠,达到了远程监控的要求。另外,本系统还需继续改进,比如,将开发板上时间调整到标准时间;增加利用tftp实现远程更新应用程序等功能。

linux操作系统文章专题:linux操作系统详解(linux不再难懂)

c语言相关文章:c语言教程


linux相关文章:linux教程


摄像头相关文章:摄像头原理

上一页 1 2 下一页

关键词:ARMGPRS

评论


相关推荐

技术专区

关闭