智能家居系统项目报告第五组参考模板.docx
- 文档编号:16448380
- 上传时间:2023-07-13
- 格式:DOCX
- 页数:17
- 大小:381.87KB
智能家居系统项目报告第五组参考模板.docx
《智能家居系统项目报告第五组参考模板.docx》由会员分享,可在线阅读,更多相关《智能家居系统项目报告第五组参考模板.docx(17页珍藏版)》请在冰点文库上搜索。
智能家居系统项目报告第五组参考模板
实
习
项
目
报
告
书
深圳亿道电子有限公司
四川师范大学计算机科学院学院
五组:
徐勇,李萍,高攀,康逸飞,王洁
1.前言
1.1项目背景介绍
据近期的一项国家统计资料显示,中国富有阶层正在形成,该部分家庭户均年收入在5.6万元以上,人口约4460万人,1400多万户,占城市人口的10%,总人口的3.5%,占全社会消费购买力总和6万亿元的17%左右,因此主要针对这部分人的智能家居系统其市场总量为1400万套。
正是在这种情况下,近两年来,智能家居系统的销售数量和总销售额都呈现连续攀升的势头,并且随着人们消费意识的提高,还会有更多的人选用。
中国在住宅小区、商业办公场所使用智能管理系统的需求将达到50-60亿人民币,在2005年以后的三年内,每年将以不低于30%的速度增长。
应该说智能家居产品潜在市场巨大,以前智能家居市场主要在南方沿海地区和内地大中型城市,现在已经辐射到西部地区。
2.软件需求说明
2.1项目概述
该方案可通过传感器与家电控制扩展模块控制烟雾、红外、煤气传感器及摄像头模块来实现对家庭异常状况的采集,并通过RS232与本地控制中心进行上下位机通讯及信息交互,通过与本地控制中心相连的GSM通讯模块及无线/有线网络与户主进行互动并实现使用网络和手机短信对系统的远程控制与监视,达到家庭防火,防盗,防煤气泄露,异常景象抓拍等安全监控功能。
2.2客户分析
●居住空间90-120平方,所以对信号的传输距离要求不是很高;
●用户在选择智能家居时都希望今后能够升级换代;
●对于智能家居产品的需求也不会一样,所以要能够满足不同用户的个性化较需求;
●不用一般不喜欢砸墙砸洞
●家庭成员的年龄、文化均不一样,所以要使用简单化,才能被家人接受;
●舒适,快乐,给人享受
2.3实现技术
●协议:
RS232协议,TCP/IP协议等
●系统:
采用Linux系统
●软件开发平台--嵌入式Qt-2.3.7;
●用户界面—嵌入式Qtopia-1.7.0
●视频处理--Intel开源的OpenCV
●GSM通信--SMS的AT指令集
●处理器芯片:
PXA270
3.总体设计
3.1系统功能和特点
安全监控:
包括各种报警探测器的讯息采集,开关门报警等如门磁、紧急按钮、红外探测、煤气探测、火警探测等,并完成与住宅小区物业管理和110报警的联网。
3.2系统框架图
4.详细设计(项目实施)
4.1硬件原理图设计/PCB设计
根据功能分析,设计出合理的原理图,
PCB设计:
根据原理图,可以进行PCB原理图的设计.
4.2元器件的焊接
1)电阻器焊接
按图将电阻器准确装人规定位置。
要求标记向上,字向一致。
装完同一种规格后再装另一种规格,尽量使电阻器的高低一致。
焊完后将露在印制电路板表面多余引脚齐根剪去。
2)电容器焊接
将电容器按图装人规定位置,并注意有极性电容器其“+”与“-”极不能接错,电容器上的标记方向要易看可见。
先装玻璃釉电容器、有机介质电容器、瓷介电容器,最后装电解电容器。
3)二极管的焊接
二极管焊接要注意以下几点:
第一,注意阳极阴极的极性,不能装错;第二,型号标记要易看可见;第三,焊接立式二极管时,对最短引线焊接时间不能超过2S。
4)三极管焊接
注意e、b、c三引线位置插接正确;焊接时间尽可能短,焊接时用镊子夹住引线脚,以利散热。
焊接大功率三极管时,若需加装散热片,应将接触面平整、打磨光滑后再紧固,若要求加垫绝缘薄膜时,切勿忘记加薄膜。
管脚与电路板上需连接时,要用塑料导线。
5)集成电路焊接
首先按图纸要求,检查型号、引脚位置是否符合要求。
焊接时先焊边沿的二只引脚,以使其定位,然后再从左到右自上而下逐个焊接。
对于电容器、二极管、三极管露在印制电路板面上多余引脚均需齐根剪去。
焊接顺序
元器件装焊顺序依次为:
电阻器、电容器、二极管、三极管、集成电路、大功率管,其它元器件为先小后大。
4.3电路板调试
可以把电源部分先装好,然后就上电检测电源输出电压是否正常。
如果在上电时您没有太大的把握(即使有很大的把握,也建议您加上一个保险丝,以防万一),可考虑使用带限流功能的可调稳压电源。
先预设好过流保护电流,然后将稳压电电源的电压值慢慢往上调,并监测输入电流、输入电压以及输出电压。
如果往上调的过程中,没有出现过流保护等问题,且输出电压也达到了正常,则说明电源部分正确。
反之,则要断开电源,寻找故障点,并重复上述步骤,直到电源正常为止。
接下来逐渐安装其它模块,每安装好一个模块,就上电测试一下,上电时也是按照上面的步骤,以避免因为设计错误或/和安装错误而导致过流而烧坏元件。
4.4单片机程序调试
分别有:
LED显示,LED响应按钮显示,测试存储器实验,定时实验等
4.5单片机与ARM串口通信
#include
#include"string.h"
sbitP1_0=P1^0;
sbitP1_1=P1^1;
sbitP1_2=P1^2;
sbitP1_3=P1^3;
sbitP2_0=P2^0;
sbitP2_1=P2^1;
sbitP2_2=P2^2;
intcount=5;
bitContrl;
voidInital()
{
TMOD=0x20;
SCON=0x50;
PCON=0x00;
TH1=0xFD;
TL1=0xFD;
TR1=1;
ES=1;
EA=1;
P2=0xFF;
}
voiddelay()
{
unsignedinti,j,m;
for(i=20;i>0;i--)
for(j=30;j>0;j--)
for(m=256;m>0;m--);
}
voidsend(unsignedchara)
{
SBUF=a;
while(!
TI);
TI=0;
}
voidrecieve()interrupt4
{
unsignedcharb;
b=SBUF;
RI=0;
if(b=='%')
count=0;
elseif(count<5)
{
count++;
if(b=='0')
Contrl=1;
else
Contrl=0;
}
switch(count)
{
case1:
P1_0=Contrl;break;
case2:
P1_1=Contrl;break;
case3:
P1_2=Contrl;break;
case4:
P1_3=Contrl;break;
}
}
voidmain()
{
Inital();
while
(1)
{
if(P2_0==0)
{
send('#');
send('$');
send('#');
send('1');
}
elseif(P2_1==0)
{
send('#');
send('$');
send('#');
send('2');
}
elseif(P2_2==0)
{
send('#');
send('$');
send('#');
send('3');
}
P2=0xFF;
delay();
}
}
4.6本地控制(嵌入式Linux操作系统)
4.6.1交叉编译工具的移植
●先把虚拟机的Tools装上,建立共享目录,在/mnt/hgfs下面可以找到共享目录,可以实现虚拟机和主机的文件共享。
●把Boot-XSBase270_010005.tar.gz拷贝到工项目下,在linux环境下复制到linux自己的目录下,再用tar–zxvf进行解压释放,用ls查看目录,再用makeclean清楚以前的编译的结果。
最后用make进行编译。
至此bootLoader
安装完成。
●随后进行内核的编译。
先把linux-2.4.21-51Board_EDR.tar.gz拷贝到共享目录下,用同样的方法进行解压。
然后进入/pxa270/kernel目录下,用makeclean清除以前编译,再make.随后makexsbase270_config,再次用makeoldconfig,再次用makedep寻找依赖关系,最后makezImage
●
●最后进行驱动程序分析、bootLoader分析
4.6.2Qt/Qtopia的移植与编程
●Qt/Qtopia的移植、使用与编程、
●基于ARM微处器编译和运行平台
设置环境参量
•exportQTDIR=$PWD/qt-2.3.7-arm
•exportLD_LIBRARY_PATH=$QTDIR/lib
•exportPATH=$QTDIR/bin:
$PATH
•exportTMAKEPATH=$TMAKEDIR/lib/qws/linux-arm-g++
编译
•./configure-xplatformlinux-arm-g++
•Make
设置环境变量
•exportQTDIR=$PWD/qt-2.3.7-arm
•exportQPEDIR=$PWD/qtopia-1.7.0-arm
•exportLD_LIBRARY_PATH=/usr/lib:
$QTDIR/lib:
$QPEDIR/lib
•exportPATH=$QTDIR/bin:
$PATH
•exportTMAKEPATH=$TMAKEDIR/lib/qws/linux-arm-g++
编译
•./configure-platformlinux-arm-g++
•make
编译步骤:
tarxfzqt-embedded-2.3.10-free.tar.gz
exportQTEDIR=$PWD/qt-2.3.10-target
tarxfzqt-x11-2.3.2.tar.gz
exportQT2DIR=$PWD/qt-2.3.2
tarxfzqtopia-free-source-2.1.1.tar.gz(解压后qtopia-free-2.1.1改名为qtopia-2.1.1-target)
exportQPEDIR=$PWD/qtopia-2.1.1-target
tarxfztmake-1.13.tar.gz
exportTMAKEDIR=$PWD/tmake-1.13
exportTMAKEPATH=$PWD/tmake-1.13/lib/qws/linux-arm-g++
exportPATH=$TMAKEDIR/bin:
$PATH
cdqt-2.3.2
exportQTDIR=$QT2DIR
exportPATH=$QTDIR/bin:
$PATH
exportLD_LIBRARY_PATH=$QTDIR/lib:
$LD_LIBRARY_PATH
./configure-no-xft
make
make-Ctools/qvfb
cd..
cdqt-2.3.10-target
exportQTDIR=$PWD
exportPATH=$QTDIR/bin:
$PATH
exportLD_LIBRARY_PATH=$QTDIR/lib:
$LD_LIBRARY_PATH
mkdirbin
cp$QT2DIR/bin/uicbin
cp$QT2DIR/tools/qvfb/qvfbbin
cp$QPEDIR/src/qt/qconfig-qpe.hsrc/tools/
./configure-xplatformlinux-arm-g++-qconfigqpe-qvfb-thread-system-jpeg-gif-depths4,8,16,32
make
cd..
hybus-arm-linux-R1.1
tarxzfe2fsprogs-1.35.tar.gz
cde2fsprogs-1.35
./configure-host=arm-linux-with-cc=arm-linux-gcc-with-linker=arm-linux-ld-enable-elf-shlibs-prefix=/usr/local/hybus-arm-linux-R1.1/arm-linux
makeinstalllib/uuid/
cd..
cdqtopia-2.1.1-host
exportPATH=$QPEDIR/bin:
$PATH
exportLD_LIBRARY_PATH=$QPEDIR/lib:
$LD_LIBRARY_PATH
cpsrc/libraries/qtopia/custom-linux-ipaq-g++.cppsrc/libraries/qtopia/custom-linux-arm-g++.cpp
cpsrc/libraries/qtopia/custom-linux-ipaq-g++.hsrc/libraries/qtopia/custom-linux-arm-g++.h
./configure-xplatformlinux-arm-g++
make
●Qt编程工具的使用方法
Step2:
设置Qt环境
exportQTDIR=/usr/local/arm-linux/qt_toolchain/qt-2.3.7
exportQPEDIR=/usr/local/arm-linux/qt_toolchain/qtopia-1.7.0
exportLD_LIBRARY_PATH=/usr/local/arm-linux/qt_toolchain/qt-
2.3.7/lib:
$LD_LIBRARY_PATH
exportLD_LIBRARY_PATH=/usr/local/arm-linux/qt_toolchain/qt-2.3.2/lib:
$LD_LIBRARY_PATH
exportTMAKEDIR=/usr/local/arm-linux/qt_toolchain/tmake-1.11
exportTMAKEPATH=/usr/local/arm-linux/qt_toolchain/tmake-1.11/lib/qws/linux-arm-g++
exportPATH=/usr/local/arm-linux/qt_toolchain/tmake-1.11/bin:
$PATH
Step3:
使用Desinger进行图形化设计
#cd/usr/local/arm-linux/qt_toolchain/qt-2.3.2/bin
#./designer
Step4:
编译.h和.cpp文件
#uic-otest.htest.ui
#uic-otest.cpp-impltest.htest.ui
Step5:
修改main.cpp文件
#include
#include"test.h"
intmain(intargc,char**argv)
{
QApplicationa(argc,argv);
Form1w;
w.show();
returna.exec();
}
Step6:
修改tmake文件的相关配置
#vim$TMAKEDIR/lib/qws/linux-arm-g++/tmake.conf
TMAKE_LINK=arm-linux-g++
TMAKE_LINK_SHLIB=arm-linux-g++
TMAKE_LIBS_QT=-lqte-lts
Step7:
编译工程文件
#progen-tapp.t-otest.pro
#tmake-oMakefiletest.pro
Step8:
编译
#makeclean
#make
Setp9:
完成C++父类与子类继承之间的转换
4.7远程监控
4.7.1网络通信编程
(1)、基于PC平台的server网络程序编译
将光盘提供的server的源代码复制到硬盘中(假设将源码复制在/root/work目录下)
•对源码进行编译
[root@localhoswork]$cdserver
[root@localhostserver]$make
•在PC机上运行server程序,运行界面如图1所示
[root@localhostserver]$./server
(2)、基于目标平台的client网络程序编译
将光盘提供的client.tar的源代码复制到硬盘中,设置交叉编译工具参数(arm-linux-g++)
对源代码进行编译
[root@localhostwork]$cdclient
[root@serialarm]$make
将编译好的程序client下载到开发板的/usr/qpe/bin目录下
在目标板上利用chmod命令修改client的属性
[root@bin]$chmod755client
在开发板的/usr/qpe/apps/Applications目录下新建client.desktop文件(内容如下);
[DesktopEntry]
Comment=AnetworkProgram
Exec=client
Icon=Clock
Type=Application
Name=Clock
Name[zh_CN]=网络通讯测试
5.实习收获
●通过这次实习,我们了解了并掌握了开发一个项目的流程,从项目立案到需求分析再到进行实际的项目开发和后期的测试和维护。
并了解学会了现在的公司中实际做项目中的对各种成本的估计和人员的安排以及开发周期的正确估计。
●通过这次实习我们深刻开发一个项目团队合作的重要性。
硬件人员和软件人员只有合理的分工并要互相了解对方的进度和功能,项目才能事半功倍的完成。
●通过这次实习,让我更加深刻的了解了当前流行的嵌入式技术,基于ARM的嵌入式技术在现实中运用越来越广泛,而嵌入式技术对人员的要求是:
要有扎实的软硬基础知识,又要有开发项目的实际经验。
所以要成为一个嵌入式的工程师,应该要亲身去从事几个项目的开发,并要有相应的老师指导和勤奋的进取心。
才能有所成就。
这也让我深刻的理解了嵌入式人才”难以复制性”的独特性。
●通过这次实习也在一定程度上规范了我们编码的规范和养成良好的编习惯。
●
●
●友情提示:
范文可能无法思考和涵盖全面,供参考!
最好找专业人士起草或审核后使用,感谢您的下载!
●
●
●
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 智能家居 系统 项目 报告 第五 参考 模板