2008/08/08

GPS 坐标转换

没有评论:
GPS 坐标转换

1 longitude = 85.276 km, 1 latitude = 110.94 km

def latlon_to_xy( lat, lon):
x, y = lon, lat
return x*85.276, y*110.94

def xy_to_latlon( x, y ):
x, y = x /85.276, y/110.94
lat, lon = y, x
return ( lat, lon )


GPS reading 格式 (lat, lon)
Singapore Bukit Timah hill (0121.3055N, 10346.6611E) => (1.35509167, 103.77768500)

小数点左边两位为 minutes, 剩下最左边的为degree,右边为minute的1/10。
如 0121.3055N 为北纬 1度21.3055分,或 1度21分0.3055*60=18.33秒,转换成十进制为 1+ 21.3055/60 = 1.35509167 度。

10346.6611E 为 东经103度46.6611分。

Note: 1 degree = 60 minutes = 3600 seconds

miniGPS:利用gsm cell 定位

没有评论:

Psiloc miniGPS是一款网络定位工具,可以让你在GSM网络中确定你自己的位置!它的主要目标是根据你在网络中的不同位置执行设定的任务.它也可以显示你的手机所登录的网络单元的详细信息.你可以根据你已登录的单元和输入新的数据来创建自己的网络单元数据库.
  miniGPS 一个通过GSM移动电话网络定位的软件。通过mimiGPS你可以将自己所在的不同位置保存下来,比如公司,家中等,然后可以用mimiGPS进行监视,一进入或离开特定的范围就可以做出改变情景模式、发送短消息、响铃和关机等不同的操作。

首先是 cell ,我们知道,由于地球本身的原因,不管发射塔建的有多高,总有其无线电波覆盖不到的地方,为了让网络覆盖到服务区的每一块区域,只有每隔一段距离,就建一 个发射塔,也称之为基站。把每个基站都连接起来,就构成了一个巨大的网络。在海上,只能用卫星来覆盖了。一个城市,从规模的大小,可以有几十甚至几百个基 站,这款软件就是利用基站的位置来进行手机使用者的定位的。 Cell 的含义就是基站的意思,每一个基站都有一个 id ,也就是标示符,是唯一的。上面的 cell id 为 30211 。 Signal 是信号,其用数量的方法描述了信号的强弱, 100% 就是我们平时说的满格信号。 Area id 是区域标示符,也是唯一的, Area 与 cell 的关系是:一个 Area 可以有多个 cell ,就像一个鱼缸有多条鱼一样,一个 Area 需要不仅一个 cell 来覆盖。


Another interesting software:

TrackMe* GPS/CellID Tracking tool for Google Earth & Google Maps

http://luisespinosa.com/trackme_eng.html

http://forum.xda-developers.com/showthread.php?t=340667


一个解读Bluetooth GPS的python程序

没有评论:
在NMEA GPS receiver中,GPGGA is not the only one to read GPS position, with all receivers, since not all receiver use it.

Should be able decode at least :
GPGGA
GPRMC
GPGLL
(注: 那些含有lon&lat的 sentence应该都可以)

Download and review Python for Series 60 Documentation bundle at http://forum.nokia.com/main/0,6566,040,00.html?fsrParam=1-3-/main/0,,034-821,00.html&fileID=6534

At "Programming with Python for Series 60 Platform" there is section dedicated to the topic - Bluetooth Sockets. There is example of services discovery and reference to Python's Bluetooth console and Bluetooth socket stdio.

Here is a sample BT program that reads a position from a BT GPS and displays it.

import socket
class BTReader:
def connect(self):
self.sock=socket.socket(socket.AF_BT,socket.SOCK_STREAM)
address,services=socket.bt_discover()
print "Discovered: %s, %s"%(address,services)
target=(address,services.values()[0])
print "Connecting to "+str(target)
self.sock.connect(target)

def readposition(self):
try:
while 1:
buffer=""
ch=self.sock.recv(1)
while(ch!='$'):
ch=self.sock.recv(1)
while 1:
if (ch=='\r'):
break
buffer+=ch
ch=self.sock.recv(1)

if (buffer[0:6]=="$GPGGA"):
(GPGGA,hhmmssss,l1ddmmmmmm,l1,l2dddmmmmmm,l2,q,xx,pp,ab,M,cd,M,xx,nnnn)=buffer.split(",")
return (l1+l1ddmmmmmm, l2+l2dddmmmmmm)
except Error:
return None

def close(self):
self.sock.close()

bt=BTReader()
bt.connect()
print bt.readposition()
print bt.readposition()
print bt.readposition()
bt.close()

gps and gsm locations from python s60

没有评论:
Goal: periodically obtain 1) BT GPS (i.e. $GPRMC and $GPGGA sentences) and 2) GSM cell id at the same time and save.

____________________________________

# Simple BT App
#$GPRMC,161229.487,A,3723.2475,N,12158.3416,W,0.13,309.62,120598, ,*10

import socket,location,urllib

class BTReader:

def connect(self):
self.sock=socket.socket(socket.AF_BT,socket.SOCK_STREAM)
address,services=socket.bt_discover()
print "Discovered: %s, %s"%(address,services)
target=(address,services.values()[0])
print "Connecting to "+str(target)
self.sock.connect(target)

def readposition(self):
try:
buffer=""
ch = self.sock.recv(1)
while(ch !='\n'):
buffer+=ch
ch = self.sock.recv(1)
# print buffer

if (buffer[0:6]=="$GPRMC"):
(GPRMC,utc,status,lat,latns,lon,lonew,knots,course,date,xx1,xx2)=buffer.split(",")
return "GPS (%s,%s,%s,%s,%s)"%(utc,lat+latns,lon+lonew,knots,course)
except Error:
return "Error!\n"
return ""

def close(self):
self.sock.close()

class GSM_loc:

def upd(self):
self.loc = location.gsm_location()
return "GSM (MCC:%s MNC:%s LAC:%s CID=%s)"%(self.loc[0], self.loc[1], self.loc[2], self.loc[3])

gsm = GSM_loc()

bt=BTReader()
bt.connect()

i=0
while (i<15):
print gsm.upd()
print bt.readposition()
i+=1

bt.close()

Secondlife and Google maps

没有评论:
“尼奥,你曾经作过这样的梦吗,你坚信不移的东西都是真的吗?你能从那样的梦中醒来吗?你能分辨出梦境与现实世界的区别吗?”-------《黑客帝国》

csail-mit

或许Google Earth实景版和Google Metaverse还比较遥远,我们不妨先来看看当Google Earth遇上SecondLife,会发生什么事?GeoGlobe正是这样的一个mashup,它将KML、GeoRSS及普通的RSS feed作为输入,然后将它们变成SecondLife里的GeoGlobe地理位置。换言之,将真实世界的数据有效地在SecondLife里形像化。感兴趣的朋友可到开发者的blog里了解详细。

http://envirolink.blogspot.com/2007/03/google-earth-in-second-life.html

使用Google Map API

没有评论:
AJAX是Asynchronous JavaScript + XML的缩写。它的目标是创造和基于桌面系统的应用一样丰富和相同响应方式的Web应用,并可以使用多种浏览器方便的访问。

  AJAX模型的一个著名应用就是Google Maps。你可以在http://maps.google.com上充分的使用它,并且惊讶于它的快速缩放能力和拖动能力。那么能不能把它强大的能力结合到你自己的应用程序里呢,这样不但你可以使用到它那强大的数据库,也可以使用它非常cool的界面。

  Google已经提供了一个免费的 Google Map API ,使得你很容易实现以上的想法。只要你同意使用规定,并且不要未经允许使得页面拥有超过每天50000的浏览量,你可以随意在自己的web站点使用Google的地图技术。本文将介绍如何实现这一点,尤其你将学会如何将地图集成到页面里,给用户标识出感兴趣的地点,甚至可以在点击某个关联的图标时给出一个地点相关的描述。目前使用Google这项技术的有http://www.chicagocrime.org,http://www.housingmaps.com/ 等等。

  系统需求

  使用Google Map API,你无需其他特别的web开发工具,所需的仅是文本编辑器,Web浏览器,和一个保存写好的web页面和脚本的web服务器。注意这里必须使用公开的web服务器,你不能使用内部服务器,因为每个请求都必须和Google Map的服务器交互。你需要在Google上注册并获取一个API的Key来使用,注意先访问这个站点了解相关的使用规则和申请方式:

  http://www.google.com/apis/maps/signup.html

  你需要将key和你的脚本进行集成以正确创建和显示你所需要的地图。

  第一个地图

  使用Google Map非常简单,只需要短短几行代码即可。你可以将以下的代码存储为HTML文件,并且将ADD_YOUR_KEY_HERE替换成你得到的API的Key,然后上传到自己的web服务器上。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script src="http://maps.google.com/maps?file=api&v=1 &key=ADD_YOUR_KEY_HERE" type="text/javascript">
</script>
</head>
<body>
<div id="map" style="width: 400px; height: 300px"></div>
<script type="text/javascript">
//<![CDATA[ var map = new GMap(document.getElementById("map")); map.centerAndZoom(new GPoint(-83.022206, 39.998264), 3); //]]>
</script>
</body>
</html>

  访问web服务器上的这个html文件,你在浏览器中看到俄亥俄州立大学的地图:

  在以上的脚本里有4个关键的地方,以下的代码片断是使得你可以使用Google Map服务的,但是你必须提供你自己的API Key:

<script src="http://maps.google.com/maps?file=api&v=1&key=ADD_YOUR_KEY_HERE" type="text/javascript">

  下面一些代码规定了html页面中页面的显示大小:长度,宽度。你可以把它放置到页面文件中的任何一行,使用表格和CSS都可以:

<div id="map" style="width: 400px; height: 300px"></div><script type="text/javascript">

  下面的代码创建一个GMap的对象(从Goolge的JavaScript脚本中的一个类进行实例化),使用它操纵其他的显示和控制部分:

var map = new GMap(document.getElementById("map"));

  最后,显示的地图的中心的经度是-83.022206和纬度39.998264。Gpoint的构造器的第二个参数是表明地图的俯视高度,1是最低的高度,16是最高的高度。

Google Map API: Get a marker's lat/lon

没有评论:

This script is to make a marker when you click the map. The idea is at first to obtain lat/lon parameters, then draw a marker overlay on the map.

GEvent.addListener(map, “click”,
function(marker, point) {
map.addOverlay(new createMarker(point));
}
);

function createMarker(point) {
var marker = new GMarker(point);
GEvent.addListener( marker, “click”,
function() {
//show the longitude
document.getElementById(”message1″).innerHTML = point.lat();
//show the latitude
document.getElementById(”message2″).innerHTML = point.lng();
}
);
return marker;
}

怎样使用google maps查地图

没有评论:

网址 http://maps.google.com

方法1. 输入邮政地址

然后在上面的搜索条内直接输入想要找的城市名称如“100 Memorial Drive #2-1c, Cambridge, MA 02142”,然后点右边的search maps 就可以找到大概位置了,然后再点地图上右上角中间的satellite按钮,就可以看到城市的卫星地貌了。滚动鼠标可以缩放地图大小。界面上面是录入框, 可直接输入地名定位地图。地图左上角是工具按钮。上下左右四个方向键,中间按钮回到最后一次查找的结果。左侧下面是分辨率,点+即放大一级,点-即缩小一 级,也可以拉动中间的滚动条直接改变分辨率。

利用这个卫星地图,还可以反查经纬度。将目标位置拉至最大分辨率,并将其拉至中心位置,在右侧“Link to this page”处点击右键,选中复制快捷方式,在文本编辑工具,如记事本中粘贴,可以看到一个形如“http: //maps.google.com/maps?ll=22.283084,114.174417&spn=0.004796,0.007918& t=k&hl=en”这样的地址,其中参数ll,就是纬度与经度,可以按需要对获取的经纬度小数点后保留适当的位数。如果要与朋友分享某一特定目 标特定分辩率的图片,直接将上述地址发送给朋友即可。
 
方法2. 直接输入经纬度

for example: 在search maps搜索框内输入
42.362686, -71.087029
会指到cambridge的broadway。

或者将经纬度代入
http://maps.google.com/maps?ll=纬度,经度&spn=0.1,0.1&t=k&hl= en

Note: =(latitude north, longtitude west),经纬度都使用十进制。经度一度约是 85.276公里,纬度一度是110.94公里。不同区域最大的分辨率会有所不同。地图显示后,可用鼠标拖动地图以显示不同区域。

智能手机安装 bluetooth GPS

没有评论:

问:我的手机是否适合配置GPS,什么方案?

1.推荐使用蓝牙GPS方案。因为蓝牙GPS是主流GPS设备,通用性强,可以和笔记本、PDA、手机等具有蓝牙功能的设备配合使用。
2.只要你的手机具备蓝牙功能,同时是智能手机(比如nokia s60系统),你的手机就具备了使用蓝牙GPS实现导航功能的条件。
3.如果是车载导航使用,推荐同时选配PDA/手机两用车架。
4、GPS导航地图软件一般在200M以上,而且往往你喜欢装几款软件同时测试。如果你的手机存储卡不够用,可以选配一个大一些的容量的MMC卡、RS-MMC卡、SD卡、MINI SD卡。
注意,新卡,一般要用手机进行格式化。诺基亚手机在“附加功能”里的“储存卡”里选择格式化储存卡)对于大容量的卡,最好用读卡器读,速度比数据线快很多。

安装完软件后,手机需要和蓝牙gps进行连接
把充好电的蓝牙GPS接收机打开,然后调整手机用蓝牙搜索蓝牙GPS。方法:功能/连接功能/蓝牙/打开/搜寻/开始搜寻设备,当搜到蓝牙gps时,要求你输入通行码,一般是“0000”。默认连接就可以了。

二、s60系统第二版可以安装的软件:

1、ROUTE66
2、MapKing
3、Smartcomgps(可自制地图)
4、MapViewGPS-II(可自制地图)
5、Power Navigation2.02_简体中文汉化完全版for s60

软件安装
配置: 智能手机+蓝牙GPS模块+导航软件

如果有nokia蓝牙S60系统的手机,装个Route66软件+新加坡地图,去买个蓝牙GPS接收器就可以导航用了。或者用蓝牙 PPC,windows 系统的,装个mapking+新加坡地图+蓝牙GPS接收器也可以,或者现在有直接集成GPS芯片的PPC比如Asus A632等型号更方便。

将下载的SIS文件拷贝到手机中,进入手机的功能表》事物管理》文件管理中找到拷贝的文件安装即可,安装完成后在我的应用里面找到运行。
安装完成后将地图文件拷贝到储存卡的E:\system\apps\ROUTE66\maps里面就可以使用了。(目录可能隐藏)

买一个LD-3W蓝牙GPS,然后,为N73安装GPS导航软件,推Route66 Mobile7中国版(S60第三版专用),最新版本号是520。软件安装后,我们还要安装地图后,才可以使用。最新版配合R66使用的中国地图是 216M。安装好软件后,打开LD-3W的电源,长按2秒即可开启。然后在打开手机的蓝牙功能,搜索蓝牙设备,搜索到LD-3W后,和其进行配对,LD- 3W默认的蓝牙通行码是0000。配对后在手机上打开R66软件的界面,软件会自动搜索GPS设备,搜索到设备后,我们确认即可,这时我们的N73就和 LD-3W通过蓝牙连接成功了。这时LD-3W上中间的灯会闪烁蓝色的灯光。然后等待一下,LD-3W就会自动寻找天上的卫星来定位了,打开软件的视图 -“GPS信息”功能,可以看到GPS信息情况,可以看见卫星信号强度。然后打开软件的选项,选择”开始”,输入目的地,软件就会计算路程,规划路径。规 划完毕后,下面显示了当前时间,路径距离,这时就已经实现GPS定位导航了


GPS概念及常用术语

没有评论:

(copy)

随着整个GPS市场的发展,导航产品在人们生活中的的应用范围越来越广。今天笔者就将一些和GPS相关的概念和常用术语做了一个汇总。

智能手机GPS

智能手机GPS是手机、GPS、PDA掌上计算机三合一产品,可通过运营商网络进行实时数据更新。最快可在5秒内实现卫星定位,这是目前最快的定位 速度。在接收不到卫星信号,但有移动信号的情况下,该类手机会迅速转换搜索模式,链接电信运营商的后台,实现定位。只要能接收到手机信号,就可进行卫星定 位。而且此类产品信号稳定性较好。

最后我们在来看看在使用GPS导航产品过程中能接触到的一些相关术语及概念,对它们有一个较深的理解和认识会更有助于大家对导航产品的认识和把握。

1.坐标

大部分GPS是以经/纬度(Lat/Long)的方式显示坐标,另外还有一些也可用Universal Transverse Mercator等坐标系统来显示,具体到消费者使用的产品,则取决产品本身的坐标系统。坐标的精度在Selective Availability打开时,GPS的水平精度在100-50米之间,具体数据由接受到卫星信号的多少和强弱而定,若根据GPS的指示则应该在大约一 个足球场大小的面积内发现用户所指示的目标。

2.航点

GPS 产品内存中保存的一个点的坐标值。航点是GPS数据核心,它是构成“航线”的基矗标记航点是GPS主要功能之一,但是用户也可以从地图上读出一个地点的坐 标,手工或通过计算器接口输入GPS,使之成为一个航点。一个航点可以将来用于GOTO功能的目标,也可以选进一条航线Route,作为一个支点。一般 GPS能记录500个或以上的航点。

3.航线

航线是GPS内存中存储的一组数据,包括一个起点和一个终点的坐标,还可以包括若干中间点的坐标,每两个坐标点之间的线段叫一条"腿"。常见GPS 能存储 20条线路,每条线路30条"腿"。各坐标点可以从现有航点中选择,或是手工/计算器输入数值,输入的路点同时做为一个航点保存。实际上一条航线的所有点 都是对某个航点的引用,比如在航点菜单下改变一个航点的名字或坐标,如果某条航线使用了它,用户会发现这条航线也发生了同样的变化。可以有一条航线是"活 跃"的。“活跃”航线的路点是导向功能的目标。

4.前进方向

一般的GPS没有指北针的功能,静止不动时它是不知道方向的。但是一旦动了起来,它就能知道自己的运动方向。GPS每隔一秒更新一次当前地点信息, 每一点的坐标和上一点的坐标一一比较,就可以知道前进的方向,但是这里请大家注意这并不是GPS头指的方向,因为它是不知道自己的脑袋和运动路线是成多少 度角的。不同GPS关于前进方向的算法是不同的,基本上是最近若干秒的前进方向,所以除非哟凝固用户已经走了一段并仍然在走直线,否则前进方向是不准确 的,尤其是在拐弯的时候用户会看到通过GPD显示出来的数值在不停的变化。方向是以多少度显示的,这个度数是手表表盘朝上,12点指向北方,顺时针转的角 度。有很多 GPS还可以用指向罗盘和标尺的方式来显示这个角度。一般同时还显示前进平均速度,也是根据最近一段的位移和时间计算的。

5.导向

导向功能在以下条件下起作用︰

A.以设定"走向"目标。"走向"目标的设定可以按"走向"键,然后从列表中选择一个航点。以后"导向"功能将导向此航点。

B.目前有活跃航线。活跃航线一般在设置->航线菜单下设定。如果目前有活动航线,那么"导向"的点是航线中第一个路点,每到达一个路点后,自动指到下一个路点。

在“导向”页面上部都会标有当前导向路点名称。它是根据当前位置,计算出导向目标对你的方向角,以与"前进方向"相同的角度值显示。同时显示离目标 的距离等信息。些GPS把前进方向和导向功能结合起来,只要用GPS的头指向前进方向,就会有一个指针箭头指向前进方向和目标方向的偏角,跟着这个箭头就 能找到目标。

6.日出日落时间

大多数GPS能够显示当地的日出、日落时间,这对于用户计划出发/宿营时间时是很有用的。这个时间是GPS根据当地经度和日期计算得到的,是指平原 地区的日出、日落时间,在山区因为有山脊遮挡,日照时间根据情况要早晚各少半个小时以上。GPS的时间是从卫星信号得到的格林尼制时间,在设置菜单里可以 设置本地的时间偏移,对中国来说,一般情况下都应设+8小时,而且这个数值只与时间的显示有关。

7.航迹

GPS 每秒更新一次坐标信息,所以可以记载自己的运动轨迹。一般GPS能记录1024个以上足迹点,在一个专用页面上,以可调比例尺显示移动轨迹。足迹点的采样 有自动和定时两种方式自动采样由GPS自动决定足迹点的采样方式,一般是只记录方向转折点,但是长距离直线行走时GPS是不记点;用户可以定时采样功能中 提前规定采样时间间隔。在足迹线页面上可以清楚地看到自己足迹的水平投影。

“足迹”在线的点都没有名字,不能单独引用,查看其坐标,主要用来画路线图和“回溯”功能。很多GPS有一种叫做“回溯”(Trace back)的功能,使用此功能时,它会把航迹转化为一条“路线”(ROUTE),路点的选择是由GPS内部程序完成的一般是选用航迹上大的转折点。

同时,把此路线激活为活动路线,用户即可按导向功能原路返回。要注意的是回溯功能一般会把回溯路线放进某一默认路线(比如route0)中,看 GPS的说明书,使用前要先检查此线路是否已有数据,若有,要先用拷贝功能复制到另一条空线路中去,以免覆盖。回溯路线上的各路点用系统默认的临时名字 如"T001" 之类,有的GPS定第二条回溯路线时会重用这些名字,这时即使用户已经把旧的路线做了拷贝,由于路点引用的名字被重用了,所以路线也会改变,不是原来那条 回溯路线了。

GPS产品的开机定位可分为冷启动、温启动和热启动三种情况︰

冷启动︰以下几种情况开机均属冷启动。初次使用时;电池耗尽导致星历信息丢失时;关机状态下将接收机移动1000公里以上距离。

温启动︰距离上次定位的时间超过两个小时的启动。

热启动︰距离上次定位的时间小于两个小时的启动。

在nokia s60手机上编写 python 程序

没有评论:

s60: 为symbian os 的手机操作系统.这种可编程的手机通常称智能手机,如我的手机nokia 7610
PyS60:Python for S60

手机上安装 PyS60

下载点 http://sourceforge.net/projects/pys60/%E4%B8%8B%E8%BD%BD
* PythonForS60_1_3_20_2ndEd.SIS - PyS60
* PythonScriptShell_1_3_20_2ndEd.SIS - Python shell 否则没有运行界面

开发环境的选取

方法1。在windows里面写python程序。保存,手机拔卡,用读卡器把程序放到卡里,手机插卡,然后运行python for s60 然后运行脚本。调试起来比较麻烦。也可用bluetooth console传数据。

Q:Symbian python程序是否可以制作成独立软件包(sis)?
A:可以,使用Symbian Python SDK里面带的py2sis.exe.
用法:

py2sis.exe python程序名.py sis文件名称.sis --uid=0x12345678
例子:

E:\Nokia\Tools\Python_for_Series_60\py2sis>py2sis.exe sms.py smskiki.sis --uid=0x100039Cf
注意:目标文件名一定要添加sis后缀,不然会出现error: invalid destination file

方法2。安装nokia的sdk,这样就构造了一个模拟器,然后从模拟器里面安装python。
PythonForS60_1_3_20_SDK_2ndEd.SIS - SDK 开发环境,可不装,用 wxpython+pys60 emulation开发

方法3。wxPython 模拟器 (推荐
和nokia sdk模拟器不同的是,PyS60 emulation library利用wxPython gtk只写了主要两个图形包例如appuifw,e32。appuifw继承了wx的图形类。

software:
* python2.4 当然需要 (from http://www.python.org/ftp/python/2.4.3/python-2.4.3.msi)
* PyS60 emulation library (4 files: "appuifw.py, e32.py, graphics.py, key_codes.py")
* wxPython (for win32 or linux, www.wxpython.org )

windows 下安装
安装办法:先去下载python 2.4,然后再去下载wxPython。然后下这个模拟器,把里面的四个py文件放到C:\Python2.4\Lib下。(具体放到哪里得看你的Python的安装目录了)

Ubuntu 下安装
- wxPython
(copied from http://wxpython.org/download.php#binaries)
Add the following to your /etc/apt/sources.list file:

# wxPython APT repository at wxcommunity.com
deb http://wxpython.wxcommunity.com/apt/ubuntu/dapper /
deb-src http://wxpython.wxcommunity.com/apt/ubuntu/dapper /

After the repository info has been added to /etc/apt/sources.list you can fetch and install the packages using one of the GUI package manager tools such as Synaptic or Adept, or by running the following commands from a terminal window:

sudo apt-get update
sudo apt-get install python-wxgtk2.8 python-wxtools wx2.8-i18n

- pys60 compact library
put 4 files to PYTHONPATH directory, which is normally /usr/lib/python2.x. Show PYTHONPATH in "import sys, print sys.path".

手机与电脑之间的文件传输、控制

方法1:蓝牙控制台

能够让你通过个人电脑连接你手机上的Python命令行并执行命令。

  1. 在你的PC上打开比如一个超级中端(确定你已经安装了蓝牙设备并为超级终端选择了正确的端口)。
  2. 在你的手机上运行python -> optoins -> Bluetooth console。现在一个蓝牙连接将会被激活,python命令行将会显示在超级终端上

方法2。MIT PUTools: 使用bluetooth 在手机和pc之间传数据,实现同步。可以在PC上编程序,然后整个传到手机上去run over bluetooth。网址是http://people.csail.mit.edu/kapu/symbian/python.html

一个显示输入对话框的程序

import appuifw
import e32

def bexit():
app_lock.signal()
def addtext():
t = appuifw.query(u'Input text:','text')
r.add(unicode(t))
r = appuifw.Text()
r.set(u'info:\n')
appuifw.app.screen = 'normal'
appuifw.app.menu = [(u'Add',addtext),(u'Exit',bexit)]
appuifw.app.body = r
appuifw.app.exit_key_handler = bexit
app_lock = e32.Ao_lock()
app_lock.wait()

保存成1.py然后直接用python执行。。。

sample2: take photo and save

import camera
import graphics
img=camera.take_photo()
img.save("test.jpg")

Note: 如果有gps receiver with bluetooth, 可以在拍照的同时记录下照片经纬度