同学们纷纷发出需求,要求特别讲解Air780EP模组AT开发基站定位与Wi-Fi定位应用示例。

本文同样适用于以下型号:
Air700ECQ/Air700EAQ/Air700EMQ
Air780EQ/Air780EPS/Air780EX
Air780E/Air724UG…

一、定位原理

1.1 应用概述

当手机在插入SIM卡后开机,便需要搜索周围的基站信息(俗称找信号)。通常在有信号的地方,手机能搜到的基站不止一个。此时手机会主动从这些基站中,选择信号最好的(假如是基站A)进行连接注册。

那么,这时候其余基站就不使用了吗?

其实不是的,手机仍然会继续搜索着它们。一旦离基站A远,离基站B近时,此时基站B的信号最好,手机会主动切换成基站B。

由于手机在待机一天的情况下,需要不停的搜索基站、连接基站,这也就解释了手机在火车上要比在家时耗电要多的原因。

编辑

1.2 基站定位原理

众所周知,当距离基站越远时信号便会越差,因此通过信号强度可以大致估计出距离基站的远近。

由于基站都是中国移动、中国联通等运营商所建立的,所以他们可以确定每个基站准确的位置。当手机同时搜索到至少三个基站信号时,手机除了连接信号最好的一个之外,还会根据基站信号的强弱大致估计出距离基站的远近。

由于基站位置已经确定,所以确定位置便容易的多了——只需以基站为圆心,距离为半径多次画圆即可。基站信号的多少决定着定位的准确,三个以上最为准确,若只搜索到一个或两个基站也可以定位,只不过没有那么准确而已。

1.3 Wi-Fi定位原理

Wi-Fi定位原理就是模块收集周围Wi-Fi的mac地址和信号质量,然后带着这些信息去访问Wi-Fi定位服务器,由服务器去自己数据库里搜索对应Mac地址,再根据信号质量确定设备离对应的Wi-Fi信息源距离,进而返回对应坐标。

二、相关准备工作

编辑

2.1 硬件准备

  • 合宙Air780EP_全IO开发板一套,包括天线、SIM卡;

  • USB线

  • PC电脑

2.2 软件准备

  • 串口工具
    如果没有准备,推荐使用LLCOM:
    https://llcom.papapoi.com

  • AT固件下载
    https://doc.openluat.com/article/5055

  • 烧录教程
    https://doc.openluat.com/wiki/21?wiki_page_id=6072

本文示例烧录的AT固件版本为:
AirM2M_780EP_LTE_AT_V1007

推荐选用:相关型号固件名称后面数字版本号最高的最新版本进行调试。

三、定位应用示例

以下是AT命令序列,如果不理解AT命令含义,可参考AT手册。

3.1 基站定位示例

编辑

3.2 Wi-Fi定位示例

编辑

四、常见问题Q&A

4.1 如何在网站上查询小区对应的位置信息? 

通过AT+CCED=0,1查询到小区信息如下:

+CCED:LTE current cell:
460,01,460060086257105,0,3,5,1650,100119839,62,24,56848,34,86

再通过合宙推出的根据小区信息在线查询位置服务,输入对应参数后即可查到对应位置信息。

编辑

4.2 Wi-Fi定位失败的可能原因有哪些?

如果没有搜索到Wi-Fi热点,用手机对比确认下是否可以搜索到附近Wi-Fi。如果手机可以搜到,确认下模块的板子上是否有接Wi-Fi天线。

如果可以搜索到Wi-Fi热点,但是Wi-Fi热点很少,用手机对比确认下搜索到附近Wi-Fi数量。如果数量差别太大,确认下模块的板子上是否有接Wi-Fi天线,或者所接的天线是否支持2.4G频段。

4.3 基站定位获取的经纬度是什么格式的?

基站定位获取的经纬度为WGS-84格式;各种坐标系说明以及转换方法请参考下方链接。

GPS定位纠偏:
http://old.openluat.com/GPS-Offset.html

4.4 Wi-Fi定位获取的经纬度是什么坐标系的?

Wi-Fi定位获取的经纬度是WGS-84地心坐标系(GPS全球定位系统建立的坐标系统)。

4.5 Wi-Fi定位精度如何?

根据设备获取的Wi-Fi的信息进行定位,Wi-Fi定位精度一般不受使用环境影响,主要和单一Wi-Fi辐射半径、Wi-Fi覆盖密度有关。一般来说,Wi-Fi精度在3米~200米左右。

4.6 基站定位精度如何?

搜索到的小区越多,定位的精度越高;一般来说,城市中心定位精度比郊区和农村定位精度高。城市中心的定位精度在几十米到几百米不等,郊区和农村的定位精度更低,可能会有几千米甚至更多的误差。

特别注意:
基站定位的误差都比较大,如果需要准确定位,请使用支持GPS的模块。

4.7 模组Wi-Fi定位支持国外定位吗?

不支持,只支持国内定位。

基站定位与Wi-Fi定位?看这篇就够了的更多相关文章

  1. Vue学习看这篇就够

    Vue -渐进式JavaScript框架 介绍 vue 中文网 vue github Vue.js 是一套构建用户界面(UI)的渐进式JavaScript框架 库和框架的区别 我们所说的前端框架与库的 ...

  2. Python GUI之tkinter窗口视窗教程大集合(看这篇就够了) JAVA日志的前世今生 .NET MVC采用SignalR更新在线用户数 C#多线程编程系列(五)- 使用任务并行库 C#多线程编程系列(三)- 线程同步 C#多线程编程系列(二)- 线程基础 C#多线程编程系列(一)- 简介

    Python GUI之tkinter窗口视窗教程大集合(看这篇就够了) 一.前言 由于本篇文章较长,所以下面给出内容目录方便跳转阅读,当然也可以用博客页面最右侧的文章目录导航栏进行跳转查阅. 一.前言 ...

  3. Pycharm新手教程,只需要看这篇就够了

    pycharm是一款高效的python IDE工具,它非常强大,且可以跨平台,是新手首选工具!下面我给第一次使用这款软件的朋友做一个简单的使用教程,希望能给你带来帮助! 目前pycharm一共有两个版 ...

  4. ASP.NET Core WebApi使用Swagger生成api说明文档看这篇就够了

    引言 在使用asp.net core 进行api开发完成后,书写api说明文档对于程序员来说想必是件很痛苦的事情吧,但文档又必须写,而且文档的格式如果没有具体要求的话,最终完成的文档则完全取决于开发者 ...

  5. .NET Core实战项目之CMS 第二章 入门篇-快速入门ASP.NET Core看这篇就够了

    作者:依乐祝 原文链接:https://www.cnblogs.com/yilezhu/p/9985451.html 本来这篇只是想简单介绍下ASP.NET Core MVC项目的(毕竟要照顾到很多新 ...

  6. 想了解SAW,BAW,FBAR滤波器的原理?看这篇就够了!

    想了解SAW,BAW,FBAR滤波器的原理?看这篇就够了!   很多通信系统发展到某种程度都会有小型化的趋势.一方面小型化可以让系统更加轻便和有效,另一方面,日益发展的IC**技术可以用更低的成本生产 ...

  7. [译]ASP.NET Core Web API 中使用Oracle数据库和Dapper看这篇就够了

    [译]ASP.NET Core Web API 中使用Oracle数据库和Dapper看这篇就够了 本文首发自:博客园 文章地址: https://www.cnblogs.com/yilezhu/p/ ...

  8. ExpandoObject与DynamicObject的使用 RabbitMQ与.net core(一)安装 RabbitMQ与.net core(二)Producer与Exchange ASP.NET Core 2.1 : 十五.图解路由(2.1 or earler) .NET Core中的一个接口多种实现的依赖注入与动态选择看这篇就够了

    ExpandoObject与DynamicObject的使用   using ImpromptuInterface; using System; using System.Dynamic; names ...

  9. 【转】ASP.NET Core WebApi使用Swagger生成api说明文档看这篇就够了

    原文链接:https://www.cnblogs.com/yilezhu/p/9241261.html 引言 在使用asp.net core 进行api开发完成后,书写api说明文档对于程序员来说想必 ...

  10. C#实现多级子目录Zip压缩解压实例 NET4.6下的UTC时间转换 [译]ASP.NET Core Web API 中使用Oracle数据库和Dapper看这篇就够了 asp.Net Core免费开源分布式异常日志收集框架Exceptionless安装配置以及简单使用图文教程 asp.net core异步进行新增操作并且需要判断某些字段是否重复的三种解决方案 .NET Core开发日志

    C#实现多级子目录Zip压缩解压实例 参考 https://blog.csdn.net/lki_suidongdong/article/details/20942977 重点: 实现多级子目录的压缩, ...

随机推荐

  1. Uncaught SyntaxError: The requested module ‘/node_modules/.vite/vue-router.js?v=2f0f3daf’ does not provide an export named ‘VueRouter’

    Uncaught SyntaxError: The requested module '/node_modules/.vite/vue-router.js?v=2f0f3daf' does not p ...

  2. 【Python】之pip安装报错问题:WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None))

    我想安装python第三方库,但是始终报安装失败 经查询得知,需要国内源,有如下地址: 阿里云 http://mirrors.aliyun.com/pypi/simple/ 中国科技大学 https: ...

  3. 【转】一种Vue应用程序错误/异常处理机制

    在前端应用程序中,最常见的错误/异常类型可能包括以下几种: 语法错误:使用了一些错误的语法 运行时错误:由于执行期间的非法操作导致的 逻辑错误:由于程序逻辑错误 Http 错误:API 返回的错误 有 ...

  4. EF Core – Custom Migrations (高级篇)

    前言 会写这篇是因为最近开始大量使用 SQL Server Trigger 来维护冗余 (也不清楚这路对不对). EF Core migrations 没有支持 Trigger Github Issu ...

  5. react-pdf预览在线PDF的使用

    1.在react项目中安装react-pdf依赖包 建议安装8.0.2版本的react-pdf,如果安装更高版本的可能出现一些浏览器的兼容性问题: npm install react-pdf@8.0. ...

  6. SpringBoot注解大全(详细)

    1. @ActiveProfiles 用来声明活动的profile–@ActiveProfiles("prod"(这个prod定义在配置类中)) @RunWith(SpringRu ...

  7. Kubernetes Pod(Pod Hook?Pod 健康检查?Pod 资源配置?)(十八)

    一.Pod Hook 我们知道 Pod 是 Kubernetes 集群中的最小单元,而 Pod 是由容器组成的,所以在讨论 Pod 的生命周期的时候我们可以先来讨论下容器的生命周期.实际上 Kuber ...

  8. Linux下执行文件删除的操作{确认!确认! 确认!再三确认!}

    ubuntu 删除文件夹命令 rm -r 文件名字 ---> 强制删除XXX文件 rm -f 文件名字 ---> 强制删除XXX文件(centos) 注: linux 中, 强制删除文件的 ...

  9. ES 去重/聚合查询

    es 安装版本为 7.14.0 springboot 有默认的版本,防止冲突设置如下 <properties> <java.version>1.8</java.versi ...

  10. jpa 多条件模糊查询,分页并排序

    jpa 多条件模糊查询,分页并排序很难吗,这样写不就几行代码的事吗?搞不明白你们写的怎么长篇大论花里胡哨的,看的一脸懵逼. jpa多字段模糊查询,持久层字段还是要一一对应的,但是你可以在service ...