




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、上海第xsfat本科毕业设计(论文)题目:基于gps定位信息 系统的设计与实现学 姓 班 专号:xxxxxxx名:xxxx级:xxxxx业:电子信息工程学部(院):工学部入学时间:xxxx级指导教师:xxxx日 期:2017年x月xt基于gps定位信息系统的设计与实现摘要随着无线导航定位技术、网络技术、计算机通信技术、自动化和人工智能 系统的飞速发展,使得gps在很多领域都因其独特的优点而得到广泛应用,如 广泛应用在土建测量、车俩查询与监控、工程测量、航空摄影测量、地壳运动监 测、个人旅游及野外探险、紧急救助、飞机、轮船、车辆的导航与定位等各个领 域,定位服务市场得到空前发展,目前市场上也存在
2、一些定位系统绕开了无gps 卫星定位系统信号的问题,使用蓝牙、射频识别、zigbee、wifi等技术,这些 技术虽然可以提供较高精度的定位,但其不足之处在于只能应用在特定的设备上 和特定的环境中,不仅安装复杂、费用高,而且应用范围狭隘。如何扩大定位系 统服务的应用范围,降低定位系统的部署成本,提高设备的利用率,使得定位系 统应对突发事件的救援能力得以增强,在现实中具有非常重要的意义。本设计是基于嵌入式系统和gps模块等部件设计的一款定位信息系统,将 接收到的数据进行读取和处理并将接收到的定位信息显示在液晶显示屏上,通过 wifi实现对定位信息数据的传输,其中wifi选用esp8266芯片,在硬
3、件设计 中,起通信桥梁的作用,通过html实现web网页在pc机端的定位信息的管 理。关键词:gps;定位服务;液晶显示;wifi; esp8266design and implementation of locationinformation system based on gpsabstractwith the rapid development of wireless positioning technology, wireless network, computer, automation and intelligent system makes the gps in many fie
4、lds because of its unique advantages and is used in various fields widely, such as land and engineering surveying, photogrammetry, crustal movement monitoring, engineering deformation monitoring, and personal rescue, and vehicles, aircraft, ship navigation and so on. positioning market has been an f
5、ast development. there are some positioning systems without the satellite positioning system signal which use bluetooth, frequency identification, zigbee, wifi and other technologies. not only can these technologies provide high precision positioning but its shortcomings used in specific equipment a
6、nd specific environment. what's more, complicated installation, high cost, and naitow range make its applications are limited. what is important to enlarge the application industry and the scope of the location service, to reduce the deployment cost, improve the utilization ratio of the equipmen
7、t and enhance the ability of emergency, how to expand the scope of application of positioning system services, reduce the deployment cost of positioning system, improve the utilization of equipment, making the positioning system responded to emergencies can be enhanced, which has a very important si
8、gnificance in reality.the design is based on embedded systems and gps modules and other components designed a positioning system, the received data is read and processed and the received positioning information is displayed on the liquid crystal display screen, and the transmission of the positionin
9、g information data is realized by the wifi which selects the esp8266 chip, and design the hardware, wifi plays a role in bridge through the web page manage the computer information.key words: gps; location service; lcd; wifi; esp8266目录1绪论11.1本课题设计的背景11.2本课题的研究目的与意义11.3本课题的设计内容22系统定位方案的总体设计32.1定位信息系统
10、的简介32. 2定位信息系统的结构设计32.3定位信息系统的功能42.4系统软件开发环境的选择53系统硬件电路的设计63. 1系统硬件整体设计63. 2主控制模块63.2. 1微处理器63.2.2液晶显示屏73.2.3 电源83.3 esp8266 芯片93.4 gps 模块93.5串口电路114系统软件的设计与实现134. 1软件的整体设计流程134.3串口通信程序设计154.3 gps数据接收程序设计164.4 wifi数据传输程序设计184. 4. 1 wifi 的串口 at 指令184. 4.2 wifi的热点设计194.5 web服务网页的设计与实现205系统功能测试225. 1系统
11、硬件测试225. 1. 1 gps模块的测试225. 1.2 wifi模块的测试255. 2系统软件测试255. 3系统最终实现的功能255.4实验结果及分析266结束语296. 1小结296. 2展望29参考文献32附录331绪论1.1本课题设计的背景gps定位技术是目前正在快速发展中的最具有开创意义的高新技术之一,与 此同时数据处理技术也在一直不断更新的状态之中,各系列、型号的gps接收 机生产厂商研制的处理软件各自具有各自不同的特色。由于gps具有全球性、 全天候性的导航定位、定吋、测速等功能优势,因此被广泛应用在诸多领域内。 在发达国家,gps技术已经广泛应用于交通运输和建设工程及航空
12、航天等诸多工 程领域之中。中国作为最大的发展中国家,非常注重对卫星导航技术的研发,不 仅引进了国外最先进的gps定位技术,并且成功创建了自主研发的北斗卫星导 航系统,我国的卫星导航产业也迎来了自己的春天。卫星导航技术以及产业的发 展对我国经济增长与社会进步具有深远的意义。目前,gps技术在我国道路桥梁 铁道工程、土地建设和交通管理中的应用虽然已经取得了突岀成就,但是仍处于 初级阶段,有许多深层次的方案有待开发研究,相信伴随着我国经济的腾飞以及 对gps技术探讨的进一步深入,gps定位技术与电子map.无线电通信网络及 计算机网络管理信息系统间的相辅相成,可以实现资产追踪和定位信息管理等诸 多功
13、能。gps作为一个经典的定位手段将在各行业发挥着更为重要的作用。1.2本课题的研究目的与意义随着信息化、数字化及物联网产业的迅速发展,定位服务市场也得到了空前 的发展。目前我国市场上使用的定位系统主要有全球定位技术(gps)和北斗卫 星导航定位系统(bds),由于现阶段我国的bds尚且没有完全建立健全,bds 的覆盖范围、定位精度、用户容量及生存能力等暂且不及gps定位系统,加上 gps不仅具有全球性、实时性、全天候、连续、高精度的三维导航、定位、定时 等功能特点优势,而且还具有良好的抗干扰性、保密性、高效率和低成本等优点, 引起了社会各个行业的普遍关注,gps技术已经渗透到我国国民经济建设和
14、社会 生活活动的各个方面,并且发挥着越来越为重要的作用。此次研究课题是应用gps技术、无线网络技术和嵌入式系统设计一款定位 信息系统,通过lcd及pc机实现对定位系统的信息管理,成为未来优化定位 信息系统的关键,为定位服务市场带来诸多的便利。1. 3本课题的设计内容本课题的思想是基于stm32单片机和gps模块基础实现两者之间通讯的设 计,wifi在系统中起通信的桥梁作用,gps模块通过接收卫星发射的无线电信 号实现对定位信息的获取,接着gps模块对接收到的数据进行相应的读取和处 理,随后将获取的数据传送到lcd上。与此同时,通过wifi网络实现与pc机 z间的通讯,使用html对web网页进
15、行设计,进而将获得的gps数据传至 web网页。2系统定位方案的总体设计对于定位系统而言,设计的关键是gps模块的定位数据的采集与实时传输 以及在lcd±的动态显示。因此研究定位技术、数据传输技术以及wifi技术 在整个定位信息系统中的应用具有重要意义。2. 1定位信息系统的简介定位系统采用了目前最前端的无线导航定位系统,采用了以24颗卫星为基 础的卫星系统,其中工作卫星和备用卫星的数目分别是21颗和3颗以保证地面 控制终端能够在任意时刻、任意地点都能够同时观测到4颗同步卫星的运作情 况,进而确保卫星可以采集到该观测点的定位信息,从而实现同步卫星导航、卫 星定位和卫星授时等功能;系统
16、的导航定位可以不仅可以实现对飞机、船舶、车 辆、导弹以及个人路线进行追踪而口还可以用来引导其准确而安全地沿着预先设 定的路线到达目的地,目前我国市场上除了美国的gps技术外,还有我国自主 的北斗卫星导航系统,由于北斗卫星导航系统还没有完全建立,所以市场上广泛 应用的依然是gps技术。2. 2定位信息系统的结构设计定位信息系统由空间系统、地面控制系统和gps接收机部分构成。也就是 在距离地面2万公里、倾斜角为55度的地球的轨道上分布有一个由24颗卫星组 成的网络系统,其屮每条轨道上各自分布4颗同步卫星,卫星沿固定速度运作, 绕地球运行一周正好用吋12小吋,使得地面控制系统在地球上任意一点都能够
17、同时接收到7到9颗卫星的发射的定位信号。另外地面上有1个主控站和5个监 控站,其中主控站地面控制系统的核心,gps接收机每6分钟对每颗可见卫星进 行一次观测,同时采集数据信息并将采集到的数据传送给主控站,同时主控站还 负责收集各监控站的发射的数据信息并根据接收的数据计算出每颗卫星在任意 时刻的精确位置,并通过3个注入站将精确的定位数据信息进行相应的处理后发 送给同步卫星,接着卫星再将这些数据通过无线电波向地面发射至用户接收端设 备,从而实现用户对定位信息的获取;监控站负责对同步卫星的监视与控制并且 对每颗卫星提供实时观测和向主控站提供精确的观测数据。定位系统的结构示意图如图2-1所示。另外,定
18、位系统的各部分功能分布及通信情况如图2-2所示。图2-1 gps组成图2-2 gps三大部分2. 3定位信息系统的功能定位装置通过gps模块实现对定位信息的获取,其屮wifi模块主要负责信 息的传输,然后通过综合分析判断出其位置信息及检验定位信息的准确性。gps 卫星主要负责接收并存储由地面注入站发来的导航信息,接收并执行地面监控站 通过注入站发来的控制指令信号,使用l波段中波长为19cm和24cm波段的两 个无线电载波向用户发送定位数据,通过原子钟提供精密的时间标准并且进行部 分必要的数据的处理,在地面监控站指令的控制下,通过推进器调整t星的运行 状态以达到启用备用卫星的目的。2. 4系统软
19、件开发坏境的选择软件开发平台选择keil software公司出品的keil5软件开发系统,地理信息 系统选用由万维网推出的超级文本标记语言html。keil5提供了包含有c编译 器、库管理系统以及功能强大的仿真调试器等,具有强大的测试与开发编写功能, 通过集成开发坏境将相关系统开发方案整合在一起。keil 5生成的目标代码及汇 编代码的效率高而紧凑,因此更方便开发者使用,在人型软件开发吋具有独特的 优势。为了对定位系统的数据信息进行管理,采用超级文木标记语言(html) 来建立自己的web网页站点,html运行在浏览器上,由浏览器来解析,html 文档制作不仅相对简易,而且功能也很强大,支持
20、不同类型数据格式的文件的嵌 入与提取,它在结构性、可读性、可维护性等方面上都具有明显的优势。使用 html创建文本与图片相结合的复杂web页面,这些页面可以被网上任何人浏 览查阅,无论操作者使用的是什么类型的电脑或浏览器。另外html还定义了 许多种类数据类型内容的元素,例如脚本与样式表的数据以及其它类型的属性 值,包括id、名称、数字、长度单位、语言、媒体描述符、颜色、字符编码、 口期和时间等,所有这些对应的数据类型都属于专业的字符数据,具有独特的含 义。开发环境界面如图2-3所示。tile edit view project flash debugreripnerais iooiswina
21、ow neipn洁釦齐7也|1卩|圭苫m ii .占usart3冋分声6> «直寸冬凹也嫁絆 wf-esp82660恳| a soject3 main.c wifijunction.<b$p.u$art3.c wtfijunction.h b$p_sy$tkk.cstm32f 10x.it.cm 乜 project iso-stm32丄200 a wf-esp826621staricio u32 timingdelay = 0;曰 4 startup22$urtup.$tm32fl0x.hd.$23 f243/* qbrief启动丢统濟答定时器systick3 cj cm
22、sis25* sparam 无s) ui fwlb26* qretval 无e 4 user27l */qdmain.c28 29 cvoxd systxck_inxt( voxd )$tm32flox_conf.h30 § /* systemfrequency / 100012中断一次引$tm32flox_it.c31* systemfrequency / 100000103中断一次stm32h0x.it.h32* systemfrequency / 1000000 lus中断一次s)bsp.usartl.c3334 */if ( syatick config(syatemcore
23、clock / 1000) ) / st3.5.0库版本30bsp.gpio.cj (gdb$p.sy$tick.c36/* capture error */7、 xxzwhile (1);图2-3 keil uvision5开发环境界面3系统硬件电路的设计系统硬件设计软件主要包括定位信息系统的各个硬件模块的应用与介绍,具 体介绍了硬件之间的信息传输情况及设计思路。3. 1系统硬件整体设计定位装置的硬件总体结构框图如图3-1所示。定位终端主要有3部分组成, 分别为gps模块、stm32单片机、pc机。通过对这三部分的设计连接,定位终 端将实现对gps定位数据的接收与分类处理,并实现对接收信息的
24、分析与定向 发送等功能。在本系统中,stm32单片机主要控制gps模块,系统的硬件框图 如图3-1所示。图3-1系统结构框图3. 2主控制模块主控制模块是整个定位操作系统的核心,对各相关模块进行初始化、控制和 管理。首先对各模块进行初始化操作。3. 2. 1微处理器stm32f103单片机是一款32位的微处理器,由意法半导体(st)公司于 2007年6月正式推出,它的内核是目前最新一代嵌入式cortex-m3处理器(arm 处理器),stm32为实现mcu的需求不仅提供了低成本的服务平台、缩减了处 理器的管脚数目、降低了整个系统的功耗,同时还提供了突岀的计算性能和先进 的屮断系统响应以及提升额
25、外的代码效率,在8与16位系统的存储空间上使 arm的核心性能得以提高。stm32单片机的工作频率为72mhz,它的内部不仅置有咼速存储器(咼达128k字节的闪存和20k字节的静态随机存取存储器) 而且还配有丰富的i/o端口与联接到两条外围总线的外部设备,另外stm32f103 系列型号的器件都含有两个12位的adc、三个通用16位定时器和一个pwm 定时器,此外还包含有标准和先进的通信接口。由于stm32f103单片机拥有内 置的arm核心,因此它与所有的arm工具与软件都具有兼容性,能很好的融 合在一起,stm32单片机的微处理器对应的原理图如图3-2所示。wutw.utjo 兀wu
26、69;mcu gpio akti:c.rx5t55.qcw>xlxbixl 'sa:-gati.&x 04 mb xd.g g:.nciicic dc u.s c.d:6u.b* c"w2irabq 乂交应c uic vsu.wu:c*1oxc gu.d90dc 9»>«o»*w ojo.cxkeyfmcmosvett:mo©;严1z a a a”l.去/噹3>:4 j a7.*4*;£r87cm>a:4>ax;osc.y淀ovtki;11=adoxtx5tmtxxf-.:oftcjsov
27、t图3-2 stm32微处理器原理图3. 2. 2液晶显示屏液晶显示器(lcd)由在两片平行的玻璃与玻璃间的放置液态晶体组成,它本 身不会发光,两片玻璃间分布着许多垂直与水平的细小的电线,通电后杆状水晶 分子的将随着通电电流的变化而改变方向,方向改变后将光线折射出来在lcd 上产生预先设定的画面。液晶显示器的内部电路结构主要有驱动板、电源板、背 光板、液晶屏构成,其中驱动板主要用来接收和处理从外部发送进来的模拟或数 字信号,并通过屏线发岀的数据信号来控制lcd的工作情况;电源板的作用是 将交流电转变为直流电用来支持液晶显示器的运作;背光板主要用于将主板或电 源板输岀的直流低电压转变为液晶屏所需
28、高压交流电,同时点亮lcd的背光灯, 形成所谓的电源与背光合二为一的显示面板;液晶屏是液晶显示器的核心部件, 由液晶板与驱动电路构成,其中液晶屏是液晶显示器内部最为关键的部件,因其 功耗低、体积小、承载信息量大等特点,因而被广泛用于信息输出、电视机,笔 记本电脑,数码和机、广告宣传等各行各业中,其中液晶显示器的性能和价格对 其应用的范围具有决定性的作用,另外由于stm32单片机在lcd的显示面板中相应地自带含有驱动芯片的驱动电路,stm32单片机通过运行驱动芯片来控制 液晶屏。木定位系统的选用的是3. 2寸的液晶显示屏(尺寸大小为240*320),液 晶显不屏的原理图如图3-3所不,其中ili
29、9341芯片是液晶显示屏的控制中心, 由于lcd的显示装置木身是不发光的,所有需要借助背光源才能达到lcd能够 显示的目的,其中采用led控制器来控制液晶显示屏的led背光源。< pdu:;?d9-1716'1514ii1211' 1098765433v3tn31db00db01led resetdb02led bldb03 nrfuled cs rddb05wedb0«rsdb07dbosdb09dclkdb10doutdb11dindb12cs«db13penirqdbmdb155vgndgnd3v3gndut3 2lcd29302326<p
30、et3- crott;- pe4 >5vgndgnd图3-3 lcd液晶屏3.2.3电源stm32单片机的电源电路由电容滤波、三端电压、电容滤波组成,其屮的 电容作用都是一样滤除电路中滋生的锯齿波,不同电容的电容值所通过的频率不 一样,所以电路中使用了不同电容值的电容从而使得所有的锯齿波转为平滑的脉动波。供电电路如图3-4所示。llc24tp二:uscovtovt< 1,ci0 2图3-4供电电路3. 3 esp8266 芯片esp8266是一个完整且目成体系的wifi网络解决方案体系,与单片机的串 口引脚配置连接成功后可以直接进行通讯,能够独立地运行,搭载软件应用,负 责从无线网
31、上接入wifi适配器所承担的任务,或通过别的处理器卸载所有wifi 网络的功能,esp8266作为搭建应用时设备中唯一的处理器,能够直接从外接闪 存中独立启动,内置的高速缓冲存储器有利于提高系统性能并降低内存的需求。 另外esp826拥有的强大的片上处理及存储能力,从而使得芯片能够通过gpio 口集成传感器和其他相关联的器件,实现wifi技术在开发中最小地占用定位系 统资源的目的。esp8266是由天线、开关、电源管理转换器三大部分构成的,所 需外部电路极其少,整个解决方案在设计中所占pcb空间降到最低,基本模组 电路如图3-5所示。.:x s 2 pb3 |,w.-pbs vmfi.enwi
32、v? sd!o data】 >dio_datao «5ojxk sdio.cmd eioj£kta3 sd10 dawlna vdd3p3 vdd3p3 vdd-rtctout chip.en xpdj>cdc132019t7tlno'y.lxni、<hxv(saejm-w<czj-clkm :x/|d_cmdu心3<)sdjd2乂plslfcaaa ialsookidseo0010e$p326$图3-5 esp8266模组电路图3. 4 gps模块neo-6m gps模块是高性能、低功耗gps定位模块,该模块提供经纬度 坐标信息的获取
33、及更新服务等功能。gps模块可以通过串口向stm32单片机系 统传送gps接收机接收的定位数据。此外gps模块操作简单,工作性能稳定、 器件接口布局设计精美,gps模块的原理图如图3-6所示,其资源模块描述见表3-1/tpxsc.xtctxtnxfm14xf1541?f.is91>1,沁|- r5:3tillgndgndmosictg ccm0v isxosocfg.oomlgndctg.gwosckvcc.mrzszxxtdba2nzo-5gtxd!rxd1kx.ixtovbckptdbopvusvccp ngndke5stdv4uio4:i usb dm呃dp 5一.gnd1lixx
34、cvin3v5d2d3图3-6 gps模块原理图表3-1 gps模块资源描述表编号名称说明1neo- 6m模 块neo-6m模块是gps定位模块的控制核心,具有快速搜索卫星的能 力,定位精度相对高,适用于高性能、低功耗的卫星监测系统。2eeprom芯 片gps模块使用的是at24c32型号的eeprom芯片,用来记录gps模块 的相关参数,每次重启eeprom芯片后,gps模块组会从中重新加载 配置信息。3xh414 法拉电 容xh414法拉电容与锂电池类似,在主电源掉电时能够为gps模块的 rtc部分供电,目的是为了系统重启吋能够快速搜索到信号,英供电吋 长达可达1小时。4有源天线ipx 接
35、口有源天线的ipx接口可用来扩展有源天线,使用有源天线可把接收器引 到室外,以提高信号的接收能力。5时间脉 冲指示 灯gps模块通电后时1'可脉冲指示灯一直亮着,当gps模块接收到数据以 后,指示灯会以1hz的默认频率不断地闪烁着。6陶瓷天 线使用源陶瓷天线时只有一个陶瓷片接收卫星信号,由于模块内部自带低 噪声放大器,所以不需要外部连接有源天线,也可达到良好的信号接收 效果。(7】3.4.2 nmea-0183协议数据格式nmea-0183协议是nmea (美国国家海洋电子协会)为海用电子设备而 制定的标准格式,nmea0183协议在过去海用电子设备的标准格式0180和 0182的基础
36、上完善了 gps接收机输出的内容。目前已经形成了 gps导航设备 统一的rtcm标准协议,此外还扩展了北斗导航系统的版木,目前除了极少数 早期的gps接收机外,儿乎市场上所有的gps接收机都采用了 nmea-0183协 议数据格式。为了在不同的gps导航设备中建立统一的rtcm标准,gps接收 机的通用化与互换性的提高使得nmea-0183协议数据格式得到更为广泛的应 用。nmea-0183拥有多种不同的格式,格式输出的语句选用的是独立相关的 ascii字符码,它包含了经纬度、速度、日期、时间、航向、以及卫星个数等数 据信息。nmea-0183协议定义的语句格式多达10余种,由于在此次设计中主
37、 要应用了$gprmc定位数据语句格式,其屮交谈识别符设定为“gp”,语句识别 符设定为“rmc”,校验和“hh”代表了 “$”与之间所有的字符的按位异 或值(不包括这两个字符),$gprmc定位数据语句结构为:$gprmc, <1>, <2>, <2>, <4>, <5>, <6>, <7>, <8>, <9>, <10>, <1 l>*hhcr>lf >1>协调世界时间(utc), hhmmss (时分秒)格式<2>定位状态,a二
38、有效定位,v二无效定位3>纬度ddmm. mmmm (度分)格式<4>纬度半球n (北半球)或s (南半球)5>经度dddmm. mmmm (度分)格式<6>经度半球e (东经)或w (西经)<7>地面速率(00009999节)<8>地面航向(00003599度)<9> utc日期,ddmmyy (日月年)格式10>磁偏角(000.01800 度)11>磁偏角方向,e (东)或w (西)12>模式指示(a二自主定位,d二差分,e二估算,n二数据无效)<13>校验和。3.5串口电路定位系统采用的
39、gps模块的核心是neo-6芯片,它控制着整个定位系统的 实时数据的处理,gps接收模块可以将卫星接收的数据按照一定的协议格式输 出,gps模块的接收与发射信号一般有电源输入信号、时钟脉冲输出信号、rxd、 txd等。gps模块和wifi模块之间的信息是通过串口进行传输的,wifi模块 的核心芯片为esp8266,开发板的串口 2和串口 3分别和gps模块与wifi模块 的串口相连,通过微处理器对串口的控制,将gps模块接收到的信息传输给wifi 模块,wifi模块再将信息发送终端pc机上,gps、wifi模块与stm32的连接 方式如图3-7所示。图3-7 gps、wifi模块与stm32的
40、串口连接4系统软件的设计与实现系统的软件设计主要包括定位信息系统的各个模块的程序设计以及pc机 上web页面显的示设计,定位信息系统的程序主要是进行gps数据的接收与 控制,web网页主要是用来实现对定位数据的管理。4.1软件的整体设计流程在系统的终端设计中是采用c语言编写,开发环境为keil5,设计的关键是 stm32通过串口通信接收到wf-ne0-6m gps模块的数据,并将接收到的实时 信号显示到lcd显示屏上,再通过wifi模块发送处理后的数据,pc机连接 wifi产生的热点sspu-ee,在网页处输入ip地址192. 16& 123. 166打开网页, 在网页上看到网页内容信
41、息,整体的设计及数据流向如图4-1所示。以下是定位 系统的主程序。图4-1软件设计* brief gps液晶显示测试程序* param 无* retval 无*/int main(void)nmeainfo info;/gps解码后得到的信息nmeaparser parser; 解码时使用的数据结构uint8_t new_parse=o;是否有新的解码数据标志char strpage1024;u32 slen=o;led_gpio_config();usartl_config();systick_init();/*crc和emwin没有关系,只是他们为了库的保护而做的,这样stemwin 的库
42、只能用在st的芯片上面,别的芯片是无法使用的。*/rcc_ahbperiphclockcmd(rcc_ahbperiph_crc,enable);gui_init();gps_config();wifi_init();初始化wifi模块使用的接口和外设nmeadecodeinit();/gps 解码初始化/*初始化gps数据结构*/nmea_zero_info(&info);nmea_parser_in 让(&parser);sprintf(strpage,http_page,latitude,longitude,altitude,speed);发送内容为 latitude,l
43、ongitude 值slen=strlen(strpage);4. 2显示屏程序设计定位信息系统的显示部分在设计时,选用的是ili9341型芯片控制液晶屏的 显示,将目标信息在lcd±显示,从而实现定位信息获取的关键,本系统设计 的关键是stm32单片机串口、lcd模块初始化、gps模块初始化后,gps获取 有效的数据,而stm32单片机通过串口通信接收有效的gps数据,这里选用的 是串口 2, gps接收机接收并保存数据后将定位信息传送给stm32单片机并在 lcd上显示。考虑到调试及移植,对显示屏程序的设计使用模块化设计进行展 开,其中lcd显示设计涉及到的主耍模块有串口初始化模
44、块、液晶模块初始化 模块、gps接收模块,具体的主程序流程如图4-2所示。main图4-2主程序流程4. 3串口通信程序设计stm32单片机有两个独立的串口 uart2和uart3,两个串口分别与gps 模块的rxd、txd和wifi模块的urxd、utxd相连,stm32单片机对gps 模块与wifi模块的控制都是通过uart2和uart3来实现的,uart2和uart3 通讯程序的主要功能就是对串口进行初始化、负责uart2和uart3的数据读 取和写入。当串口 2初始化结束以后,uart2和uart3读取或写入存储器内的 数据,当等待接收缓存区为空时,usart2和uart3就可以分别接
45、收gps数据 和wifi数据,当等待发送的缓存区的数据为空时,接收到的gps数据和wifi 数据就可以分别写入usart2和uart3,否则的话,gps数据和wifi数据既 进不来也出不去,usart2和uart3只有一盲等待下去,肓到等待接收缓存区 的数据为空或等待发送缓存区的数据为空。综上所述,系统的串口通信模块可以相应地分为三个模块:一是串口初始化模块,二是串口读取模块,三是串口写入 模块,串口通信模块如图4-3所示。串口通信模块串口初始化串口读取串口写入图4-3串口通信模块4. 3 gps数据接收程序设计gps模块用来读取接收gps接收器传来的数据,它的作用是从串口读取gps 信号信息
46、,判断是否检测定位到gps信号,进而获得gps的位置、速度、时间 数据等信息,并进行相应的处理,加载gps数据信息,软件配置功能模块主要 包括以下几个子模块:设置串u的波特率、设置模块的定位模式及启动模式切换,获取模块的天线状态等子模块,gps任务流程如图4-4所示。gps模块的程序设计见while循环语句。main /图4-4 gps模块执行任务图while(l)if(flaglms=l)flaglms=o;if(flagloms=l)flagloms=o;if(flaglooms=l)flag 100ms 二 0;if(gps_halftransferend)/*接收到gps_rbuff_
47、size 半的数据*/*进行nmea格式解码*/nmea_parse(&parser,(constcha 卢)&gpsbuffo,half_gps_rbuff_size,&info);gps_halftransferend = 0;清空标志位new_parse = 1;设置解码消息标志else if(gps_transferend)/* 接收到另一半数据 */nmea_parse(&parser,(constchar*)&gpsbuffhalf_gps_rbuff_size,half_gps_rbuff_size,&info);gps_trans
48、ferend 二 0;new_parse = 1;elsenew_parse =0;if(new_parse)有新的解码消息/*串口输出解码得到的信息*/printgpsinfo (&info);/*液晶输出显示*/displaygpsinfo (&info);new_parse = 0;清解码消息标志4. 4 wifi数据传输程序设计4.4. 1 wifi的串口 at指令esp8266模块选用“at+指令协议”作为用户的控制协议。at+指令协议采 用的是一套基于ascii的命令行格式的指令集,这里“at+指令协议”采用的是 “命令+响应”的形式,绝大部分的指令需要接收方处理相
49、应的指令后再返冋响 应消息指令,如果在执行前一个命令处理过程中再次接收到新的在执行任务的指 令,则将其舍弄而不再返回任何消息指令,以下是对其语法格式和处理流程进行 描述,at指令见表4-1 o 8,以下是相关程序设计。void wifigpioconfig(void);void wifi_init(void);void esp8266_choose( functionalstate enumchoose );void esp8266_rst( void);void esp8266_at_test( void);bool esp8266_cmd( char * cmd, char * reply
50、 1, char * reply2, u32 waittime );bool esp8266_net_mode_choose( enum_net_modetypedef enummode );bool esp8266_joinap( char * pssid, char * ppassword );bool esp8266_buildap( char * pssid, char * ppassword, char * enunpsdmode);bool esp8266_enable_multipleid( functionalstate enumenunvarnishtx );bool esp
51、8266_link_server(enum_netpro_typedef enumehar* ip,char*comnum,enumd_no_typedef id);bool esp8266_startorshutserver(functionalstate enummode, char* pportnum, char* ptimeover);bool esp8266_sendstring(functionalstate enumenunvarnishtx,char* pstr,u32 ulstrlength,enumd_no_typedef ucld);char* esp8266_recei
52、vestring( functionalstate enumenunvarnishtx );void esp8266_sta_tcp_client( void);void esp8266_statcpclient_aptcpserver( void );uint8_t esp8266_cipap(cha卢 papip);表4-1 wifi功能at指令一览表命令说明at+cwmode选择wifi应用模式at+cwjap加入apat+cwlap列岀当前可用apat+cwqap退岀与ap的连接at+ cwsap设置ap模式下的参数at+ cwlif查看已接入设备的ip4. 4. 2 wifi的热点设
53、计wifi热点设计时选择esp8266工作模式为ap,开启server后,端口号为 80080, wifi模块与stm32单片机z间通过usart3实现通信,wifi设计的部 分程序见附录12。程序加载成功后,可以看到形成的wifi网络热点 “sspu-ee” ,如图45所示。下面是wifi热点程序设计。#definebulitapssid#definebulitapecn#definebulitappwd#definetcpserverip# definetcpserverport#definetcpserverovertime” sspu_ee”要建立的热点的名称”0”要建立的热点的加密方
54、式” 123456789”要建立的热点的密钥t66” 服务器开启的ip地址 ”80”服务器开启的端口” 1800”服务器超时时间(单位:秒)当前逹接到:sspu-wifiinternet 访问无线网络连接asspu-wifisspu-1xsspu ee制cmcccmcc-webdmti1hiwifi_501<l'c佑厂a 9 dgftdi图 4-5 sspu-ee 热点4.5 web服务网页的设计与实现应用超文木标记语言html对web网页进行设计,超文木传输协议规定了 浏览器在运行html文档时所遵循的规则和运行的操作,在软件部分通过html 编写htt
55、p协议控制运行的网页,web网页内调用外部控制的变量,从而实现网 页数据的传输,下面是web网页的程序设计。void web_send(void)if(esp8266_cmd (”at+cipstatus“,”+cipstatus:o”,0, 500 )sprintf(cstrlnput,” http/1.1200okrnconnection:closerncontent-type:text/html;charset=utf-8rncontent-length: 240rnrn<!doctype html><html lang=hzh-cnh><head><meta charset="utf-8h><title>document</title></head><body><h2>system</h2><p>latitude: %d lx</p><p>longitude: %d %</p><p>altitude: %d km</p>
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度温泉酒店装修合同预算范本
- 二零二五版酒店用品行业绿色供应链管理合同
- 二零二五年度新型汽车抵押权转让及维修保养服务合同
- 2025版防火门窗行业市场拓展与品牌战略合同
- 2025版二手房买卖合同涉及房屋交易过程中的物业服务协议范本
- 二零二五年度工程咨询服务居间合同范本
- 二零二五年度高层综合楼物业投诉处理委托合同
- 二零二五年度高端执业药师租赁服务合作协议
- 2025版废弃渣土运输合同生态补偿机制示范文本
- 二零二五年度跨境电商广告合同履行与品牌推广
- (2025年标准)正规劳动协议书
- 2025年部编版道德与法治新教材二年级上册全册教案设计(共4个单元含教学计划)
- 2025年乡村方面的面试题及答案
- 2025年【茶艺师(高级)】模拟试题及答案
- 精神检查-课件
- 2025年“保密知识测试”考试题库及答案
- 农业机械无人驾驶协同系统接口设计与数据交换规范
- 2025年“才聚齐鲁成就未来”山东黄金集团井下技能工人招笔试高频考点题库考试试题【含答案】
- 2025至2030中国公务员培训行业调研及市场前景预测评估报告
- 墙体绘画施工合同(2025版)
- 儿科护理实习出科理论考试试题及答案
评论
0/150
提交评论