大家好,又见面了,我是你们的朋友全栈君。
1. 项目背景
随着人们在家居生活中使用的电器越来越多,由此带来的安全隐患也有了明显的增多。为了降低电器的不合理使用带来的异常情况,大众对家庭智能监控的需求也越来越高。家庭智能监控主要依托摄像头,温湿度传感器等设备实现实时监控和智能报警的功能。
Romeo Monitor主要是为模拟是家庭安防监控的简易系统。主要基于温湿度传感器、运动传感器和摄像头、蜂鸣器、LED等硬件作为终端,基于TCP和zigbee为通信基础监控系统。该系统可实现家庭成员从网页端获取房间的摄像头和温湿度等信息,以及设置智能报警等功能,极大程度降低了房间的安全隐患。
2. 项目需求
2.1 功能说明
2.1.1 远程控制
- 摄像头监控
网页端可实时查看当前摄像头的监控信息; - 基础信息采集
网页端可实时查看房间温湿度信息,以及陀螺仪、重力加速计的读数信息; - 自动报警
通过网页可设置温度和湿度的最高和最低阈值,并给出默认值,当超过阈值触发报警:
(1)温度/湿度超出阈值自动打开蜂鸣器报警,同时触发短信/电话报警;
(2) 如温度高于最大阈值,则自动打开风扇;
2.1.2 远程控制
- LED灯控制
(1)所有LED灯打开和关闭控制;
(2)模拟四路数码管显示1-15数字; - 蜂鸣器控制**
(1)蜂鸣器打开和关闭控制;
(2)蜂鸣器自动报警打开和关闭控制; - 风扇控制
(2) 风扇打开和关闭控制;
(2) 风扇自动降温的打开和关闭;
2.1.3 账户管理
1.管理员账户:登陆后可查看所有监控信息和更改所有控制信息;
2.普通账户:登陆后绑定homeID可查看和控制指定的home;
3.账户和home:每个账户可绑定不超过10个home,每个home最多可被10个账户绑定;
2.2 系统交互流程图
2.3页面交互展示
3. 项目范围
3.1 可交付成果
3.2 验收标准
4. 工作包和进度表
工作包说明:(html已提供)
- A9主框架搭建:进程线程框架搭建,通信结构体定义;
- 开发板硬件驱动:4个LED驱动,蜂鸣器驱动,陀螺仪重力加速计驱动,内核添加USB以及硬件芯片驱动;
- 摄像头数据采集和上传:mjpg-streamer移植;
- zigbee协调器和终端驱动:温湿度传感器数据点播到协调器,协调器广播控制风扇转动;
- 短信报警程序:添加GPRS通过AT指令实现发送短信。
5. 项目成本和预算
5.1 成本估算
5.2 预算制定
6. 需求变更记录
7. 项目风险登记册
8. 项目收获(经验教训登记册)
本次项目涵盖了多线程C编程,ARM体系架构和高级驱动开发等一系列前序知识,另又增加了实际项目中会用到的boa服务器,mjpg-streamer,zigbee等知识,需要自学的部分比较多,总结了个人的提升点:
- 大型项目先做主框架的搭建,可以清晰把握整个项目;
- 加深理解了模块化编程,模块化的可移植性和可读性都很高;
- zigbee作为一项比较先进的技术,本项目没有做详细讲解,完全靠自己靠自学去理解开发框架,从完全陌生入手艰难,阅读不同功能的代码中,从相同点和不同点着手,感觉有豁然开朗的感觉,切勿对单一功能代码死缠烂打;
- 项目重点完成了基础功能的开发,之后了解了一些相关的功能在实际智能家居中的应用,比如陀螺仪控制百叶窗,重力加速计实现定位功能,LED的数码管功能用于数显,在实际应用中还需要多参考一些资料。
9. 术语定义
10. 附录
附录一:开发环境信息
附录二:开发框架和通信协议
附录三:zigbee驱动框架
附录一:开发环境信息
软件配置
开发平台:Ubuntu14.04,windows 7(zigbee用IAR)
运行环境:linux3.14.0,uboot2013.01
编译工具:gcc4.6.4
通信协议: 串口、ZigBee、i2c协议等
服务支持:nfs,tftp,boa服务器,mjpg-streamer
串口调试工具:Putty,Xcom
硬件配置
开发板:三星contex-A9
存储设备:SD卡
终端设备:ZigBee(温湿度传感器,风扇),摄像头
附录二:开发框架和通信协议
- 数据通信框架
- 通信结构体定义
数据上行:
数据下行:
附录三:zigbee驱动框架
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/153422.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...