如何控制gps模块 一帧数据发送数据频率

请教:做一个GPS定位系统,要求GPS模块要通过GPRS传输数据到指定电脑,怎么做 - 嵌入式系统编程 - 电子工程世界-论坛
后使用快捷导航没有帐号?
请完成以下验证码
查看: 14145|回复: 13
请教:做一个GPS定位系统,要求GPS模块要通过GPRS传输数据到指定电脑,怎么做
在线时间1 小时
TA的帖子TA的资源
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
想做一个GPS实时定位系统,这个GPS要通过GPRS传输数据,由一个计算机来接收数据,让GPS实时在GIS系统里显示。可是现在一点思路都没有,不知道应该怎么开始。包扩买什么GPS模块,GPRS模块,怎样编程来实现,目前已经有一个自己做好的GIS系统,请各位高手指点迷津!
在线时间0 小时
TA的帖子TA的资源
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
终端使用一个MCU通过UART口接收GPS模块接收到的数据,再把这些数据由GPRS模块发送到PC端的接收设备,接收设备通过串口发送给PC,GIS系统通过串口读取数据。
在线时间1 小时
TA的帖子TA的资源
一粒金砂(中级), 积分 10, 距离下一级还需 190 积分
一粒金砂(中级), 积分 10, 距离下一级还需 190 积分
请问Veabol:您说的pc端的接收设备是指什么?是指GPRS接收模块吗?要做这个系统我所想到的硬件:一个GPS+GPRS二合一的模块,一个GPRS接收模块,计算机。你说的单片机微控制器也没想着用。只是单纯的想,GPRS模块接收GPS模块的数据,再发送到GPRS接收模块,然后再通过串口发送给计算机。这样对不对?
在线时间0 小时
TA的帖子TA的资源
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
PC端不用接GPRS模块,PC端只要连接到Internet,有一个公网IP地址(不一定非得在这台PC上,全公司有一个公网IP就可以了),GPRS模块就能把数据传回来;终端这边得用一个双串口的单片机,一边接GPS,一边控制GPRS
在线时间0 小时
TA的帖子TA的资源
一粒金砂(初级), 积分 2, 距离下一级还需 3 积分
一粒金砂(初级), 积分 2, 距离下一级还需 3 积分
to denghc0917:我明白您的意思。只是我本身没做过串口通信的东西,对这个电脑接收GPRS模块不知从何入手,望指教,谢谢。。。
在线时间0 小时
TA的帖子TA的资源
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
pc与GSM模块用socket通信就可以了
在线时间2 小时
TA的帖子TA的资源
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
PC端不需要用到串口,走TCP/IP就可以了
在线时间0 小时
TA的帖子TA的资源
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
TE端通过GGSN节点进入网络,数据通过网络传到你的装有GIS系统的电脑,电脑所在是内网的话,还要知道公网的IP
在线时间6 小时
TA的帖子TA的资源
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
现在基本的思路已经有了,是这样:客户端(一个笔记本)连接GPS和GPRS模块,用来接收定位信息和通过GPRS发送这些信息,服务器端连接一个GPRS模块,用来接收这些信息,然后解析,存数据库,应用。
问题是,笔记本怎么来连接GPRS模块,要怎样设置,才能实现发送或接收数据呢?
在线时间0 小时
TA的帖子TA的资源
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
我们公司有做GPS/GPRS模块,有做西门子,BENQ,台湾长天GPS模块等。有兴趣可以登陆我们公司网站.我的手机是,张生,需要资料的请与我联系
在线时间2 小时
TA的帖子TA的资源
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
现在基本的思路已经有了,是这样:客户端(一个笔记本)连接GPS和GPRS模块,用来接收定位信息和通过GPRS发送这些信息,服务器端连接一个GPRS模块,用来接收这些信息,然后解析,存数据库,应用。
问题是,笔记本怎么来连接GPRS模块,要怎样设置,才能实现发送或接收数据呢?
服务器端连接一个GPRS模块,用来接收这些信息,然后解析,存数据库,应用。??
你的服务器就靠GPRS模块连接网络?
客户端怎么获取你的IP和端口?
在线时间4 小时
TA的帖子TA的资源
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
服务器端连接一个GPRS模块,用来接收这些信息,然后解析,存数据库,应用。??
你的服务器就靠GPRS模块连接网络?
客户端怎么获取你的IP和端口?
那请问你有什么高见?O(∩_∩)O~因为我不是这个专业的,现在做毕业设计,觉得自己的想法能行的通~~~
在线时间0 小时
TA的帖子TA的资源
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
#7L greenwater000 不是说得很明白了吗》
TE端通过GGSN节点进入网络,数据通过网络传到你的装有GIS系统的电脑,电脑所在是内网的话,还要知道公网的IP
在线时间2 小时
TA的帖子TA的资源
一粒金砂(初级), 积分 4, 距离下一级还需 1 积分
一粒金砂(初级), 积分 4, 距离下一级还需 1 积分
是的必须要通过GPRS来获取定位信息的,有一款GU620模块还不错,GPRS+GPS/北斗+蓝牙+GSM的操作还可以进行二次开发很多朋友都非常喜欢,现在正在火热售卖中,短信远程控制以及配置,启动即可进入数据透传模式,永不掉线,可实现低功耗功能,支持网络指示灯。(推荐) 支持OPEN AT技术,二次开发编程。
GU620 是一款内嵌高灵敏度 GPS&BEIDOU&蓝牙功能的 GSM/GPRS 模块,可同时 支持四频段制式,有更小的体积,可以进行板级 SMT,节省空间,降低成本。其 中的 GPS 是基于 MTK 的成熟芯片组设计开发,可进行高达 66 个 PRN 信道的卫 星跟踪,适用于车载监控导航,防盗跟踪,PND,跟踪器,个人安全设备等通信导 航设备。
& && &GU620&&分四个型号产品,分别支持 GSM&&制式的四频,同时可以选择是否支持G-SENSOR(三轴加速传感),能够完全互相兼容。
另外,GU620 产品支持业界领先的 OPENAT 工作模式,用户可选择将自己的应用 程序二次开发移植到 GU620 模块上运行,可使用空间高达 400KB,同时提供各 种 API 应用函数库以及开发套件,方便灵活,节省开发成本。
GU620模块是一款高性能工业级GSM/GPRS/GPS+北斗/蓝牙模块,功能完善,尤其适用于语音、短信、GPRS数据服务、GPS导航的各种领域。GU620 是针对车辆监控、导航、手持设备、电信、电力受时、气球探空等应用推出的北斗/GPS双系统模块。合方圆科技完全自主知识产权的低功芯片。是目前市场上尺寸最小的完全国产化的北斗/GPS模块,集成度高、功耗低、非常适合对尺寸、功耗要求高的北斗规模应用。支持单系统独立定位和多系统联合定位单芯片支持完整接收机方案,直接输出数据
低成本,适用于大规模应用推广GPS与北斗技术应用:租赁车辆、信贷车辆、贵重物品保管及运输、重型机械设备租赁、汽车及摩电车辆防盗 牛羊放羊管理 特定性物品及车辆的监控
能够完全替代sim808sim908
需要的联系胡经理:QQ
EEWORLD 官方微信
EE福利 唾手可得
Powered byGPS数据读取与处理
GPS模块简介
SiRF芯片在2004年发布的最新的第三代芯片SiRFstar III(GSW 3.0/3.1),使得民用GPS芯片在性能方面登上了一个顶峰,灵敏度比以前的产品大为提升。这一芯片通过采用20万次/频率的相关器提高了灵敏度,冷开机/暖开机/热开机的时间分别达到42s/38s/8s,可以同时追踪20个卫星信道。是目前市场上应用最为广泛,同时性价比也非常高的一款芯片,因此在本设计中同样采用以此芯片为核心的GPS模块。
GPS模块的数据格式
对GPS模块的数据处理本质上还是串口通信程序设计,只是GPS模块的输出遵循固定的格式,通过字符串检索查找即可从模块发送的数据中找出需要的数据,常用的GPS模块大多采用NMEA-0183 协议。NMEA-0183 是美国国家海洋电子协会(National Marine Electronics Association)所指定的标准规格,这一标准制订所有航海电子仪器间的通讯标准,其中包含传输资料的格式以及传输资料的通讯协议。
以下是一组正常的GPS 数据
$GPGGA,,,N,,E,1,08,1.0,20.6,M,,,,0000*35
$GPRMC,,A,,N,,E,0.00,0.0,261009,,*38
$GPVTG,0.0,T,,M,0.00,N,0.0,K*50
下面分别对每组数据的含义进行分析。
GPS 固定数据输出语句($GPGGA),这是一帧GPS 定位的主要数据,也是使用最广的数据。为了便于理解,下面举例说明$GPGGA语句各部分的含义。
例:$GPGGA,,,N,,E,1,08,1.0,20.6,M,,,,0000*35
其标准格式为:
$GPGGA,(1),(2),(3),(4),(5),(6),(7),(8),(9),M,(10),M,(11),(12)*hh(CR)(LF)
各部分所对应的含义为:
(1) 定位UTC 时间:08 时20 分06 秒
(2) 纬度(格式ddmm.mmmm:即dd 度,mm.mmmm 分);
(3) N/S(北纬或南纬):北纬38 度52.9276 分;
(4) 经度(格式dddmm.mmmm:即ddd 度,mm.mmmm 分);
(5) E/W(东经或西经):东经115 度27.4283 分;
(6) 质量因子(0=没有定位,1=实时GPS,2=差分GPS):1=实时GPS;
(7) 可使用的卫星数(0~8):可使用的卫星数=08;
(8) 水平精度因子(1.0~99.9);水平精度因子=1.0;
(9) 天线高程(海平面,-999.9,单位:m);天线高程=20.6m);
(10) 大地椭球面相对海平面的高度(-999.9~9999.9,单位:m):无;
(11) 差分GPS 数据年龄,实时GPS 时无:无;
(12) 差分基准站号(),实时GPS 时无:无;
*总和校验域;hh 总和校验数:35(CR)(LF)回车,换行。
GPRMC(建议使用最小GPS 数据格式)
$GPRMC,,A,,N,,E,0.00,0.0,261009,,*38
$GPRMC,&1&,&2&,&3&,&4&,&5&,&6&,&7&,&8&,&9&,&10&,&11&&CR&&LF&
(1) 标准定位时间(UTC time)格式:时时分分秒秒.秒秒秒(hhmmss.sss)。
(2) 定位状态,A = 数据可用,V = 数据不可用。
(3) 纬度,格式:度度分分.分分分分(ddmm.mmmm)。
(4) 纬度区分,北半球(N)或南半球(S)。
(5) 经度,格式:度度分分.分分分分。
(6) 经度区分,东(E)半球或西(W)半球。
(7) 相对位移速度, 0.0 至1851.8 knots
(8) 相对位移方向,000.0 至359.9 度。实际值。
(9) 日期,格式:日日月月年年(ddmmyy)。
(10) 磁极变量,000.0 至180.0。
(11) 度数。
(12) Checksum.(检查位)
$GPVTG 地面速度信息
例:$GPVTG,0.0,T,,M,0.00,N,0.0,K*50
字段0:$GPVTG,语句ID,表明该语句为Track Made Good and Ground Speed(VTG)地
面速度信息
字段1:运动角度,000 - 359,(前导位数不足则补0)
字段2:T=真北参照系
字段3:运动角度,000 - 359,(前导位数不足则补0)
字段4:M=磁北参照系
字段5:水平运动速度(0.00)(前导位数不足则补0)
字段6:N=节,Knots
字段7:水平运动速度(0.00)(前导位数不足则补0)
字段8:K=公里/时,km/h
字段9:校验值
表 1 GPS模块主要参数
GPS模块主要参数
SiRF Star III
L1, 1575.42 MHz
1.023 MHz chip rate
同时跟踪通道数
5m(2维均方根, 允许广域差分系统)
1μS(与GPS时间同步)
1984年世界大地坐标系(WGS-84)
0.1S(平均值)
1S(平均值)
38S(平均值)
42S(平均值)
最高工作海拔
18km(60000feet)
515m/S(1000knots)
最大加速度
约60mA,不超过100mA
61mm×49mm×17mm
27.9mm×20mm×2.9mm
数据输出格式
SiRF二进制格式或NMEA 0183 GGA, GSA, GSV, RMC,VTG,GLL
数据输出电平
同时具备TTL电平和RS232电平
20pin插针(TTL电平)和DB9母座
(RS232电平)
外置有源GPS天线(3.3V/5V电压可选,
默认为3.3V)
CR1220锂电池,3V,不可充电
-40?C至+85?C
GPS模块的应用程序设计
GPS模块的应用程序设计主要分为两部分,第一部分为串口的设置于数据读取,第二部分为数据的分析和需要数据的提取。
与其他的关于设备编程的方法一样,在Linux下,操作、控制串口也是通过操作起设备文件进行的。在Linux下,串口的设备文件是/dev/ttyS0或/dev/ttyS1等。因此要读写串口,我们首先要打开串口,然后根据GPS模块的配置参数对串口的波特率、校验、流控制等进行设置,这些参数设置均通过对termios结构中c_cflag的配置实现,串口配置部分函数如下:
int gps::set_opt(int fd,int nSpeed, int nBits, char nEvent, int nStop)
struct termios newtio,
( tcgetattr( fd,&oldtio)
<span style="color: #)
perror(&SetupSerial 1&);
return -<span style="color: #;
bzero( &newtio, sizeof( newtio ) );
newtio.c_cflag
CLOCAL | CREAD;
newtio.c_cflag &= ~CSIZE;
switch( nBits )
case <span style="color: #:
newtio.c_cflag |= CS7;
case <span style="color: #:
newtio.c_cflag |= CS8;
switch( nEvent )
newtio.c_cflag |= PARENB;
newtio.c_cflag |= PARODD;
newtio.c_iflag |= (INPCK | ISTRIP);
newtio.c_iflag |= (INPCK | ISTRIP);
newtio.c_cflag |= PARENB;
newtio.c_cflag &= ~PARODD;
newtio.c_cflag &= ~PARENB;
switch( nSpeed )
case <span style="color: #00:
cfsetispeed(&newtio, B2400);
cfsetospeed(&newtio, B2400);
case <span style="color: #00:
cfsetispeed(&newtio, B4800);
cfsetospeed(&newtio, B4800);
case <span style="color: #00:
cfsetispeed(&newtio, B9600);
cfsetospeed(&newtio, B9600);
case <span style="color: #5200:
cfsetispeed(&newtio, B115200);
cfsetospeed(&newtio, B115200);
cfsetispeed(&newtio, B9600);
cfsetospeed(&newtio, B9600);
if( nStop == <span style="color: # )
newtio.c_cflag &=
else if ( nStop == <span style="color: # )
newtio.c_cflag |=
newtio.c_cc[VTIME]
= <span style="color: #;
newtio.c_cc[VMIN] = <span style="color: #;
tcflush(fd,TCIFLUSH);
if((tcsetattr(fd,TCSANOW,&newtio))!=<span style="color: #)
qDebug()&&&com set error&&&
return -<span style="color: #;
qDebug()&&&set done!&&&
return <span style="color: #;
在GPS数据的处理上首先将窗口数据存入一个字符串,接着通过对字符串数据的判断来提取数据内容,判断分为两步,首先判断是什么类型的数据,在本程序的设计中需要读取$GPRMC和$GPGGA两组数据,因此首先判断字符串GPS_BUF[5]是C还是A,由于数据是通过符号“,”进行隔开,因此通过查找“,”来确定数据位置。在实现上将得到逗号位置函数单独封装调用,程序如下:
//得到指定序号的逗号位置
int gps::GetComma(int num,char *str)
int i,j=<span style="color: #;
int len=strlen(str);
for(i=<span style="color: #;i&i++)
if(str[i]==',')
if(j==num)
return i+<span style="color: #;
return <span style="color: #;
接下来根据数据格式,通过逗号位置,提取数据信息,程序如下:
void gps::gps_parse()
c = GPS_BUF[<span style="color: #];
if(c=='C')
GPS-&D.hour
=(GPS_BUF[ <span style="color: #]-'<span style="color: #')*<span style="color: #+(GPS_BUF[ <span style="color: #]-'<span style="color: #');
GPS-&D.minute =(GPS_BUF[ <span style="color: #]-'<span style="color: #')*<span style="color: #+(GPS_BUF[<span style="color: #]-'<span style="color: #');
GPS-&D.second =(GPS_BUF[<span style="color: #]-'<span style="color: #')*<span style="color: #+(GPS_BUF[<span style="color: #]-'<span style="color: #');
tmp = GetComma(<span style="color: #,GPS_BUF);
GPS-&D.day
=(GPS_BUF[tmp+<span style="color: #]-'<span style="color: #')*<span style="color: #+(GPS_BUF[tmp+<span style="color: #]-'<span style="color: #');
GPS-&D.month
=(GPS_BUF[tmp+<span style="color: #]-'<span style="color: #')*<span style="color: #+(GPS_BUF[tmp+<span style="color: #]-'<span style="color: #');
GPS-&D.year
=(GPS_BUF[tmp+<span style="color: #]-'<span style="color: #')*<span style="color: #+(GPS_BUF[tmp+<span style="color: #]-'<span style="color: #')+<span style="color: #00;
GPS-&status
= GPS_BUF[GetComma(<span style="color: #,GPS_BUF)];
GPS-&latitude = get_locate(get_double_number(&GPS_BUF[GetComma(<span style="color: #,GPS_BUF)]));
= GPS_BUF[GetComma(<span style="color: #,GPS_BUF)];
GPS-&longitude= get_locate(get_double_number(&GPS_BUF[GetComma(<span style="color: #,GPS_BUF)]));
= GPS_BUF[GetComma(<span style="color: #,GPS_BUF)];
GPS-&speed
= get_double_number(&GPS_BUF[GetComma(<span style="color: #,GPS_BUF)]);
UTC2BTC(&GPS-&D);
if(c=='A')
//&$GPGGA&
= get_double_number(&GPS_BUF[GetComma(<span style="color: #,GPS_BUF)]);
//将获取文本信息转换为double型
double gps::get_double_number(char *s)
char buf[<span style="color: #8];
i=GetComma(<span style="color: #,s);
strncpy(buf,s,i);
buf[i]=<span style="color: #;
rev=atof(buf);
double gps::get_locate(double temp)
m=(int)temp/<span style="color: #0;
n=(temp-m*<span style="color: #0)/<span style="color: #;
阅读(...) 评论()2010年9月 硬件/嵌入开发大版内专家分月排行榜第二2010年8月 硬件/嵌入开发大版内专家分月排行榜第二2010年3月 硬件/嵌入开发大版内专家分月排行榜第二2010年2月 硬件/嵌入开发大版内专家分月排行榜第二2010年1月 硬件/嵌入开发大版内专家分月排行榜第二2009年11月 硬件/嵌入开发大版内专家分月排行榜第二
2010年5月 硬件/嵌入开发大版内专家分月排行榜第三2010年4月 硬件/嵌入开发大版内专家分月排行榜第三2009年12月 硬件/嵌入开发大版内专家分月排行榜第三2009年10月 硬件/嵌入开发大版内专家分月排行榜第三
本帖子已过去太久远了,不再提供回复功能。GPS模块_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
阅读已结束,下载文档到电脑
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,方便使用
还剩7页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢安全检查中...
请打开浏览器的javascript,然后刷新浏览器
< 浏览器安全检查中...
还剩 5 秒&

我要回帖

更多关于 gps模块 数据上传 的文章

 

随机推荐