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