




已阅读5页,还剩40页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
毕 业 论 文(设计) 题 目: 基于ARM11的嵌入式远程无线环境监测系统的设计 基于ARM11的嵌入式远程无线环境监测系统的设计摘要:温湿度采集传感技术和GPRS无线传输技术应用广泛,已经应用到了工业,农业等各个领域。随着我国经济的发展,环境问题日益突出,环境保护应以预防为主治理为辅,我们应把计算机技术与环境保护相结合,根据环境监测数据提出相应的治理方案。本系统使用分为监测主机和监测从机,主机使用ARM11处理器和Linux系统,从机使用Cortex-M3核的微控制器。从机采集数据后通过GPRS回传到主机进行显示。矚慫润厲钐瘗睞枥庑赖。主机是一台基于S3C6410处理器的单板,除处理器外还有内存、FLASH以及网卡芯片,主机运行Linux操作系统,使用Qt Creator编写程序,然后使用交叉编译工具arm-linux-gcc编译成ARM版本的可执行文件,然后拷贝到单板上运行,主机的数据存储使用的是轻量级数据库SQLITE,可供查看以往的记录信息,主机使用以太网接收从机传来的温湿度信息。从机是以LPC1768微控制器为主控的专用温湿度采集系统,传感器是DHT22,DHT22是一款集成采集温度度功能于一体的传感器,传感器采集完温湿度后通过GPRS通道传给上位机,GPRS芯片使用的是SIM900,这是一款工业级的手机模块芯片。聞創沟燴鐺險爱氇谴净。本文首先给出了设计的原理和设计思路,然后根据软硬件分章介绍各自的设计原理以及实现过程,从而设计一个高稳定性的环境监测系统,实现环境温湿度的在线实时监测。残骛楼諍锩瀨濟溆塹籟。关键字:微控制器;微处理器;GPRS;Linux;ARM11;ARM Cortex-M3DesignofEmbededWirelessandRemoteEnvironmentMonitoringSystemBasedonARM11酽锕极額閉镇桧猪訣锥。Abstract: Temperature and humidity sensor technology capture a wide range of technology applications, and so does GPRS wireless transmission. The accordingly technologies have been applied to various fields of industry, agriculture and so on. As Chinas economic development, environmental issues have become increasingly prominent, environmental governance should be based on prevention supplement, we should combine computer technology and environmental protection, propose appropriate governance program based on environmental monitoring data. The system is divided into monitoring the use and monitoring from the host machine, the host uses ARM11 processor and Linux systems, the slave using Cortex-M3 microcontroller core. Data collected from the machine back to the host via GPRS display.彈贸摄尔霁毙攬砖卤庑。Host-based S3C6410 processor is a single-board, in addition to the processor but also have memory, FLASH and chip card, the host uses the Linux operating system, using Qt Creator programming on Linux systems, and then use cross-compilation tools compiled into ARM version executable file, then copy it to run a single board, the master data store using a lightweight database SQLITE, available for viewing previous record information, the host uses Ethernet receive information from the machine temperature and humidity coming. Slave is based on the special temperature and humidity acquisition system LPC1768 microcontroller, sensors using DHT22, DHT22 is an integrated collection of functions in one degree of temperature sensors, temperature and humidity after the completion of the acquisition sensor to the host computer via GPRS channel, GPRS chip using SIM900, which is an industrial-grade mobile phone module chip.謀荞抟箧飆鐸怼类蒋薔。This paper first gives the design principles and design ideas, and then present their design and implementation process in accordance with the principles of the hardware and software sub-chapter to design a high stability of the environmental monitoring system, online real-time monitoring of temperature and humidity.厦礴恳蹒骈時盡继價骚。Keywords:Microcontroller;Microprocessor;GPRS;Linux;ARM11;ARM Cortex-M3茕桢广鳓鯡选块网羈泪。目 录1 绪论1鹅娅尽損鹌惨歷茏鴛賴。1.1课题背景与意义1籟丛妈羥为贍偾蛏练淨。1.2 设计中主要问题2預頌圣鉉儐歲龈讶骅籴。1.3 主要问题的解决方案2渗釤呛俨匀谔鱉调硯錦。1.4 研究内容2铙誅卧泻噦圣骋贶頂廡。2 方案论证3擁締凤袜备訊顎轮烂蔷。2.1 设计原理3贓熱俣阃歲匱阊邺镓騷。2.2 方案分析3坛摶乡囂忏蒌鍥铃氈淚。2.3 设计特点4蜡變黲癟報伥铉锚鈰赘。3 硬件系统的设计与实现5買鲷鴯譖昙膚遙闫撷凄。3.1 主机硬件架构6綾镝鯛駕櫬鹕踪韦辚糴。3.1.1 友善Tiny6410开发板7驅踬髏彦浃绥譎饴憂锦。3.1.2 S3C6410简介7猫虿驢绘燈鮒诛髅貺庑。3.1.3 以太网接口9锹籁饗迳琐筆襖鸥娅薔。3.1.4 LCD显示屏9構氽頑黉碩饨荠龈话骛。3.2 从机硬件架构10輒峄陽檉簖疖網儂號泶。3.2.1 路虎LPC1768开发板10尧侧閆繭絳闕绚勵蜆贅。3.2.2 LPC1768简介11识饒鎂錕缢灩筧嚌俨淒。3.2.3 DHT22温湿度传感器13凍鈹鋨劳臘锴痫婦胫籴。3.2.4手机模块SIM90015恥諤銪灭萦欢煬鞏鹜錦。3.3 本章小结22鯊腎鑰诎褳鉀沩懼統庫。4 嵌入式Linux系统的开发与移植23硕癘鄴颃诌攆檸攜驤蔹。4.1 交叉编译环境23阌擻輳嬪諫迁择楨秘騖。4.2 嵌入式开发环境的搭建24氬嚕躑竄贸恳彈瀘颔澩。5 系统程序设计与实现26釷鹆資贏車贖孙滅獅赘。5.1 嵌入式Linux程序设计26怂阐譜鯪迳導嘯畫長凉。5.1.1 程序架构设计26谚辞調担鈧谄动禪泻類。5.1.2 数据结构设计27嘰觐詿缧铴嗫偽純铪锩。5.1.3 QT程序界面开发27熒绐譏钲鏌觶鷹緇機库。5.1.4 SQLITE数据库开发29鶼渍螻偉阅劍鲰腎邏蘞。5.1.5 SOCKET网络通信的设计与开发31纣忧蔣氳頑莶驅藥悯骛。5.2 ARM Cortex-M3程序设计31颖刍莖蛺饽亿顿裊赔泷。5.2.1 程序架构设计31濫驂膽閉驟羥闈詔寢賻。5.2.2 数据结构设计33銚銻縵哜鳗鸿锓謎諏涼。5.2.3 SIM900 TCP通信的设计与开发33挤貼綬电麥结鈺贖哓类。5.2.4 DHT22应用开发34赔荊紳谘侖驟辽輩袜錈。总结35塤礙籟馐决穩賽釙冊庫。参考文献36裊樣祕廬廂颤谚鍘羋蔺。致谢37仓嫗盤紲嘱珑詁鍬齊驁。391 绪论1.1课题背景与意义我国的制造业呈现出了急剧扩张的趋势,尤其是近几年来,这种趋势更加明显,同时,也初步奠定了我国世界工厂的地位。然而,我国人均GDP达到中等发达水平的同时,环境压力也达到了高峰。绽萬璉轆娛閬蛏鬮绾瀧。现如今环境污染非常严重,是在中国各地都是普遍存在的现象。其中,全国性范围内的雾霾天气明显地揭露了我国环境污染程度的严重性以及生态环境的脆弱性。如今清新芬芳的空气、清澈洁净的水源以及蔚蓝色的天空的变成人们的奢望时,我国环境污染的严重性就足以可见了。骁顾燁鶚巯瀆蕪領鲡赙。由此可见,对环境的治理已经是刻不容缓,然而,环境治理不是一蹴而就的,只有未雨绸缪才能防范于未然,才能去有计划的保护环境,预防环境质量的恶化,控制环境污染,提高人们生活质量,保护人类健康,造福子孙后代。瑣钋濺暧惲锟缟馭篩凉。近年来,微控制器和微处理器的的更新速度明显加快,从20年前的8位MCS-51系列单片机到TI推出16位低功耗MSP430系列单片机再到众多ARM核的MCU和CPU,单片机的处理能力不断增强,功耗不断降低,价格也在不断下降,将这些新技术应用到环境监测系统中,在一定程度上提升了环境监测系统的性能,可实现免维护的实时在线监测,大大的提高了环境监测的效率,降低了环境监测的成本。鎦诗涇艳损楼紲鯗餳類。当前应用最为广泛的移动电话标准,GSM(Global System for Mobile communication)是由欧洲电信标准组织ETS制定的,被100多个国家使用占据80%以上的通信市场份额,其网络遍布世界各地。GPRS(General Packet Radio Service)是GSM(Global System for Mobile communication)网络的一种移动数据业务。GPRS是以数据封装成包的形式来传输,用户只需支付使用的流量费,流量费以传输数据单位计算,理论上是一种较为便宜通信方式,可见GPRS在数据传输网络具有较高的性价比。栉缏歐锄棗鈕种鵑瑶锬。1.2 设计中主要问题环境监测系统主要在野外使用,野外恶劣的环境决定了环境监测系统必须有高可靠性的软硬件。硬件电路上选择合适的传感器和芯片显得尤为重要,因此主控芯片和传感器的选型以及在可靠硬件基础上实现软件抗干扰是本设计的主要问题。辔烨棟剛殓攬瑤丽阄应。1.3 主要问题的解决方案针对本次设计的需求通过比较几款温湿度传感器后,选择了测温范围为-4080的DHT22,此款传感器的测温范围可满足正常的室外测温,DHT22测量湿度的分辨率为0.1%RH,精度为2%RH,测量温度的分辨率为0.1,精度小于0.2摄氏度,可满足测量要求。测量从机选用LPC1768作为主控,作为一款工业级的Cortex-M3核的单片机其可靠性和性能是经过市场验证的,可放心使用。测量主机在室内使用,工作环境相对良好,因此选用价格相对适中的三星公司的消费级ARM11处理器S3C6410。峴扬斕滾澗辐滠兴渙藺。1.4 研究内容本次设计主要是从机采集温湿度数据,采集到数据后激活SIM900应用场景,然后开启GPRS通道向主机传送测量到的数据,主机通过以太网接收后显示在LCD屏上同时也会备份到自身的数据库中方便用户以后查看,主机上有相应的界面操作可供用户查看和操作。詩叁撻訥烬忧毀厉鋨骜。主机是一台由ARM11处理器、内存芯片、FLASH芯片和以太网芯片构成的嵌入式单板,单板运行Linux系统,在Linux上运行Qt界面程序,使用以太网接收数据,然后再由SQLITE数据库存储温湿度记录信息,从而可以查看以往的记录。则鯤愜韋瘓賈晖园栋泷。从机由ARM Cortex-M3核的微控制器和温湿度传感器DHT22以及通信芯片SIM900组成,传感器采集到数据后实时上传给主机。胀鏝彈奥秘孫戶孪钇賻。2 方案论证嵌入式系统的设计方案需要从功能、硬件芯片选型、硬件电路规划、操作系统的选取、开发平台的选取、通信协议选择等方面考虑。硬件芯片选型需要综合考虑芯片的工作环境、电压范围、功耗等因素。同时芯片的选型也要考虑软件运行需要的CPU速率和内存大小,在最小需求的技术上要留下20%80%的余量,以备日后扩展功能之用。本章节主要从系统功能、设计原理和芯片选型以及通信协议选择等方面进行介绍,其他部分在以后的章节介绍。鳃躋峽祷紉诵帮废掃減。2.1 设计原理本设计的从机通过温湿度DHT22测得温湿度,然后通过以太网络发送给主机,主机在线实时接收多节点的温湿度数据,主机收到数据后显示到LCD上,同时也会根据用户设定参数做相应的提示。稟虛嬪赈维哜妝扩踴粜。2.2 方案分析要想实现多节点测量就得有可靠的通信模型和通信协议,通信模型采用“服务器-客户端”的模型,通信协议是仿照modbus协议按照本系统需求设计的,同时受主机和从机距离的限制,所以通信采用以太网络,从机使用工控手机模块SIM900,主机采用ARM11处理器+Linux方案,主机在此设计中作为服务器存在,所以必须得为主机提供一个静态公网ip或者做动态域名解析。在系统架构搭建好之后就要分别设计主机和从机了,主机的工作是接收数据和提供人机界面,因此在S3C6410芯片最小系统基础之上添加LCD液晶显示部分和以太网口部分,从机主要是采集数据后传给主机,故主控使用LPC1768传感器使用DHT22通信使用手机模块SIM900(说明:因受硬件设施的限制主从机都采用开发板设计)。陽簍埡鲑罷規呜旧岿錟。近年来ARM核的微处理器和微控制器飞速发展,在计算能力和处理速度上有了很大提升,同时价格也不断降低,已经深入我们生活的方方面面,所以本系统顺应时代发展的潮流,采用ARM核的微控制器和微处理器可实现以下优点:沩氣嘮戇苌鑿鑿槠谔應。1) 低功耗,采用ARM处理器的主机能够以比X86主机更低的能耗实现同等的功能,为节能减排做贡献。2) 高计算能力,ARM核微控制器的处理能力远远高于8位和16位MCU,为后期扩充程序留下足够的余量。3) 更小的体积,嵌入式系统硬件系统是根据功能量身定做的,因此在硬件体积上比通用机有绝对的优势。4) 可靠性高,一些嵌入式系统结构简介,可靠性也相对会高一些。2.3 设计特点本设计采用嵌入式系统,整个系统架构精简,体积小,成本低,可靠性高,易于维护。硬件采用友善和路虎开发板实现,主机Linux系统使用友善提供的固件,几乎不用自己做工作,因此主要工作集中在通信协议的设计、Linux程序的编写和LPC1768程序的编写上。钡嵐縣緱虜荣产涛團蔺。3 硬件系统的设计与实现一个优秀的嵌入式软硬件架构才能构造出一个稳定的嵌入式系统,嵌入式硬件架构需要综合分析应用需求(比如:工作条件,采集的信号,输出等等)和软件需求(软件对CPU速度和内存、FLASH的大小要求等等)选取适当的元器件,同时也要考虑工作环境(如散热和电磁干扰问题)。只有从不同的方面考虑众多的系统之后才能设计出一个稳定的嵌入式硬件。懨俠劑鈍触乐鹇烬觶騮。我们设计嵌入式架构的时候要本着简单的原则,因为在一定程度上系统损坏的几率与复杂程度成正比,所以越是简单的系统越稳定。本设计硬件架构按照简单的原则进行设计,将系统总架构分为主机和从机,主机有着跟PC一样的硬件架构,不同之处是本设计的主机使用ARM11核的CPU,从机则是一个基于LPC1768微控制器的专用温湿度采集系统,从机由数据采集单元、传输单元以及处理单元三个结构单元构成。謾饱兗争詣繚鮐癞别瀘。主机主要的主要任务则是负责温湿度数据的接收、显示以及存储。因为本系统需要在线实时的统计各地的温湿度数据,数据量表较大,所以跑操作系统使用数据库是一个最佳的选择,同时也要提供良好的人机交互界面,因此对处理器的要求就比较高,所以在考虑硬件架构的时候选择了性能优秀的ARM11核处理器S3C6410。呙铉們欤谦鸪饺竞荡赚。从机主要负责温湿度采集和传输工作,任务相对简单一些,因此选用了ARM Cortex-M3核的工控芯片LPC1768.莹谐龌蕲賞组靄绉嚴减。主从机间的数据传输要达到实时的要求同时也要考虑布置网络的方便程度,所以就选用了以太网络,近些年随着网络技术的发展以太网络像蜘蛛网般的遍布我们的城市,因此选择以太网络通信可以省去布线的麻烦,可以说是一个很不错的选择。麸肃鹏镟轿騍镣缚縟糶。具体的硬件架构如图3.1所示。图3.1 系统硬件架构图本章节只介绍主要的硬件架构,其他分支架构不再介绍。3.1 主机硬件架构本系统的主机是一个裁剪过的小型ARM11主机,作为一个主机,CPU、RAM、FLASH、LCD是必须的,同时为了实现网络通信,所以以太网接口也是需要的。納畴鳗吶鄖禎銣腻鰲锬。主机使用Tiny6410开发板来实现。主机硬件架构如图3.2所示。图3.2 主机硬件架构图3.1.1 友善Tiny6410开发板核心板:Tiny6410核心板集成了S3C6410处理器,Nand Flash芯片,DDR RAM芯片以及专用复位芯片,同时也引出了所有IO,可方便进行二次开发。風撵鲔貓铁频钙蓟纠庙。底板:Tiny6410底板有丰富的资源,预留了三个USB(支持USB1.1和USB2.0协议),两个兼容RS-232电平和TTL电平的串口,音频输入输出接口,TV输出,PCI-E插槽,LCD插槽,中断按键,SD卡插口。灭嗳骇諗鋅猎輛觏馊藹。友善开发板底板实物如图3.3所示。图3.3 主机底板实物图3.1.2 S3C6410简介S3C6410是一款三星开发的基于ARM11核的处理器,它具有16/32位RISC体系结构。其内部采用了32/64体系的总线架构,由AXI、APB和AHB总线组成,S3C6410集成了很多音视频及图像处理方面的硬件加速器,提升了处理速度。同时也支持外部FLASH和RAM。铹鸝饷飾镡閌赀诨癱骝。同时为了降低成本,S3C6410内部还集成了大量的硬件外设,比如常用的24位LCD控制器,系统管理控制器,PWM单元,IIC、SPI单元,USB控制器等。攙閿频嵘陣澇諗谴隴泸。三星S3C6410内部结构如图3.4所示。图3.4 S3C6410内部结构总之,S3C6410提供了一个高性能、低功耗、低成本的硬件解决方案,针对其特点,该处理器适用于PDA、手机等。趕輾雏纨颗锊讨跃满賺。S3C6410主板实物图如图3.5所示。图3.5 S3C6410主板实物图3.1.3 以太网接口Tiny6410开发板集成了目前很流行的DM9000以太网控制器,该控制器芯片具有通用处理器连接接口,能够实现10M/100M自动切换,具有高速低成本的特点,能够满足大部分嵌入式系统的需求。夹覡闾辁駁档驀迁锬減。3.1.4 LCD显示屏显示屏使用的是群创公司生产的7寸液晶屏AT070TN83,AT070TN83的分辨率是800*480,使用a-SiTFT active matrix驱动单元,具有通常白色和透射式的显示模式,使用RGB颜色管理模式,整屏耗电为1.728w。视絀镘鸸鲚鐘脑钧欖粝。AT070TN83极限参数如表3.1所示。表3.1 AT070TN83极限参数项目符号值单位最小最大供电电压VCC-0.36V输入信号电压Vi-0.36.3V工作温度Top-2070存储温度Tst-3080LED反向电压Vr1.2VLED正向电流Ifs25maAT070TN83典型工作参数如表3.2所示。表3.2 AT070TN83典型工作参数项目符号值单位最小典型最大供电电压VCC33.33.6V供电电流Icc-300350ma输入逻辑高电压Vih0.7VccVccV输入逻辑低电压Vil00.3VccV3.2 从机硬件架构从机负责采集温湿度数据,然后通过GPRS网络传送给主机。从机主控使用工控微控制器LPC1768,数据传输使用工控级手机模块SIM900,数据采集则使用DHT22。这些都是工控级别的芯片,可在硬件上最大程度的保证系统的稳定性。偽澀锟攢鴛擋緬铹鈞錠。从机硬件架构如图3.6所示。图3.6 从机硬件架构图3.2.1 路虎LPC1768开发板路虎开发板是采用NXP公司生产的ARM Cortex-M3核的LPC1768微控制器的一款开发板,板载有丰富的外设资源。緦徑铫膾龋轿级镗挢廟。开发板具有USB仿真器,支持USB2.0 Device,有2个串口(支持RS-232和TTL电平),1个RS-485接口,支持双CAN接口,1个以太网口,1个TFT LCD接口,1个触摸屏传感器接口。騅憑钶銘侥张礫阵轸蔼。路虎开发板如图3.7所示。图3.7 路虎开发板实物图3.2.2 LPC1768简介LPC1768是ARM Cortex-M3微控制器的嵌入式应用,具有集成度高和功耗低的优点。 ARM Cortex -M3是下一代微控制器的核心,提供了系统的增强功能,如增强了调试功能和支持更高块集成的水平。疠骐錾农剎貯狱颢幗騮。LPC1768工作在高达100 MHz的CPU频率。ARM的Cortex -M3 CPU还包括一个支持投机分支和内部预取单元。镞锊过润启婭澗骆讕瀘。该LPC1768的外部设备主要有以下部件,高达到512 KB的闪存内存以及64 KB的存储器,以太网MAC ,USB设备/主机/ OTG接口,8通道的通用DMA控制器, UART 4个,CAN通道2个,SSP控制器2个,SPI接口,I2C总线接口3个, 2输入/输出的I2S总线接口, 8通道12位ADC ,10位的DAC,马达控制PWM ,正交编码器接口,通用定时器共有4个, 6输出的通用PWM ,超低功耗实时时钟(RTC),有独立的电池供电,通用I / O引脚最多可达到70个。榿贰轲誊壟该槛鲻垲赛。LPC1768/66/65/64是引脚兼容的100脚LPC236X ARM7的微控制器系列。ARM Cortex-M3简介:Cortex-M3是一款低功耗,门数目少,低延迟中断,低调试成本,是为实时性应用设计的处理器,1其采用ARMv7-M架构。邁茑赚陉宾呗擷鹪讼凑。Cortex-M3整合了以下组件:1) 处理器内核: a. ARMv7-M :作为Thumb-2 ISA子集,包含了所有基本的16位和32位Thumb-2的指令。 嵝硖贪塒廩袞悯倉華糲。只有分组的SP b. 硬件除法指令:SDIV和UDIV(Thumb-2指令) c. 处理模式和线程模式2)NVIC(嵌套向量中断控制器):a. 可配置1240个外部中断b. 可配置为38位优先级c. 可动态重新分配的中断优先级d. 优先级占先和非占先两组e. 支持末尾连锁和迟来中断。这样,在两个中断之间没有多余的状态保存和状态恢复指令的况下,使能背对背中断处理该栎谖碼戆沖巋鳧薩锭。3)总线接口:a. AHBLite ICode、DCode 和系统总线接口APB专用外设总线b. Bitband支持c. 存储器访问对齐d. 写缓冲区,用于缓存写操作数据。ARM Cortex-M3结构框如图3.8所示。图3.8 ARM Cortex-M3内核内部结构图3.2.3 DHT22温湿度传感器DHT22数字型温湿度传感器是一款已校准数字信号输出的温湿度复合传感器。其拥有的专用数字采集模块和温湿度传感器技术,能够确保可靠性和稳定性,包含一个NTC测温传感器和电容式感湿传感器,其内部有一个8位微控制器。其响应快,品质好,抗干扰强,性价比高。每个传感器在实验室中校准,校准系统存储在OTP内存中,传感器监测过程中调用这些系数。使用单总线接口,系统集成简单快捷,体积小,功耗低等优点。劇妆诨貰攖苹埘呂仑庙。传感器应用领域:空调,家电,医疗等。传感器性能及参数如表3.3所示。参数条件MinTypMax单位湿度分辨率0.1%RH26Bit重复性0.3%RH精度252%RH-20802%RH互换性可完全互换采样周期2S温度分辨率0.116Bit重复性0.2精度选项-构建和运行-构建套件。点击,配置参数后点击确定,如图4.2所示。鋝岂涛軌跃轮莳講嫗键。图4.2 QTE配置图修改编译器如图4.3所示。图4.3 QT项目配置图至此Qt开发环境搭建完成。5 系统程序设计与实现整个系统的软件架构师从机采集数据后通过以太网络以TCP协议的形式发送给主机,主机接收解析数据并显示到LCD液晶屏上,同时主机也会将收到的数据存到自身的FLASH中,主机运行Linux系统和SQLite数据库。撷伪氢鱧轍幂聹諛詼庞。系统软件架构如图5.1所示。图5.1 软件架构图5.1 嵌入式Linux程序设计5.1.1 程序架构设计主机的程序架构可分为通信、数据库和显示三部分,通信部分接收到从机送来的数据后解析数据帧,然后将解析得到的数据存储到数据库和内存中,显示部分从内存中读取通信部分提供的实时数据,同时也会判断用户操作,如果用户需要查看以前的数据则从数据库中读取数据。数据库部分负责存储数据,是显示和通信沟通的桥梁。主机的三部分程序相辅相成共同为用户服务,缺一不可。踪飯梦掺钓貞绫賁发蘄。主机程序架构如图5.2所示。图5.2 主机软件架构图5.1.2 数据结构设计主机需要实时接收多个从机发送来的数据,因此可用表来保存从机的数据,首先建一个结构体,此结构体表示一个节点数据,然后再以此结构体为元素建一个数组,则数组下标即为节点号1,具体代码如下:婭鑠机职銦夾簣軒蚀骞。#define MAX_NODE_SIZE 10 /节点数量typedef struct /节点结构体f32 humidity;f32 temperature;data_t;data_t dataTableMAX_NODE_SIZE; /所有节点数据表,节点号为数组下表譽諶掺铒锭试监鄺儕泻。其余的参数可直接读取数据库不需要全局交换数据,因此采集局部变量不再设计全局的数据结构。5.1.3 QT程序界面开发Qt是一款诺基亚公司开发的可跨平台移植的基于C+的界面库,跨平台UI库QT的出现极大的方便了嵌入式系统的开发和移植,不同平台的应用程序可在修改少量代码之后重新编译移植到不同的平台。本设计采用Qt做GUI界面,使用了QButton、QTableView、QLineEdit、QLabel等控件。俦聹执償閏号燴鈿膽賾。Linux系统启动界面如图5.3所示。图5.3 Linux系统启动界面Qt程序启动界面如图5.4所示。图5.4 程序启动界面主机程序采集数据主界面如图5.5所示。图5.5 程序采集数据主界面5.1.4 SQLITE数据库开发SQLite是款轻量级的数据库,遵守ACID数据库管理系统关系型,它是为嵌入式系统设计的,因其占用极少的资源,所以在嵌入式设备中只需要几百K的内存。SQLite除了支持嵌入式系统之外还能够支持Windows、Linux、Unix等主流的操作系统,能够跟Java、PHP、C#等语言结合,具有OCBD接口。缜電怅淺靓蠐浅錒鵬凜。虽然SQLite是一款轻量级的数据库,但其性能一点不甘示弱,对SQL语句有良好的支持,支持以下SQL语句:骥擯帜褸饜兗椏長绛粤。ATTACH DATABASEBEGIN TRANSACTIONCOMMIT TRANSACTIONCOPYCREATE INDEXCREATE TABLECREATE TRIGGERCREATE VIEWDELETEDETACH DATABASEDROP INDEXDROP TABLEDROP TRIGGERDROP VIEWEND TRANSACTIONEXPLAINexpressionINSERTON CONFLICT clausePRAGMAREPLACEROLLBACK TRANSACTIONSELECTUPDATE对本设计的需求分析可知,一共需要id、time、temperature、humidity等4个字段,创建表的语句如下:癱噴导閽骋艳捣靨骢鍵。create table em(id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,time TEXT NULL,temperature FLOAT NULL,humidity FLOAT NULL)读数据库语句:select * from em where id=ID(ID为要读取的记录ID)插入记录语句为:insert into em(time,temperare,humidity,?,?,?),句中三个?表示字段对应的数据。鑣鸽夺圆鯢齙慫餞離龐。5.1.5 SOCKET网络通信的设计与开发socket在英文中的意思是插座,作为一种通信机制socket用来描述IP与端口,是通信链的一个句柄,不同端口用于不同的服务,如其socket英文原意,就像一个布满各种插座的房间,这些插座有着不同的电压,只有找对插座才能正常工作,得到不同的服务。榄阈团皱鹏緦寿驏頦蕴。本设计中的PORT使用2741,IP则依据实际申请的IP来定。SOCKET连接过程分为三个步骤:连接监听,客户端请求,连接确认。服务器监听:服务器套接字不确定客户端套接字,处于等待连接的状态,实时监控网络。客户端请求:客户端的套接字提出连接请求,连接目标是服务器的IP和端口,客户端向指定的服务器IP和端口请求连接。逊输吴贝义鲽國鳩犹騸。连接确认:服务器的套接字监听到客户端连接请求后,它会响应连接并发送确认报文给客户端,一旦客户端确认此报文,连接就建立好了。幘觇匮骇儺红卤齡镰瀉。本设计中使用Qt集成的socket类,Qt集成的这些类极大程度的为开发人员提供了便利,而且丰富的文档使得开发更加简单高效。誦终决懷区馱倆侧澩赜。使用套接字类读出报文数据后,根据自定义的通信协议解析温湿度数据,然后将数据存到缓存中供数据库和显示使用。通信协议是参照modbus协议修改的适合本系统的协议。通信协议为“:01EE1234567898989898rn ”,通信协议采用16进制,冒号为固定头部,01表示地址,EE为固定数据
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 风电叶片水性涂料项目可行性研究报告
- 防汛抢险知识培训资料课件
- 旅游业项目计划报告
- 酒店客房服务方案指南
- GeneralAgencyAgreement总代理协议3篇
- 节点重要性评估-洞察及研究
- 藤材资源优化-洞察及研究
- 安徽省黄山市2024-2025学年高二上学期期末质量检测化学试卷 (含答案)
- 气压纳米材料改性-洞察及研究
- 2025年广东省广州市中考物理三轮冲刺《声现象》
- 1.3 几和第几(课件)数学苏教版一年级上册(新教材)
- 1.3加与减①(课件)数学沪教版二年级上册(新教材)
- 2025至2030中国HPV相关疾病行业项目调研及市场前景预测评估报告
- 许昌襄城县特招医学院校毕业生招聘笔试真题2024
- 2025版全新离婚协议书:财产分割、子女抚养及离婚后财产保全合同范本
- 石油钻井知识课件
- 永辉超市快消培训
- “学回信精神·助改革发展”专题调研报告
- 2025年医学基础知识题库及答案
- (2025秋新版)苏教版三年级数学上册全册教案
- 2025北京京剧院招聘10人考试备考试题及答案解析
评论
0/150
提交评论