智能家居系统项目报告(第五组)

上传人:xuey****n398 文档编号:139317174 上传时间:2022-08-22 格式:DOC 页数:15 大小:440KB
返回 下载 相关 举报
智能家居系统项目报告(第五组)_第1页
第1页 / 共15页
智能家居系统项目报告(第五组)_第2页
第2页 / 共15页
智能家居系统项目报告(第五组)_第3页
第3页 / 共15页
点击查看更多>>
资源描述
实习项目报告书 深圳亿道电子有限公司 四川师范大学计算机科学院学院 五组: 徐勇,李萍,高攀,康逸飞,王洁1.前言31.1项目背景介绍32.软件需求说明32.1 项目概述32.2 客户分析32.3实现技术43.总体设计43.1 系统功能和特点43.2 系统框架图54.详细设计(项目实施)54.1硬件原理图设计/PCB设计54.2 元器件的焊接74.3电路板调试74.4 单片机程序调试84.5 单片机与ARM串口通信84.6 本地控制(嵌入式Linux操作系统)10交叉编译工具的移植104.6.2 Qt/Qtopia的移植与编程114.7远程监控14网络通信编程145.实习收获151.前言1.1项目背景介绍据近期的一项国家统计资料显示,中国富有阶层正在形成,该部分家庭户均年收入在5.6万元以上,人口约4460万人,1400多万户,占城市人口的 10,总人口的3.5,占全社会消费购买力总和6万亿元的17左右,因此主要针对这部分人的智能家居系统其市场总量为1400万套。正是在这种情况下,近两年来,智能家居系统的销售数量和总销售额都呈现连续攀升的势头,并且随着人们消费意识的提高,还会有更多的人选用。 中国在住宅小区、商业办公场所使用智能管理系统的需求将达到50-60亿人民币,在2005年以后的三年内,每年将以不低于30%的速度增长。应该说智能家居产品潜在市场巨大,以前智能家居市场主要在南方沿海地区和内地大中型城市,现在已经辐射到西部地区。2.软件需求说明2.1 项目概述该方案可通过传感器与家电控制扩展模块控制烟雾、红外、煤气传感器及摄像头模块来实现对家庭异常状况的采集,并通过RS232 与本地控制中心进行上下位机通讯及信息交互,通过与本地控制中心相连的GSM 通讯模块及无线/有线网络与户主进行互动并实现使用网络和手机短信对系统的远程控制与监视,达到家庭防火,防盗,防煤气泄露,异常景象抓拍等安全监控功能。2.2 客户分析l 居住空间90-120平方,所以对信号的传输距离要求不是很高;l 用户在选择智能家居时都希望今后能够升级换代;l 对于智能家居产品的需求也不会一样,所以要能够满足不同用户的个性化较需求;l 不用一般不喜欢砸墙砸洞l 家庭成员的年龄、文化均不一样,所以要使用简单化,才能被家人接受;l 舒适,快乐,给人享受2.3实现技术l 协议:RS232协议,TCP/IP协议等l 系统:采用Linux系统l 软件开发平台-嵌入式Qt-2.3.7;l 用户界面l 视频处理- Intel开源的OpenCVl GSM通信- SMS的AT指令集l 处理器芯片:PXA2703.总体设计3.1 系统功能和特点安全监控:包括各种报警探测器的讯息采集,开关门报警等如门磁、紧急按钮、红外探测、煤气探测、火警探测等,并完成与住宅小区物业管理和110报警的联网。 基于ARM芯片的控制中心(Linux操作系统,PXA270芯片)单片机模块(AT98S51)烟雾传感器(用开关控制发送信号)红外传感器(开关控制)煤气传感器(开关控制)控制对应的LED显示响应消息发送消息3.2 系统框架图家电控制模块传感器基于AEM10的本地控制中心UART远程监控中心NETUSB摄像头GPRS模块USBUART4.详细设计(项目实施)4.1硬件原理图设计/PCB设计根据功能分析,设计出合理的原理图,串口MCS-51单片机(AT98S5)SP3223EB(串口芯片)排针(接外设)光耦排针(外设)LED继电器LED灯显示PCB设计:根据原理图,可以进行PCB原理图的设计.4.2 元器件的焊接1 )电阻器焊接按图将电阻器准确装人规定位置。要求标记向上,字向一致。装完同一种规格后再装另一种规格,尽量使电阻器的高低一致。焊完后将露在印制电路板表面多余引脚齐根剪去。2 )电容器焊接将电容器按图装人规定位置,并注意有极性电容器其 “ ” 与 “ ” 极不能接错,电容器上的标记方向要易看可见。先装玻璃釉电容器、有机介质电容器、瓷介电容器,最后装电解电容器。3 )二极管的焊接二极管焊接要注意以下几点:第一,注意阳极阴极的极性,不能装错;第二,型号标记要易看可见;第三,焊接立式二极管时,对最短引线焊接时间不能超过 2S 。4 )三极管焊接注意 e 、 b 、 c 三引线位置插接正确;焊接时间尽可能短,焊接时用镊子夹住引线脚,以利散热。焊接大功率三极管时,若需加装散热片,应将接触面平整、打磨光滑后再紧固,若要求加垫绝缘薄膜时,切勿忘记加薄膜。管脚与电路板上需连接时,要用塑料导线。5 )集成电路焊接首先按图纸要求,检查型号、引脚位置是否符合要求。焊接时先焊边沿的二只引脚,以使其定位,然后再从左到右自上而下逐个焊接。对于电容器、二极管、三极管露在印制电路板面上多余引脚均需齐根剪去。焊接顺序元器件装焊顺序依次为:电阻器、电容器、二极管、三极管、集成电路、大功率管,其它元器件为先小后大。4.3电路板调试可以把电源部分先装好,然后就上电检测电源输出电压是否正常。如果在上电时您没有太大的把握(即使有很大的把握,也建议您加上一个保险丝,以防万一),可考虑使用带限流功能的可调稳压电源。先预设好过流保护电流,然后将稳压电电源的电压值慢慢往上调,并监测输入电流、输入电压以及输出电压。如果往上调的过程中,没有出现过流保护等问题,且输出电压也达到了正常,则说明电源部分正确。反之,则要断开电源,寻找故障点,并重复上述步骤,直到电源正常为止。接下来逐渐安装其它模块,每安装好一个模块,就上电测试一下,上电时也是按照上面的步骤,以避免因为设计错误或和安装错误而导致过流而烧坏元件。4.4 单片机程序调试分别有:LED显示,LED响应按钮显示,测试存储器实验,定时实验等4.5 单片机与ARM串口通信#include #includestring.hsbit P1_0=P10;sbit P1_1=P11;sbit P1_2=P12;sbit P1_3=P13;sbit P2_0 = P20; sbit P2_1 = P21;sbit P2_2 = P22;int count=5;bit Contrl;void Inital()TMOD = 0x20;SCON = 0x50;PCON = 0x00; TH1 = 0xFD;TL1 = 0xFD;TR1 = 1;ES= 1;EA =1 ; P2 = 0xFF ;void delay() unsigned int i,j,m; for(i=20;i0;i-)for(j=30;j0;j-)for(m=256;m0;m-);void send(unsigned char a ) SBUF = a;while(!TI);TI = 0;void recieve() interrupt 4unsigned char b;b = SBUF;RI = 0;if(b = % )count=0;else if (count5) count+;if (b=0)Contrl = 1;else Contrl = 0; switch ( count)case 1:P1_0=Contrl;break; case 2:P1_1=Contrl;break; case 3:P1_2=Contrl;break; case 4:P1_3=Contrl;break;void main()Inital() ;while( 1 ) if(P2_0 = 0)send ( # );send ( $ );send ( # );send ( 1 ); else if ( P2_1 = 0)send ( # );send ( $ );send ( # );send ( 2 ); else if ( P2_2 = 0)send ( # );send ( $ );send ( # );send ( 3 );P2 = 0xFF;delay(); 4.6 本地控制(嵌入式Linux操作系统)4.6.1交叉编译工具的移植l 先把虚拟机的Tools装上,建立共享目录,在/mnt/hgfs下面可以找到共享目录,可以实现虚拟机和主机的文件共享。l 把拷贝到工项目下,在linux环境下复制到linux自己的目录下,再用tar zxvf进行解压释放,用ls查看目录,再用make clean 清楚以前的编译的结果。最后用make进行编译。至此bootLoader安装完成。l 随后进行内核的编译。先把拷贝到共享目录下,用同样的方法进行解压。然后进入/pxa270/kernel目录下,用make clean 清除以前编译,再make. 随后make xsbase270_config,再次用make oldconfig,再次用make dep寻找依赖关系,最后make zImagell 最后进行驱动程序分析、bootLoader分析4.6.2 Qt/Qtopia的移植与编程l Qt/Qtopia的移植、使用与编程、l 基于ARM微处器编译和运行平台 设置环境参量 export LD_LIBRARY_PATH=$QTDIR/lib export PATH=$QTDIR/bin:$PATH export TMAKEPATH=$TMAKEDIR/lib/qws/linux-arm-g+ 编译 ./configure -xplatform linux-arm-g+ Make设置环境变量 export LD_LIBRARY_PATH=/usr/lib:$QTDIR/lib:$QPEDIR/lib export PATH=$QTDIR/bin:$PATH export TMAKEPATH=$TMAKEDIR/lib/qws/linux-arm-g+ 编译 ./configure -platform linux-arm-g+ make 编译步骤:tar xfz qt-embedded-2.3.10-free.tar.gzexport QTEDIR=$PWD/qt-2.3.10-target tar xfz qt-x11-2.3.2.tar.gzexport QT2DIR=$PWD/qt-2.3.2 tar xfz qtopia-free-source-2.1.1.tar.gz(解压后qtopia-free-2.1.1改名为qtopia-2.1.1-target)export QPEDIR=$PWD/qtopia-2.1.1-target tar xfz tmake-1.13.tar.gzexport TMAKEDIR=$PWD/tmake-1.13 export TMAKEPATH=$PWD/tmake-1.13/lib/qws/linux-arm-g+ export PATH=$TMAKEDIR/bin:$PATH cd qt-2.3.2export QTDIR=$QT2DIR export PATH=$QTDIR/bin:$PATH export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH ./configure -no-xftmakemake -C tools/qvfbcd . cd qt-2.3.10-targetexport QTDIR=$PWD export PATH=$QTDIR/bin:$PATH export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH mkdir bincp $QT2DIR/bin/uic bincp $QT2DIR/tools/qvfb/qvfb bincp $QPEDIR/src/qt/qconfig-qpe.h src/tools/./configure -xplatform linux-arm-g+ -qconfig qpe -qvfb -thread -system-jpeg -gif -depths 4,8,16,32makecd .hybus-arm-linux-R1.1 tar xzf e2fsprogs-1.35.tar.gzcd e2fsprogs-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-linuxmake install lib/uuid/cd . cd qtopia-2.1.1-hostexport PATH=$QPEDIR/bin:$PATH export LD_LIBRARY_PATH=$QPEDIR/lib:$LD_LIBRARY_PATH cp src/libraries/qtopia/custom-linux-ipaq-g+.cpp src/libraries/qtopia/custom-linux-arm-g+.cppcp src/libraries/qtopia/custom-linux-ipaq-g+.h src/libraries/qtopia/custom-linux-arm-g+.h./configure -xplatform linux-arm-g+makel Qt编程工具的使用方法Step 2:设置Qt环境 export QTDIR=/usr/local/arm-linux/qt_toolchain/qt-export QPEDIR=/usr/local/arm-linux/qt_toolchain /qtopia-export LD_LIBRARY_PATH=/usr/local/arm-linux/qt_toolchain /qt-/lib:$LD_LIBRARY_PATHexport LD_LIBRARY_PATH=/usr/local/arm-linux/qt_toolchain /qt-/lib:$LD_LIBRARY_PATHexport TMAKEDIR=/usr/local/arm-linux/qt_toolchain/tmake-1.11export TMAKEPATH=/usr/local/arm-linux/qt_toolchain /tmake-1.11/lib/qws/linux-arm-g+export PATH=/usr/local/arm-linux/qt_toolchain /tmake-1.11/bin:$PATHStep 3 :使用Desinger进行图形化设计#cd /usr/local/arm-linux/qt_toolchain /qt-/bin#./designerStep 4: 编译.h和.cpp文件# uic -o test.h test.ui#uic -o test.cpp -impl test.h test.uiStep 5: 修改main.cpp文件#include #include test.hint main( int argc, char * argv ) QApplication a( argc, argv ); Form1 w; w.show(); return a.exec();Step 6: 修改tmake文件的相关配置#vim $TMAKEDIR/lib/qws/linux-arm-g+/tmake.confTMAKE_LINK = arm-linux-g+TMAKE_LINK_SHLIB = arm-linux-g+TMAKE_LIBS_QT = -lqte -ltsStep 7: 编译工程文件#progen -t app.t -o test.pro#tmake -o Makefile test.proStep 8: 编译#make clean#makeSetp 9: 完成C+父类与子类继承之间的转换4.7远程监控4.7.1网络通信编程 (1)、基于PC平台的server网络程序编译将光盘提供的server的源代码复制到硬盘中(假设将源码复制在/root/work目录下) 对源码进行编译rootlocalhos work$cd serverrootlocalhost server$make 在PC机上运行server程序,运行界面如图1所示rootlocalhost server$./server(2)、基于目标平台的client网络程序编译将光盘提供的client.tar的源代码复制到硬盘中,设置交叉编译工具参数(arm-linux-g+)对源代码进行编译rootlocalhost work$cd clientrootserialarm$make将编译好的程序client下载到开发板的/usr/qpe/bin目录下在目标板上利用chmod命令修改client的属性rootbin$ chmod 755 client在开发板的/usr/qpe/apps/Applications目录下新建client.desktop文件(内容如下);Desktop EntryComment=A network ProgramExec=clientIcon=ClockType=ApplicationName=ClockNamezh_CN=网络通讯测试5.实习收获l 通过这次实习,我们了解了并掌握了开发一个项目的流程,从项目立案到需求分析再到进行实际的项目开发和后期的测试和维护。并了解学会了现在的公司中实际做项目中的对各种成本的估计和人员的安排以及开发周期的正确估计。l 通过这次实习我们深刻开发一个项目团队合作的重要性。硬件人员和软件人员只有合理的分工并要互相了解对方的进度和功能,项目才能事半功倍的完成。l 通过这次实习,让我更加深刻的了解了当前流行的嵌入式技术,基于ARM的嵌入式技术在现实中运用越来越广泛,而嵌入式技术对人员的要求是:要有扎实的软硬基础知识,又要有开发项目的实际经验。所以要成为一个嵌入式的工程师,应该要亲身去从事几个项目的开发,并要有相应的老师指导和勤奋的进取心。才能有所成就。这也让我深刻的理解了嵌入式人才”难以复制性”的独特性。l 通过这次实习也在一定程度上规范了我们编码的规范和养成良好的编习惯。
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 工作总结


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!