单片机如何通过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格式的,我们用,来解析即可获得经纬度和具体的位置信息

RS Components现可提供价格实惠的Renesas MCU原型板
广州测恒电子MEMS加速度传感器系列介绍
前沿技术:前进到7nm没有问题
导波雷达料位计和雷达料位计是同一件物位仪表吗
云天励飞与上海交大国际与公共事务学院合作推动人工智能产业快速发展
单片机如何通过GPRS模块获取位置信息详细方法说明
注射针针管与针座连接牢固度测试仪知识科普
三极管的基本原理 三极管如何实现电子开关功能
基于PC的免安装软件西门子PRONETA有哪些特点呢?
基于VHDL的99小时定时器设计及实现
继电器与接触器的区别及其在电路中的应用
AlphaNu平台正在使用区块链技术进行访问控制
安徽省首例5G远程协同手术由安徽医科大学第二附属医院牵头完成
光学经典导读之非线性脉冲传输
如何通过GSM发送和接收以及怎样通过Arduino GSM发送SMS消息
rssi和dbm的转换
揭秘示波器四大捕获方式
分流器和路由器的区别
光电池三大分类
双通道数字隔离器的用途