单片机如何通过GPRS模块获取位置信息详细方法说明

发布者:知识智慧最新更新时间:2020-06-12 来源: elecfans关键字:单片机  GPRS模块  获取位置信息 手机看文章 扫描二维码
随时随地手机看文章

GPRS是如何获取位置的呢?GPRS不同于GPS,我们都知道GPS是通过卫星来定位,而GPRS是通过基站来定位,其定位精度收到通信基站的位置和密度的影响在没有基站的位置上,误差范围会比较大,也许系有人会问既然GPS定位更精准,拿为什么还需要基站定位呢?这是因为GPS定位只能在空旷的地方接收到信号,比如在高楼密集的城市,高架桥下,室内等GPS信号会很差或接收不到信号,同时也会受天气的影响如果天气差GPS信号强度会低很多。但基站定位虽精度虽不及GPS,但只要有基站至室内也可定位,且不会收天气的影响。随着基站的数量越来越多,GPRS的定位也会越来越准确。

基站定位示意图

获取位置流程

流程图

获取到基站的位置信息后我们可以调用LBS的数据仓库API接口进行查询,这里推荐一个比较好用的接口这个网站的查询接口是免费开放的,但是有限制,每5分钟限制查询300次,基站/WIFI/经纬度查询接口每日限制查询1000次如果我们的查询次数不多的话是足够用的,不够使用也有收费的可以用。


基站查询接口可查询全国移动联通电信的2G/3G/4G基站位置信息,收录数据超过两万条。下面是提供查询的API接口:

API接口

有与GPRS模块可以与服务器通讯所以我们在获取到基站的位置信息之后直接将数据通过单片机串口通过GPRS模块发送到服务器进行查询即可。

GPRS通讯示意图

1. 单片机通过AT指令服务器的相关信息配置进模块

(1) 设置工作模式为网络透传模式 AT+WKMOD="UDC"

(2) 使能 socket A AT+SOCKAEN="on"

(3) 设置 socket A 为 TCP 客户端,服务器地址为 api.cellocation.com,服务器端口号为 81。 AT+SOCKA="TCP", api.cellocation.com",81

(4) 使能心跳包 AT+HEARTEN="on"

(5) 设置心跳包发送间隔 AT+HEARTTM=30

(6) 使能注册包 AT+REGEN="ON"


2. 查询基站信息

单片机串口发送 AT+LBS?

返回坐标信息 如: LAC =21269,CID =30321


3. 调用数据接口进行位置查询

GET /cell/?mcc=460&mnc=1&lac=4301&ci=20986&output=csvHTTP/1.1

Host:api.cellocation.com:81

发送数据时这个位置一定要空两行

发送时将lac和ci替换为获取到的坐标信息即可,返回的数据是CSV格式的,我们用","来解析即可获得经纬度和具体的位置信息

关键字:单片机  GPRS模块  获取位置信息 引用地址:单片机如何通过GPRS模块获取位置信息详细方法说明

上一篇:STM8S三种时钟源的配置HSE\\HSI\\LSI的配置
下一篇:采用FM20L08铁电存储器实现温度测试仪系统的设计

推荐阅读最新更新时间:2024-11-01 07:20

PIC单片机的类型以及特征介绍
对于pic单片机,大家或多或少均有所耳闻。但是,大家对pic单片机有多少了解呢?是否熟知不同类型的pic单片机呢? 由美国Microchip公司推出的PIC单片机系列产品,首先采用了RISC结构的嵌入式微控制器,其高速度、低电压、低功耗、大电流LCD驱动能力和低价位OTP技术等都体现出单片机产业的新趋势。现在PIC系列单片机在世界单片机市场的份额排名中已逐年升位,尤其在8位单片机市场,据称已从1990年的第20位上升到目前的第二位。PIC单片机从覆盖市场出发,已有三种(又称三层次)系列多种型号的产品问世,所以在全球都可以看到PIC单片机从电脑的外设、家电控制、电讯通信、智能仪器、汽车电子到金融电子各个领域的广泛应用。现今的PI
[单片机]
PIC<font color='red'>单片机</font>的类型以及特征介绍
使用可定制微控制器高效开发系统级芯片 (SoC)
作者:爱特梅尔公司 (Atmel) 微控制器部传讯经理Peter Bishop 为了应对成本、尺寸、功耗和开发时间的压力,许多电子产品都建构于系统级芯片 (SoC)之上。这个单片集成电路集成了大多数的系统功能。然而,随着这些器件越来越复杂,要在有限的时间里经济地进行产品开发以满足产品上市时间的压力已变得越来越困难。SoC集成了一些可编程部件 (特别是微控制器),使得其软件开发与硬件开发同样的昂贵和耗时。 使用基于业界标准、带有片上存储器和各种标准接口的ARMò处理器,再加上面向特定应用逻辑和非标接口的金属可编程模块 (MP模块),构成的可定制微控制器是切实可行的SoC开发方法,能够解决上述问题: -采用经过验证的软/硬件模块、
[应用]
单片机多任务的时间片方式实现
引言 由于单片机具有价格低、运行要求低、易于开发、稳定可靠等优点,广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域。但是,单片机的位数少、频率低、内存小、I/O口少等缺点限制了其加载操作系统的可能。因此,单片机不能像ARM等较高性能的处理器一样,利用加载的操作系统实现管理与配置内存、决定系统资源供需的优先次序、控制输入与输出设备、操作网络与管理文件系统等功能。 但是,我们可以根据单片机所拥有的内存大小、CPU频率等因素,来为单片机量身定做一个小型的操作系统,以实现单片机的多任务运行。 1 微机实现多任务的方式 微机实现多任务的方式一般是由加载的操作系统来实现的。通过操作系统提供的
[单片机]
<font color='red'>单片机</font>多任务的时间片方式实现
DS1302的单片机程序
/**********************************************************/ //MSP430 Advanced Developping Components - ////DS1302 Trickle Charge Timekeeping Chip /**********************************************************/ //MSP430高级实验开发组件 - DS1302时钟芯片 //时钟设置: ////ACLK=N/A,MCLK=SMCLK=default(DCO~800k) //硬件连接: //// MSP430 MCU
[单片机]
AVR单片机I/O口、定时器和按键编程总结
首先,用到了定时器2的溢出中断,用于控制灯的闪烁。在这部分程序的设计中,遇到的困难是当灯一旦闪烁起来,就无法控制其它的内容了。后来明白是由于中断服务程序太长,没等执行完计数器就计满了,然后就一直的在执行闪烁程序,导致无法在执行其它命令。最开始在每次延迟函数之后令计数器置零,可是还是没有起到太大效果,因为最长的延迟函数为2s,时间太长,最后经考虑,在进入中断服务程序的时候,屏蔽定时器2溢出中断,在离开之前再使能,然后再令计数器置零,结果实现了所要的结果。 第二个问题就是关于按键。要求相应的I/O口即能做输出,又能做输入,能够用按键控制。似乎很简单的一个程序,可是第一次做也遇到不少问题。当按下相应的按键,就给data赋一个值,去实现不同
[单片机]
零基础学习单片机切记这四点要求,少走弯路
其中一种,其它的都可以触类旁通,快速上手了。如果你这些条件都没有,那就跟着我学吧,我建议你学习51 单片机。 为什么要学习51单片机: 虽然现在单片机种类和型号非常多,每个型号都有一定的市场份额,但是哪个型号也没有早期 51单片机那般风光和火爆,虽然现在地位不是那么高了,但是因为 51 单片机积累的资料非常多,大家学起来就会拥有众多的参考资料,所以上手肯定比其他型号的要快一些。如果你学习稍微偏门的单片机,可能一个简单的软件问题就 要折腾你好长时间,不仅仅浪费了你的学习时间,更重要的是打击了学习单片机的信心。 那么是不是每种单片机我们都要学一遍呢?答案当然是否定的。大家跟着我来学习 51单片机,必须得跟着学会举一反三和融会贯通的能力
[单片机]
基于单片机和半导体的单相远程费控智能电表设计
本文给出了基于RENESAS半导体公司的R5F212B8SNFP为MCU的一款新型单相远程费控智能电表的设计。    1系统功能设计   1.1总体结构   基于RENESAS半导体的单片机R5F212B8SNFP(以下简称2B8)完成单相远程费控智能电表设计,其功能:648k字节Flash闪速存储器,3k字节内部RAM,45个可编程CMOS I/O口,可选择上拉电阻,2个专用输入口,6个位定时/计数器,5个外部中断,23个内部中断,4个软件中断,7级中断结构,3个全双工串行通信口,16位硬件乘法器,片内高低速振荡器及时钟电路,2种低功耗电工作方式。是一个比较适合于国网智能电表开发的高性价比单片机。   该智能电能表功
[工业控制]
基于<font color='red'>单片机</font>和半导体的单相远程费控智能电表设计
STM32单片机串口的定义及应用方法
STM32配置串口需要配置的寄存器包括: 1、时钟配置,开启相应IO端口的时钟,以及串口模块的时钟。 串口1模块时钟寄存器:RCC_APB2Periph_USART1; 串口1的端口是PA9,PA10,对应的时钟寄存器:RCC_APB2Periph_GPIOA; 开启的函数是:RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1|RCC_APB2Periph_GPIOA, ENABLE); 串口2的模块时钟寄存器:RCC_APB1Periph_USART2; 串口2的端口是PA2,PA3;对应的时钟寄存器是:RCC_APB2Periph_GPIOA; 开启的函数是:RCC_APB2PeriphC
[单片机]
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved