版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
XIII 6软件和硬件系统代码设计6.1软件子系统的接口设计概述此章第一节主要对智能家居管理系统各个软件子系统以及pc管理器与其他软件之间的接口界限定义和操作流程规范做了详细的介绍,主要内容包括main,智能客户端。本系统的接口比较繁多,硬件方面就有传感器,蜂鸣器,led灯,WiFi通信模块,温湿度传感器对应的arduino板子上的4号接口,火焰传感器对应的A0号接口,为模拟信号,雨滴传感器对应的A1号接口,触摸传感器对应的A2号接口,水银开关传感器对应的8号传感器,触摸式led灯则对应的6号接口,遥控式led灯对应的13号接口,WiFi通信模块对应的2和3号接口。软件方面的接口主要对应着传感器,tv_wendu对应着4号接口,既温湿度传感器;tv_shidu对应着4号接口,既温湿度传感器;tv_fire对应着A0号接口,既火焰传感器;tv_yudi对应着A1号接口,既雨滴传感器。这就是本系统一些主要功能的器件对应的接口。6.2硬件代码设计6.2.1WiFi模块的通信设置WiFi模块体积小,板载PCB天线,功耗低,数据传输快,模块可使用串口进行数据收发以及AT指令相关参数设置,对于该硬件很合适。WiFi模块的初始化设置:将引脚线连接完毕后,在透传模式下,将WiFi模块的波特率设置为9600,对应着自己pc端的端口,在用该代码测试是否修改成功:#include<SoftwareSerial.h>SoftwareSerialmySerial(3,2);//3:RX2:TXvoidsetup(){//putyoursetupcodehere,torunonce:Serial.begin(9600);//这里使用波特率9600,用来硬串口的程序下载while(!Serial){;}//判断是否Serial服务已开启Serial.println("Goodnightmoon!");//setthedataratefortheSoftwareSerialportmySerial.begin(9600);//本模块的通信波特率最好9600,不然接收数据会出现错误while(!mySerial){;}mySerial.println("Iamsoftserial");//用来测试软串口,指令ATE1,发出去的数据有回显}6.2.2传感器的代码设计水银开关部件:这个部分就是防止盗窃的一个功能,相关的功能介绍在上面已经介绍就不做重复;要触发这个部件,需要其中的水银球同时触碰到两个电极从而接通电源,水银球的流动和水平角度有关,打破这个平衡就会接通电源,从而做到一个防止盗窃的作用;但是这时盗窃者已经进入,这时就需要设置一个警报,我想到的便是蜂鸣器和亮灯,触发代码的思路就是,当水银开关电源接通时,便触发警报,既蜂鸣器鸣叫和亮灯。水银开关传感器代码图:图6-1水银开关的接口引脚设置图当水银开关被异常触发时,会触发led灯亮和蜂鸣器鸣叫,拍照效果不是很好,实地演示效果会更好,效果如图6-2。图6-2水银开关被触发效果图温湿度部件:这个部件的设计初衷就是给人一个安全又舒适的环境,比如温度的极度上升,或者湿度偏低,这个时候就要主人家有意识的去调节,因为什么原因导致的温度急剧变化或者湿度的急剧变化;温度的急剧变化会造成安全方面的问题,需要主人家去解决,这个就是忽视的问题,比如什么电器没关之类的;湿度的变化主要是湿度过低,常年生活在一个干燥的环境对于人的身体会产生影响,所以当湿度过低时,需要主人家去适当的增加湿度;于是我想到的办法就是把温湿度的具体数值显示出来,这样主人家能有一个更明显的感官,也就能更好的去解决问题。下面就是一个温湿度的测试代码,完全效果图就放在成品效果图中展示。温湿度传感器代码图:图6-3温湿度传感器的引脚设置图为了防止传感器出现问题,做了一个测试代码,防止在制作软件时出现大的问题,其成功图不放出,具体效果就放在结尾的效果图里,其主要代码如图。图6-4温湿度传感器的测试代码图触摸部件:这个部件设计思路主要是看见网上许多人晚上起床迷糊导致受伤,触摸部件经过感应后就会打开指定位置的灯,这样主人家会受伤的概率就会小很多。人体触摸传感器代码图:图6-5人体触摸传感器的接口引脚设置图当感应到人体触摸时,传感器会做出反应,led灯就会亮起,当中亮起来的红光就是传感器感应到人触碰,然后使得灯亮起,效果如图6-6;图6-6触摸传感器被触发使得灯亮效果图 火焰传感器部件:这个部件设计的思路很简单,就是一个防火的装置。代码方面主要是设置一个数值显示。雨滴部件:这个部件算是一个实时的天气预报,对主人家有一定的帮助,方便安排行程。代码方面也是设置一个数值显示。火焰传感器以及雨滴传感器代码图:图6-7火焰传感器及雨滴传感器的引脚设置图图6-8工作原理代码图6.2.3硬件与软件通信设计Arduino上的通信函数:voidSendData(intconnectedID,StringData){StringcipSend="AT+CIPSEND=";//WIFI模块准备进入透传模式,cipSend+=connectedID;//构造AT指令cipSend+=",";cipSend+=Data.length();//AT指令构造完成,准备发送指令WIFI_Serial.println(cipSend);//发送透传指令,WIFI模块进入透传模式,AT指令模式退出,AT指令暂时失效delay(230);WIFI_Serial.println(Data);//向一个客户端模块发送数据,完成后,wifi整个模块系统会自动点击退出一个简单透传指令模式,再次手动点击即可进入at的一个简单指令透传模式硬件既需要发送数据,也需要接收数据,其具体的功能代码如下图。图6-9硬件接收数据的函数代码图因为硬件和软件之间并不相通,想让他们能够互相辨识,需要将采集的数据规范法,想到的办法便是将采集的数据弄成一段字符串,这样软件也能准备的接收到数据,其主要的代码图如下;图6-10硬件数据采集功能代码图6.3软件代码设计6.3.1软件的配置文件其主要的配置文件如下图。图6-11软件的主要配置文件代码6.3.2软件主要功能代码设计软件中通过wifi通信接收硬件传过来的数据的主要代码,既监听并获得从单片机发过来的传感器数据;这个部分主要是通过wifi通信接收数据并更新数据。其主要代码图如下:图6-11软件通信功能代码图接收的数据并不相通,需要将接收的数据解码,然后才能显示到Androidphone上,解码的函数主要代码图如下:图6-12软件解码功能的主要功能代码图其中主要代码就到这。经过一段时间的代码编写,在反复修改硬件和软件之间的问题之后,智能家居安防检测系统也就完成了,系统效果图如下:图6-4软件测试成功图
7总结经过这段时间的学习和毕业设计,我了解和掌握了一些嵌入式软件开发的基础和流程,这段时间虽然很短,中间还遇到了很多困难和问题,然后去网上也查了一些有效解决的方法,虽然这个过程很困难,感觉还是在实践中学到了许多实用的知识,通过自己编写这些应用程序,也增强了自己的软件编程技术和能力,加深了对嵌入式方向的理解和AndroidJava的一些比较浅的内容。但是这段时间没有充足的资金和精力,智能家居系统的整体功能设计也还不是很完备,希望可以在未来时间充裕、技术更成熟的情况下,能将它的功能设计可以更加全面和完善,没有什么漏洞,虽然目前知识储备不是很足,但是有很多想要改善的地方如:(1)希望能加入一个服务器,让它能够储存更多的信息,这样既可以在众多的信息里得出不足,然后完善它,让这个设计能够一步步走向完美。(2)希望能够加入短信的警告,这样即使主人出去出差了,当家里出了安全隐患,或者有外人擅自闯入,这样系统会向主人手机发送某个警告短信,这样主人可以及时做出反应,报警或者其他方法,让损失降到最低。(3)也希望自己能够使用一些更棒的传感器,让系统更加的贴心,能够更好的帮助别人。
参考文献[1]秦勃,王琳,邵峰晶.无线嵌入式智能家居环境网关.计算机应用研究,2006.06:P23-33[2]朱文凯,何岭松,丁汉,熊有伦.基于Internet的嵌入式Web传感器.仪表技术与传感器,2002.08:P7-18[3]杨叔子,史铁林,李东晓.分布式监测诊断系统的开发与设计.振动测试与诊断,1997,01:P24-30[4]王文利,段宝岩,刘宏.基于网络的机械设备远程监测与故障诊断.制造业自动化,1999.21(4)PP:32-35[5]周洪,胡文山,张立明,卢亦焱.智能家居控制系统.北京:中国电力出版社,2006.01[6]陶波,丁汉,熊有伦.基于嵌入式Internet的工业控制.测控技术,2011.08:P23-32[7]吴仲城,戈瑜,虞承端,方廷健.传感器的发展方向——网络化智能传感器.电子技术应用,2010.02:P10-21[8]杨士元.“智能家居”系列讲座之一掀开智能家居的面纱.中国计算机用户,2011.33:P30-39[9]卢伟国,杨本强.嵌入式WEB传感器的网络化接口设计.电子技术应用,2011.02:P18-27[10]何小平.选择适合ARM的嵌入式操作系统[J].BMRfechInc.2003[11]马忠梅,马广云,徐英慧,田译.ARM嵌入式处理结构与应用基础[M].北京航空航天大学出版社.2002[12]邹思铁.嵌入式Linux设计与应用[M].北京清华大学出版社.2002[13]HongshengZhang.ResearchonSoftwareDevelopmentandTestEnvironmentAutomationbasedonAndroidPlatform[P].Proceedingsofthe3rdInternationalConferenceonMechatronicsEngineeringandInformationTechnology(ICMEIT2019),2019.[14]Yong-feiYe,Ming-heLiu,XiaoZhang,Xing-huaSun,Nai-diLiu.ApplicationandResearchofBlendedTeachingModelinProgrammingCoursesAndroidApplicationDevelopmentCourseasanExample[P].Proceedingsofthe3dInternationalConferenceonAppliedSocialScienceResearch,2016.[15]P
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年短时程脊髓电刺激植入术治疗带状疱疹性神经痛相关试题及答案
- 产科护士产科产妇情绪危机处理考核试题及答案解析
- 党员培训考试试题及答案上海
- 2026年省考道德公共基础知识试题含答案
- 上海市杨浦区辅警考试真题及答案
- 汉中市宁强县辅警招聘《公安基础知识》真题及答案解析
- 革吉县(2026年)综合类事业单位招聘考试公共基础知识真题试卷及参考答案
- 2026年免疫规划培训试题(附答案)
- 2025年遗体防腐师抗压考核试卷及答案
- 2025年涉农政策考试试题及答案
- 2024秋期国家开放大学专本科《行政法与行政诉讼法》一平台在线形考(形成性考核作业1至4)试题及答案
- 2023年上海申康医疗卫生建设工程公共服务中心工作人员招聘考试真题及答案
- 检验科职业暴露事件应急预案
- 电工(四级)理论知识考核要素细目表
- 榆树盆景怎么养 小叶榆树盆景怎么养
- 2022年衡阳市南岳区事业单位考试试卷及答案
- 《HSK标准教程3》第5课
- 常用电气元件代号
- 五育并举背景下的初中数学劳动教育探析 论文
- WS/T 367-2012医疗机构消毒技术规范
- 新时达机器人焊接编程
评论
0/150
提交评论