From 32cd8aa65d741cebd9cdbeff0127fa7139d90e93 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Grey=20Tu=28=E5=B1=A0=E5=BC=98=E5=8E=86=29?= Date: Thu, 25 Mar 2021 11:34:07 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E6=B5=8B=E8=AF=95=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/FAQ/zh/sidebar.yaml | 2 +- docs/others/others.md | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) create mode 100644 docs/others/others.md diff --git a/docs/FAQ/zh/sidebar.yaml b/docs/FAQ/zh/sidebar.yaml index 5b5d685..8d08303 100644 --- a/docs/FAQ/zh/sidebar.yaml +++ b/docs/FAQ/zh/sidebar.yaml @@ -5,4 +5,4 @@ items: - label: 参与贡献 file: join_us/README.md - label: QuecPython_FAQ - file: QuecPython_FAQ/QuecPython_FAQ.md + file: QuecPython_FAQ/QuecPython_FAQ.md \ No newline at end of file diff --git a/docs/others/others.md b/docs/others/others.md new file mode 100644 index 0000000..ea34e5d --- /dev/null +++ b/docs/others/others.md @@ -0,0 +1 @@ +Grey \ No newline at end of file -- Gitee From db8dc0ce813d2993f86a2dba5a1d41a4a57d9c7b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Grey=20Tu=28=E5=B1=A0=E5=BC=98=E5=8E=86=29?= Date: Fri, 26 Mar 2021 10:18:01 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E4=BF=AE=E6=94=B9cellLocator=E4=B8=8EDataC?= =?UTF-8?q?all=E6=96=87=E6=A1=A3,=20=E4=BF=AE=E6=94=B9=E5=9B=BE=E7=89=87?= =?UTF-8?q?=E5=91=BD=E5=90=8D,=20=E6=95=B4=E7=90=86SIM=E6=96=87=E4=BB=B6?= =?UTF-8?q?=E6=A0=BC=E5=BC=8F.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../zh/QuecPythonWirelessNetwork/DataCall.md | 35 ++++++------ .../QuecPythonWirelessNetwork/cellLocator.md | 32 ++++++----- ...nt_QuecPythonWirelessNetwork_SIM_card.png} | Bin ...ecPythonWirelessNetwork_SIM_telephone.png} | Bin ...nWirelessNetwork_cellLocator_overview.png} | Bin .../zh/QuecPythonWirelessNetwork/sim.md | 51 +++++++++--------- docs/others/others.md | 1 - 7 files changed, 64 insertions(+), 55 deletions(-) rename docs/Advanced_development/zh/QuecPythonWirelessNetwork/media/{image-20210113215601231.png => mediaQp_Advanced_development_QuecPythonWirelessNetwork_SIM_card.png} (100%) mode change 100755 => 100644 rename docs/Advanced_development/zh/QuecPythonWirelessNetwork/media/{image-20210113220623353.png => mediaQp_Advanced_development_QuecPythonWirelessNetwork_SIM_telephone.png} (100%) mode change 100755 => 100644 rename docs/Advanced_development/zh/QuecPythonWirelessNetwork/media/{image-20210113192225821.png => mediaQp_Advanced_development_QuecPythonWirelessNetwork_cellLocator_overview.png} (100%) mode change 100755 => 100644 delete mode 100644 docs/others/others.md diff --git a/docs/Advanced_development/zh/QuecPythonWirelessNetwork/DataCall.md b/docs/Advanced_development/zh/QuecPythonWirelessNetwork/DataCall.md index 9dfc565..d282581 100644 --- a/docs/Advanced_development/zh/QuecPythonWirelessNetwork/DataCall.md +++ b/docs/Advanced_development/zh/QuecPythonWirelessNetwork/DataCall.md @@ -1,28 +1,27 @@ -# QuecPython 无线联网开发 +# QuecPythonDataCall数据拨号 -## QuecPythonDataCall数据拨号 +本片文章主要简介QuecPython datacall 模块的使用。 -本片文章主要简介QuecPython datacall 模块的使用。 datacall模块提供数据拨号的等功能。 +**模块功能:** -包含的API如下: +提供数据拨号相关接口,启动;设置;查询数据拨号。 + +**对应API:** - **dataCall.start(profileIdx, ipType, apn, username, password, authType)** - **dataCall.setApn(profileIdx, ipType, apn, username, password, authType)** -- **dataCall.setCallback** +- **dataCall.setCallback(usrFun)** - **dataCall.getInfo(profileIdx, ipType)** 具体的API 详解请参考[Quecpython-dataCall - 数据拨号](https://python.quectel.com/wiki/#/zh-cn/api/QuecPythonClasslib?id=datacall-%e6%95%b0%e6%8d%ae%e6%8b%a8%e5%8f%b7) -适用模块: -- EC100Y-CN -- EC600S-CN -### 数据拨号简介 +## 数据拨号简介 -简单理解, 数据拨号即为通过和服务器连接,获取网络访问许可。 +简单理解, 数据拨号即为通过拨号的方式和服务器连接,获取网络访问许可。 -#### 什么是APN +### 什么是APN [APN Configuration](https://prepaid-data-sim-card.fandom.com/wiki/APN_Configuration) @@ -42,7 +41,7 @@ APN接入点名称由两部分组成: - 移动国家代码(MCC) -#### APN的类型 +### APN的类型 我们可以根据APN是连接到公共网络还是专用网络以及IP地址的分配方式来划分APN,有以下四种不同的类型: @@ -56,11 +55,13 @@ APN接入点名称由两部分组成: 当我们比较公用APN和专用APN时,我们可以看到后者甚至不需要互联网连接。专用APN永远不允许其访问公共互联网,而同时又保持其在蜂窝网络基础架构上,从而确保了安全的数据处理。 -#### 配置APN +### 配置APN 对于QuecPython,可使用SIM卡默认APN或者手动配置APN。 -### 快速开始 + + +## 快速开始 QuecPython使用datacall 模块常规流程: @@ -70,7 +71,7 @@ QuecPython使用datacall 模块常规流程: 3. 注册断网回调函数, 在回调函数里面,判断网络状态,进入重拨等操作。 -#### 代码实验 +### 代码实验 1. 首先链路激活。 @@ -135,7 +136,7 @@ if __name__ == "__main__": ``` -### 参考资料 +## 参考资料 [What is Access Point Name (APN)](https://1ot.mobi/resources/blog/iot-hacking-series-3-what-is-access-point-name-apn-and-how-it-works) @@ -143,7 +144,7 @@ if __name__ == "__main__": [Quecpython-dataCall - 数据拨号](https://python.quectel.com/wiki/#/zh-cn/api/QuecPythonClasslib?id=datacall-%e6%95%b0%e6%8d%ae%e6%8b%a8%e5%8f%b7) -### 配套代码 +## 配套代码 下载代码 diff --git a/docs/Advanced_development/zh/QuecPythonWirelessNetwork/cellLocator.md b/docs/Advanced_development/zh/QuecPythonWirelessNetwork/cellLocator.md index 14ee5bd..d7daf78 100644 --- a/docs/Advanced_development/zh/QuecPythonWirelessNetwork/cellLocator.md +++ b/docs/Advanced_development/zh/QuecPythonWirelessNetwork/cellLocator.md @@ -1,11 +1,11 @@ -## QuecPython cellLocator基站定位 +# QuecPython cellLocator基站定位 本片文章主要简介QuecPython cellLocator 基站定位的使用。 **模块功能:** -提供基站定位接口,获取坐标信息。 +提供基站定位接口,获取终端坐标信息。 **对应API:** @@ -13,17 +13,25 @@ 具体的API 详解请参考 [cellLocator - 基站定位](https://python.quectel.com/wiki/api/#celllocator-) -### cellLocator 概述 -定位是指通过特定的方法来获取用户终端的位置信息(经纬度坐标)的技术或服务。常见的定位技术有两种:一种是基于GPS的定位,一种是基于移动运营网的基站定位。基于GPS的定位方式是利用GPS定位模块将自己的位置信号发送到定位后台来实现定位的。基站定位则是利用基站与终端之间的距离来确定终端位置的。后者不需要终端有GPS定位能力,但是精度很大程度依赖于基站的分布及覆盖范围的大小,有时误差会超过一公里。前者定位精度较高。此外还可以利用Wi-Fi在小范围内定位。 -基站定位一般应用于手机用户,手机基站定位服务又叫做移动位置服务(LBS,Location Based Service),它是通过运营商的网络(如GSM网)获取移动终端用户的位置信息(经纬度坐标),在电子地图平台的支持下,为用户提供相应定位服务的一种增值业务。例如目前中国移动动感地带提供的动感位置查询服务等。在物联网设备中也支持此类的操作。 +## cellLocator 概述 -基站定位的大致原理为:移动电话测量不同基站的下行导频信号,得到不同基站下行导频的TOA(Time of Arrival,到达时刻)或TDOA(Time Difference of Arrival,到达时间差),根据该测量结果并结合基站的坐标,一般采用三角公式估计算法,就能够计算出终端的位置。实际的位置估计算法需要考虑多基站(3个或3个以上)定位的情况,因此算法要复杂很多。一般而言,移动台测量的基站数目越多,测量精度越高,定位性能改善越明显。QuecPython_cellLocator基站定位便是属于基站定位一种。 +定位是指通过特定的方法来获取用户终端的位置信息(经纬度坐标)的技术或服务。 -### 开发实例 +常见的定位技术有两种:一种是基于GPS的定位,一种是基于移动运营网的基站定位。基于GPS的定位方式是利用GPS定位模块将自己的位置信号发送到定位后台来实现定位的。基站定位则是利用基站与终端之间的距离来确定终端位置的。QuecPython_cellLocator基站定位便是属于基站定位一种。 -#### 交互实验 +基站定位的大致原理为:移动终端通过运营商的网络(如GSM网)测量不同基站的下行导频信号时间,得到不同基站下行导频的TOA(Time of Arrival,到达时刻)或TDOA(Time Difference of Arrival,到达时间差),根据该测量结果并结合基站的坐标,一般采用三角公式估计算法,获取移动终端用户的位置信息(经纬度坐标),在电子地图平台的支持下,为用户提供相应定位位置。实际的位置估计算法需要考虑多基站(3个或3个以上)定位的情况,因此算法要复杂很多。一般而言,移动台测量的基站数目越多,测量精度越高,定位性能改善越明显。 + +QuecPython_cellLocator基站定位不需要终端具有GPS定位能力,无需任何额外硬件支持,但是精度很大程度依赖于基站的分布及覆盖范围的大小。定位精准度大概500m~1500m(因基站密度及数据库数量而异)。此外还可以利用Wi-Fi在小范围内辅助定位,定位精准度约50m。 + +由于是基站定位,需要基站信号覆盖。目前国内4G信号已基本覆盖,2G网络暂时间依旧可以使用,但面临退网风险,3G网络只有电信还没退网,也列入退网计划。在使用该功能前需先对使用地信号覆盖有所了解。 + + + +## 快速开发 + +### 交互实验 进行本次实验, 需要先确定SIM卡状态。 具体请参考SIM模块的文档。 @@ -36,7 +44,7 @@ # 上面使用的密钥仅为测试密钥 ``` -#### 代码实验 +### 代码实验 计算当前位置到北京首都的距离, @@ -89,11 +97,11 @@ if __name__ == "__main__": ``` -### 参考资料 +## 参考资料 [cellLocator - 基站定位](https://python.quectel.com/wiki/#/zh-cn/api/?id=celllocator-基站定位) -### 配套代码 +## 配套代码 - 下载代码 + 下载代码 \ No newline at end of file diff --git a/docs/Advanced_development/zh/QuecPythonWirelessNetwork/media/image-20210113215601231.png b/docs/Advanced_development/zh/QuecPythonWirelessNetwork/media/mediaQp_Advanced_development_QuecPythonWirelessNetwork_SIM_card.png old mode 100755 new mode 100644 similarity index 100% rename from docs/Advanced_development/zh/QuecPythonWirelessNetwork/media/image-20210113215601231.png rename to docs/Advanced_development/zh/QuecPythonWirelessNetwork/media/mediaQp_Advanced_development_QuecPythonWirelessNetwork_SIM_card.png diff --git a/docs/Advanced_development/zh/QuecPythonWirelessNetwork/media/image-20210113220623353.png b/docs/Advanced_development/zh/QuecPythonWirelessNetwork/media/mediaQp_Advanced_development_QuecPythonWirelessNetwork_SIM_telephone.png old mode 100755 new mode 100644 similarity index 100% rename from docs/Advanced_development/zh/QuecPythonWirelessNetwork/media/image-20210113220623353.png rename to docs/Advanced_development/zh/QuecPythonWirelessNetwork/media/mediaQp_Advanced_development_QuecPythonWirelessNetwork_SIM_telephone.png diff --git a/docs/Advanced_development/zh/QuecPythonWirelessNetwork/media/image-20210113192225821.png b/docs/Advanced_development/zh/QuecPythonWirelessNetwork/media/mediaQp_Advanced_development_QuecPythonWirelessNetwork_cellLocator_overview.png old mode 100755 new mode 100644 similarity index 100% rename from docs/Advanced_development/zh/QuecPythonWirelessNetwork/media/image-20210113192225821.png rename to docs/Advanced_development/zh/QuecPythonWirelessNetwork/media/mediaQp_Advanced_development_QuecPythonWirelessNetwork_cellLocator_overview.png diff --git a/docs/Advanced_development/zh/QuecPythonWirelessNetwork/sim.md b/docs/Advanced_development/zh/QuecPythonWirelessNetwork/sim.md index 926823a..7dbec0d 100644 --- a/docs/Advanced_development/zh/QuecPythonWirelessNetwork/sim.md +++ b/docs/Advanced_development/zh/QuecPythonWirelessNetwork/sim.md @@ -1,29 +1,30 @@ -## QuecPython SIM卡功能开发 +# QuecPython SIM卡功能开发 本文主要简介QuecPython SIM卡模块的使用。 -其包含的API有 +**模块功能:** -- **sim.getImsi()** -- **sim.getIccid()** -- **sim.getPhoneNumber()** -- **sim.getStatus()** -- **sim.enablePin(pin)** -- **sim.disablePin(pin)** -- **sim.verifyPin(pin)** -- **sim.unblockPin(puk, newPin)** -- **sim.changePin(oldPin, newPin)** -- **sim.readPhonebook(storage, start, end, username)** -- **sim.writePhonebook(storage, index, username, number)** +提供sim卡操作相关API,如查询sim卡状态、iccid、imsi等。 + +**对应API:** + +- sim.getImsi() +- sim.getIccid() +- sim.getPhoneNumber() +- sim.getStatus() +- sim.enablePin(pin) +- sim.disablePin(pin) +- sim.verifyPin(pin) +- sim.unblockPin(puk, newPin) +- sim.changePin(oldPin, newPin) +- sim.readPhonebook(storage, start, end, username) +- sim.writePhonebook(storage, index, username, number) 具体的API 详解请参考[Quecpython sim - SIM卡库](https://python.quectel.com/wiki/api/#sim-sim) -适用模块: -- EC100Y-CN -- EC600S-CN -### SIM卡基本概述 +## SIM卡基本概述 SIM 分为手机卡和物联网卡。区别就是物联网卡没有电话号码不能收发短信,手机可以发短信。 常见的是手机卡。 @@ -33,7 +34,7 @@ SIM 分为手机卡和物联网卡。区别就是物联网卡没有电话号码 第四代标准的Nano卡。 -![image-20210113215601231](media/image-20210113215601231.png) +![mediaQp_Advanced_development_QuecPythonWirelessNetwork_SIM_card](media/mediaQp_Advanced_development_QuecPythonWirelessNetwork_SIM_card.png) EC600S-CN 需要的是第四代标准的 Nano 卡。 @@ -68,11 +69,11 @@ ICCID全称为Integrated Circuit Card Identifier,即集成电路卡识别码 Phonebook Memory Storage即为SIM卡电话薄存储区域。详情可参考 [ts_127007v100300p.pdf](https://www.etsi.org/deliver/etsi_ts/127000_127099/127007/10.03.00_60/ts_127007v100300p.pdf) 。 -![image-20210113220623353](media/image-20210113220623353.png) +![mediaQp_Advanced_development_QuecPythonWirelessNetwork_SIM_telephone](media/mediaQp_Advanced_development_QuecPythonWirelessNetwork_SIM_telephone.png) -### 快速开始 +## 快速开始 -#### 交互实验 +### 交互实验 ```python >>> import sim @@ -93,7 +94,7 @@ Phonebook Memory Storage即为SIM卡电话薄存储区域。详情可参考 [ts_ (1, [(2, 'z', '18144786859')]) ``` -#### 代码实验 +### 代码实验 使用命令行随机写SIM卡中的Phonebook。 @@ -173,13 +174,13 @@ if __name__ == "__main__": ``` -### 参考资料 +## 参考资料 **[ts_127007v100300p.pdf](https://www.etsi.org/deliver/etsi_ts/127000_127099/127007/10.03.00_60/ts_127007v100300p.pdf)** -**[Quecpython sim - SIM卡库](https://python.quectel.com/wiki/api/#sim-sim)** +**[Quecpython sim - SIM卡库]([QuecPython 类库 (quectel.com)](https://python.quectel.com/wiki/#/zh-cn/api/QuecPythonClasslib?id=sim-sim卡))** -### 配套代码 +## 配套代码 下载代码 \ No newline at end of file diff --git a/docs/others/others.md b/docs/others/others.md deleted file mode 100644 index ea34e5d..0000000 --- a/docs/others/others.md +++ /dev/null @@ -1 +0,0 @@ -Grey \ No newline at end of file -- Gitee From c381258ea927bd1c9d4f650bc704239508fc86ba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Grey=20Tu=28=E5=B1=A0=E5=BC=98=E5=8E=86=29?= Date: Wed, 31 Mar 2021 11:04:34 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=A0=BC=E5=BC=8F,=20?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E9=83=A8=E5=88=86=E5=86=85=E5=AE=B9.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../zh/QuecPythonWirelessNetwork/DataCall.md | 76 +++++++++++++++---- .../QuecPythonWirelessNetwork/cellLocator.md | 17 +++-- 2 files changed, 72 insertions(+), 21 deletions(-) diff --git a/docs/Advanced_development/zh/QuecPythonWirelessNetwork/DataCall.md b/docs/Advanced_development/zh/QuecPythonWirelessNetwork/DataCall.md index d282581..5e558f3 100644 --- a/docs/Advanced_development/zh/QuecPythonWirelessNetwork/DataCall.md +++ b/docs/Advanced_development/zh/QuecPythonWirelessNetwork/DataCall.md @@ -1,34 +1,53 @@ -# QuecPythonDataCall数据拨号 +# QuecPython_dataCall数据拨号 -本片文章主要简介QuecPython datacall 模块的使用。 +本片文章主要简介QuecPython_datacall 模块的使用。 **模块功能:** -提供数据拨号相关接口,启动;设置;查询数据拨号。 +提供数据拨号相关接口。启动;配置;查询终端通过何种接入方式来访问何种网络。 **对应API:** -- **dataCall.start(profileIdx, ipType, apn, username, password, authType)** -- **dataCall.setApn(profileIdx, ipType, apn, username, password, authType)** -- **dataCall.setCallback(usrFun)** -- **dataCall.getInfo(profileIdx, ipType)** +- dataCall.start(profileIdx, ipType, apn, username, password, authType) +- dataCall.setApn(profileIdx, ipType, apn, username, password, authType) +- dataCall.setCallback(usrFun) +- dataCall.getInfo(profileIdx, ipType) -具体的API 详解请参考[Quecpython-dataCall - 数据拨号](https://python.quectel.com/wiki/#/zh-cn/api/QuecPythonClasslib?id=datacall-%e6%95%b0%e6%8d%ae%e6%8b%a8%e5%8f%b7) +具体的API 详解请参考[Quecpython - dataCall - 数据拨号](https://python.quectel.com/wiki/#/zh-cn/api/QuecPythonClasslib?id=datacall-数据拨号) ## 数据拨号简介 -简单理解, 数据拨号即为通过拨号的方式和服务器连接,获取网络访问许可。 +简单理解, 数据拨号即为通过拨号的方式和服务器建立连接,获取网络访问许可过程。 对于终端设备来说就是配置APN。 ### 什么是APN +APN指一种网络接入技术,是终端入网时必须配置的一个参数,它决定了终端通过哪种接入方式来访问网络。 + +对于用户来说,可以访问的外部网络类型有很多,例如:[Internet](https://baike.baidu.com/item/Internet/272794)、[WAP网站](https://baike.baidu.com/item/WAP网站/3419865)、集团企业内部网络、行业内部专用网络。而不同的接入点所能访问的范围以及接入的方式是不同的,网络侧如何知道终端激活以后要访问哪个网络从而分配哪个网段的IP呢,这就要靠APN来区分了,即APN决定了用户的终端通过哪种接入方式来访问什么样的网络。 + [APN Configuration](https://prepaid-data-sim-card.fandom.com/wiki/APN_Configuration) [What is Access Point Name (APN)](https://1ot.mobi/resources/blog/iot-hacking-series-3-what-is-access-point-name-apn-and-how-it-works) 所有运营商都使用特定的APN(Access Point Name,接入点名称)。这通常是您的SIM卡预先配置的,但必要时,您需手动进行调整。 +### APN的含义 + +APN决定了终端通过哪种接入方式来访问网络,用来标识[GPRS](https://baike.baidu.com/item/GPRS/107439)的业务种类。 + +APN分为两大类: + +- [WAP](https://baike.baidu.com/item/WAP/207452)业务。 +- [WAP](https://baike.baidu.com/item/WAP/207452)以外的服务,比如:连接因特网。 + +从运营商角度看,APN就是一个逻辑名字,APN一般都部署在GGSN设备上或者逻辑连接到GGSN上,用户使用GPRS上网时,都通过[GGSN](https://baike.baidu.com/item/GGSN/6041769)代理出去到外部网络,因此,APN设置、过滤、统计等,就成为一个对GPRS计费、GPRS资费有重要参考价值的参数之一(因为APN可以区分一个业务或者外部网络)。 + +APN的完整说明在3GPP规范TS23.003 Clause 9中进行了详细定义。 + +### APN的构成 + APN接入点名称由两部分组成: - 网络标识符 @@ -57,20 +76,47 @@ APN接入点名称由两部分组成: ### 配置APN -对于QuecPython,可使用SIM卡默认APN或者手动配置APN。 +对于QuecPython,可使用SIM卡默认APN或者手动配置APN,也可以调用API函数配置APN。 ## 快速开始 -QuecPython使用datacall 模块常规流程: +### 操作流程 1. 使用链路拨号,获取进行链路激活。 - 2. 获取IP信息等基本数据。 - 3. 注册断网回调函数, 在回调函数里面,判断网络状态,进入重拨等操作。 +### 交互实验 + +```python +>>> import dataCall +>>> import net +>>> dataCall.setApn(1, 0, "3gnet.mnc001.mcc460.gprs", "", "", 0) +0 +>>> dataCall.start(1, 0, "3gnet.mnc001.mcc460.gprs", "", "", 0) +0 +>>> def nw_cb(args): + pdp = args[0] + nw_sta = args[1] + if nw_sta == 1: + print("*** network %d connected! ***" % pdp) + else: + print("*** network %d not connected! ***" % pdp) + +>>> dataCall.setCallback(nw_cb) +0 +>>> net.setModemFun(4) # 进入飞行模式 +0 +>>> *** network 1 not connected! *** # 进入飞行模式导致断网,通过回调告知用户 +>>> net.setModemFun(1) # 退出飞行模式 +0 +>>> *** network 1 connected! *** # 退出飞行模式,自动拨号,等待联网成功,通过回调告知用户 +``` + + + ### 代码实验 1. 首先链路激活。 @@ -142,9 +188,9 @@ if __name__ == "__main__": [APN Configuration](https://prepaid-data-sim-card.fandom.com/wiki/APN_Configuration) -[Quecpython-dataCall - 数据拨号](https://python.quectel.com/wiki/#/zh-cn/api/QuecPythonClasslib?id=datacall-%e6%95%b0%e6%8d%ae%e6%8b%a8%e5%8f%b7) +[Quecpython - dataCall - 数据拨号](https://python.quectel.com/wiki/#/zh-cn/api/QuecPythonClasslib?id=datacall-数据拨号) ## 配套代码 - 下载代码 + 下载代码 \ No newline at end of file diff --git a/docs/Advanced_development/zh/QuecPythonWirelessNetwork/cellLocator.md b/docs/Advanced_development/zh/QuecPythonWirelessNetwork/cellLocator.md index d7daf78..9849958 100644 --- a/docs/Advanced_development/zh/QuecPythonWirelessNetwork/cellLocator.md +++ b/docs/Advanced_development/zh/QuecPythonWirelessNetwork/cellLocator.md @@ -1,7 +1,7 @@ -# QuecPython cellLocator基站定位 +# QuecPython_cellLocator基站定位 -本片文章主要简介QuecPython cellLocator 基站定位的使用。 +本片文章主要简介QuecPytho_cellLocator 基站定位的使用。 **模块功能:** @@ -11,11 +11,11 @@ - cellLocator.getLocation(serverAddr, port, token, timeout, profileID) -具体的API 详解请参考 [cellLocator - 基站定位](https://python.quectel.com/wiki/api/#celllocator-) +具体的API 详解请参考 [cellLocator - 基站定位](https://python.quectel.com/wiki/#/zh-cn/api/QuecPythonClasslib?id=celllocator-基站定位) -## cellLocator 概述 +## 定位概述 定位是指通过特定的方法来获取用户终端的位置信息(经纬度坐标)的技术或服务。 @@ -23,6 +23,10 @@ 基站定位的大致原理为:移动终端通过运营商的网络(如GSM网)测量不同基站的下行导频信号时间,得到不同基站下行导频的TOA(Time of Arrival,到达时刻)或TDOA(Time Difference of Arrival,到达时间差),根据该测量结果并结合基站的坐标,一般采用三角公式估计算法,获取移动终端用户的位置信息(经纬度坐标),在电子地图平台的支持下,为用户提供相应定位位置。实际的位置估计算法需要考虑多基站(3个或3个以上)定位的情况,因此算法要复杂很多。一般而言,移动台测量的基站数目越多,测量精度越高,定位性能改善越明显。 + + +## cellLocator 特性 + QuecPython_cellLocator基站定位不需要终端具有GPS定位能力,无需任何额外硬件支持,但是精度很大程度依赖于基站的分布及覆盖范围的大小。定位精准度大概500m~1500m(因基站密度及数据库数量而异)。此外还可以利用Wi-Fi在小范围内辅助定位,定位精准度约50m。 由于是基站定位,需要基站信号覆盖。目前国内4G信号已基本覆盖,2G网络暂时间依旧可以使用,但面临退网风险,3G网络只有电信还没退网,也列入退网计划。在使用该功能前需先对使用地信号覆盖有所了解。 @@ -99,9 +103,10 @@ if __name__ == "__main__": ## 参考资料 -[cellLocator - 基站定位](https://python.quectel.com/wiki/#/zh-cn/api/?id=celllocator-基站定位) +[cellLocator - 基站定位](https://python.quectel.com/wiki/#/zh-cn/api/QuecPythonClasslib?id=celllocator-基站定位) ## 配套代码 - 下载代码 \ No newline at end of file + 下载代码 + -- Gitee