基于gps,gprs远程监控系统的实现

基于gps,gprs远程监控系统的实现

ID:3703587

大小:1.04 MB

页数:18页

时间:2017-11-23

基于gps,gprs远程监控系统的实现_第1页
基于gps,gprs远程监控系统的实现_第2页
基于gps,gprs远程监控系统的实现_第3页
基于gps,gprs远程监控系统的实现_第4页
基于gps,gprs远程监控系统的实现_第5页
资源描述:

《基于gps,gprs远程监控系统的实现》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、基于GPS,GPRS远程监控系统的实现    下面简单画画整个系统的框图: 从框图中可以清楚的看到整个系统的工作流程是非常简单的,被监测端采用的是Cortex-M3内核的stm32微控制器,GPS负责接收卫星信号,然后根据计算得到地标信息通过串口传送给stm32,stm32接收GPS数据进行相应的打包处理再通过串口发送给GPRS模块,GPRS模块通过基站传送到Internet网络中向指定IP的端口PC发送数据包,服务器端上位机通过监控该端口来捕获数据,然后上位机通过串口再次将GPS数据发送到Google地球或者其它导航

2、软件中实现对接,以便实时监测观察。在朋友的提示和帮助下,事实上本系统还加入了基站辅助定位功能,由于GPS卫星信号的接收必须在室外,所以当被监控端处于室内或者在接收不到卫星信号的恶劣情况下,系统仍然能够通过基站信息定位到大致的区域。     GPS使用的是微科电子(香港)公司的VK1513模块,选择它主要还是价格方面比较经济实惠,实测效果也不错。GPS模块会每秒钟发出数据包,数据包是遵循NMEA-0183协议的,可以看看我实际接收下来的数据包: 主要包含定位信息的是GPGGA以及GPRMC,两个数据包中都包含有时间以及经

3、纬度等信息,因为我主要需要的就是当前的经纬度信息就可以了,也为了减小GPRS数据传输负担,因此我只选择了将GPRMC这条数据进行传输,关于其数据包中具体每个数据的含义可以参照NMEA-0183的说明。值得注意的是,数据包都是以$开头,以回车换行结尾的。回车换行用转义符号表示便是r,这点忽视的话,那么服务器端与地图软件的对接将不会成功。因此我在stm32的程序上做了判断处理,只传送GPRMC数据包,并且同样为了再次减小GPRS传送压力,每接收到两个数据包传送一个就可以了。实现代码如下 接收GPS串口发来的数据通过串

4、口中断实现,接收代码如下。对于这段程序有点比较有意思的事情,这段代码是在我单独调试GPS的时候写的,想法也很简单,以$触发开始接收,遇到’’结束,然后当时就出现了一个很不合我逻辑的问题,反复读了几十遍代码没有发现问题,如我注释中写的为什么放入结束符的那个地址要减一,这是实际调试出来的,就没管它一直这样用了,前几天才意识到上面说的是以”r”结尾的这个问题,这才恍然大悟,原来还有一个压根看不见摸不着的’r’。这也受我们平时用电脑的习惯有影响,当敲下键盘上的回车键,实际上执行了两步操作,回车和换行,这谁看得见呢。

5、     GPRS模块采用的是华为GTM900C模块,比较常见的一般也就是SIM900和GTM900,选择华为的主要还是因为国产,数据手册肯定有中文官方原版的,所以学习起来不那么费劲,桥哥可不想在大好假日被英文给磨掉学习的信心。对于其TCP/IP链接的建立,可以参照华为GTM900TCP_IP使用指导书。我在程序中已列举了我所用到的AT指令: 实际上,这个指令定义的顺序已经表明了我在初始化GTM900C并进行TCP链接的初始化过程:1、 关闭回显,回显的意思是你给它发条指令它会原封不动的给你回发一份你发的指令,这里关掉

6、,以便串口专心监测GTM900C实际返回的参数2、 设置GPRS网络附着,将模块附着到GPRS网络中,下面的操作都是基于GPRS网络下进行的,设置它的目的是保证下面的操作能够顺利进行。如果已经附着上GPRS网络,而再次发送此命令,会返回ERROR8,不过没有关系不影响附着状态,以防万一每次建立链接我都发。3、 配置APN,即GPRS接入点的配置4、 进入TCPIP功能,网络传输基于这个协议,那是必须。5、 域名解析,这点很重要值得特别说明。实际上GTM900C建立一条TCP链接最后用的都必须是这条指令:AT%IPOPE

7、N="TCP","111.164.240.229",1332,这个指令里面包含的是我们接收端作为服务器的IP地址和端口。我们知道网络上标识唯一一台电脑的地址用的是IP地址,这个由于不好记诞生了域名,例如www.360.cn,这个域名实际上也是指向了一个IP,为了让这个域名指向IP就需要一个域名服务器来解析。而家里拨号上网,每次拨号都会动态的分配到一个IP,况且桥哥家最近是一天掉线20多次,IP随时都会变化,不可能每次变化我都更改stm32的程序然后重新烧录,因此我用的一个固定的域名xiaoiqiao.oicp.net来

8、跟我的IP进行实时绑定,而GTM900C模块每次建立链接都要先得到这个固定域名指向的IP,然后根据IP进行链接,确保无论我当前的IP是多少,它都可以正确连上我这里。而提供这个域名解析到IP服务的是花生壳这款软件,注册一个账号便得到一个免费的域名,并且为该域名提供免费的域名解析服务。  6、 正式建立一条TCP链接。得到上步所说的返

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。