Уведомления

Группа в Telegram: присоединиться | Jabber-конференция сообщества: pythonua@conference.jabber.ru

#1 Апрель 25, 2007 08:35:26

Ponyatov
От:
Зарегистрирован: 2007-04-25
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

GPS

Купил дешевый (китайский ?) GPS блютусный приемник, почти noname.

Хотелось бы на Питоне набросать автоматическую запись NMEA-0831 с gzipаньем на флешку, чтобы
потом грузить данные на ПК и на их основе генерировать карты (собирать статистику по трекам,
для часто повторяющихся траекторий рисовать толстые линии, и накладывать все это на отсканированные
карты при необходимости).

В идеале вообще сляпать на Питоне фриварный тулкит для Симбиана – навигатор с 3Д отображением (SLES на Nokia E61
должен потянуть), средства для “топосъемки” на ходу типа выбрал в меню пунктик, объехал участок на велосипеде,
и в БД добавиля полигон с полями типа (адрес, ФИО хозяина, “яблоневый сад”, “должен 150 р за воду”



Офлайн

#2 Апрель 25, 2007 19:03:49

Cyxapeff
От:
Зарегистрирован: 2006-08-17
Сообщения: 148
Репутация: +  0  -
Профиль   Отправить e-mail  

GPS

Не понял вопроса. Чего надо-то? Связаться с ним по синезубу?
Начинание конечно хорошее. :)



Офлайн

#3 Апрель 27, 2007 15:23:09

Ponyatov
От:
Зарегистрирован: 2007-04-25
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

GPS

получилось сразу как открыл доку, теперь буду копить статистику (трассы) и возиться с их фильтрацией – приемник при слабом сигнале начинает нести ахинею в виде дикой болтанки координат



Офлайн

#4 Май 2, 2007 13:52:41

Ponyatov
От:
Зарегистрирован: 2007-04-25
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

GPS

GPSlogger.py

from socket import *
from time import *
sock=socket(AF_BT,SOCK_STREAM)
gps=bt_discover()
sock.connect((gps[0],gps[1]['SPP slave']))
dat=open('E:/data/GPS.%.4i%.2i%.2i_%.2i%.2i.dat'%localtime()[:5],'w')
while 1:
t=sock.recv(0x100)
print t
dat.write(t) ; dat.flush()



Офлайн

#5 Май 2, 2007 13:54:14

Ponyatov
От:
Зарегистрирован: 2007-04-25
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

GPS

вывод треков через виндозный gnuplot: GPSplotter.py

import os,re
last=[]
toplot=[]
for i in os.listdir('.'):
if re.match(r'GPS\.\d+_\d+\.dat',i):
df='%s.trace'%re.findall(r'(.+)\.dat',i)[0] ; toplot.append(df) ; dat=open(df,'w')
for rec in open(i).readlines():
try:
t=re.findall(r'(\d+\.\d+),([NS]),(\d+\.\d+),([WE])',rec)[0]
except:
pass
else:
if t != last:
last=t
X=float(t[2])/100
if t[3]!='E':
X=-X
Y=float(t[0])/100
if t[1]!='N':
Y=-Y
dat.write('%.6f %.6f\n'%(X,Y))
dat.close()
plot=open('MAP.plot','w')
t='plot '
for i in toplot:
t+='"%s" w l,'%i
plot.write(t[:-1]+'\n')
plot.write('pause(-1)\n')
plot.close()



Офлайн

#6 Дек. 11, 2010 21:03:22

bigbiged
От:
Зарегистрирован: 2010-11-19
Сообщения: 12
Репутация: +  0  -
Профиль   Отправить e-mail  

GPS

Ponyatov
GPSlogger.py

from socket import *
from time import *
sock=socket(AF_BT,SOCK_STREAM)
gps=bt_discover()
sock.connect((gps[0],gps[1]['SPP slave']))
dat=open('E:/data/GPS.%.4i%.2i%.2i_%.2i%.2i.dat'%localtime()[:5],'w')
while 1:
t=sock.recv(0x100)
print t
dat.write(t) ; dat.flush()
А как сделать что б через USB находил GPS?



Офлайн

#7 Дек. 13, 2010 08:52:36

igor.kaist
От:
Зарегистрирован: 2007-11-12
Сообщения: 1879
Репутация: +  3  -
Профиль   Отправить e-mail  

GPS

bigbiged
А как сделать что б через USB находил GPS?
Вы про windows? Тогда, насколько я знаю, gps приемник эмулируется com портом, читайте с него.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version