python中的gsm位置

Posted

技术标签:

【中文标题】python中的gsm位置【英文标题】:gsm location in python 【发布时间】:2011-03-23 14:20:20 【问题描述】:

我在 S60 上运行的 python 中有这个脚本文件:

import location

def current_location():
 gsm_loc = location.gsm_location()
 print gsm_loc

current_location()

它不打印 mcc、mnc、lac 和 cellId 的元组,而是打印 None。

在我的 python shell 顶部,我看到了包含的功能之间的位置。

可能是什么问题?

形势发展:

我想也许,我的问题是缺乏能力。所以我去签署 PythonScriptShell 文件。 我使用了 OPDA 网站——我知道他们签署了除三个之外的所有功能——我不使用。 我在手机 (N95) 上安装了签名的 PythonScriptShell 文件。顶部的功能列表没有改变。尝试再次运行脚本: 相同的结果 - 打印无。

如果有人能帮我解决这个问题,那真的很重要。

谢谢。

【问题讨论】:

【参考方案1】:

我想我现在可以回答问题的一部分:

打印 None 的原因是因为需要另一个功能:ReadDeviceData,它没有包含在 python shell 顶部的功能列表中。

仍然存在问题的另一部分,为什么在我签署 PythonScriptShell 文件时没有包含此功能?它不是三个受限功能之一。

【讨论】:

【参考方案2】:

我对所有必要的脚本外壳功能都有同样的问题:'PowerMgmnt'、'ReadDeviceData'、'WriteDeviceData'、'TrustedUI'、'ProtServ'、'SwEvent'、'Network services'、' LocalServices'、'ReadUserData'、'WriteUserData'、'Location'、'SurroundingsDD'、'UserEnviroment'。

我们看一下PythonForS60/module-repo/dev-modules/location.py的源码:

import e32
import _location

def gsm_location():
    if e32.s60_version_info>=(3,0):
        ret = _location.gsm_location()
        if ret[4]==1: # relevant information ?
            return (int(ret[0]),int(ret[1]),ret[2],ret[3])
        else:
            return None # information returned by _location.gsm_location() not relevant
    else:
        return _location.gsm_location()

在我的诺基亚 E71 e32.s60_version_info == (3,1) 上,我也获得了 None 值。

我真的不知道“不相关”是什么意思,但直接调用

>>> import _location
>>> _location.gsm_location()
(u'257', u'01', 555, 11, 0)

返回接近我客观现实的东西。

【讨论】:

以上是关于python中的gsm位置的主要内容,如果未能解决你的问题,请参考以下文章

基于STM32实现的的短信实时传送位置----GPS+GSM

如何正确地对 GSM 蜂窝塔进行三角测量以获取位置?

如何在 Android 中捕获或覆盖“onCellLocationChanged():得到不是 gsm 的单元格位置,忽略”事件

Python 调用 GSM A6

python GSM 7bit 编码

谷歌地图如何在自定义地点显示我的位置标记?