Russian Qt Forum

Qt => Qt Embedded => Тема начата: Ubuntu_linux от Декабрь 08, 2010, 18:24



Название: QtMobility Symbian GPS
Отправлено: Ubuntu_linux от Декабрь 08, 2010, 18:24
Если напрячься то получится этакая штука! , То есть я получаю с помощью телефона данные с GPS и вывожу их на экран nokia 5800!

Пакет sis требует установление qt.4.7.0  и  qtmobility 1.0.1 на телефон! и соответственно на ПК.
Ето пример использования модуля QtLocation и непосредственно классов:
Код
C++ (Qt)
QGeoCoordinate
QGeoPositionInfo
QGeoPositionInfoSource
QGeoSatelliteInfo
QGeoSatelliteInfoSource
 

На форме 3 поля в каждом из них выводятся соответствующие дание   (без математической обработки) которые обновляются каждые 0.5 сек.

В первое поле  выводятся :
Горизонтальная скорость в м/с.
Вертикальная скорость в м/с.
Горизонтальная и вертикальная точность определения положения в м.

Во второе окно  выводятся информация о каждом спутнике который ловит приемник.
Азимут.
Высота.
Уровень сигнала.

В третье окно  выводятся, непосредственно,   GPS координати.
Координаты в соответствующим формате.
Широта.
Долгота.
Высота.

 

(http://s002.radikal.ru/i199/1012/04/2fa603d0c2e2.jpg) (http://madeinlinux.ru.gg/Nokia.htm)

(http://s60.radikal.ru/i170/1012/27/56db95af7940.jpg) (http://madeinlinux.ru.gg/Nokia.htm)

(http://s46.radikal.ru/i114/1012/55/a3c17aff4009.jpg) (http://madeinlinux.ru.gg/Nokia.htm)

(http://s58.radikal.ru/i162/1012/d3/c4d6b75c8d8d.jpg) (http://madeinlinux.ru.gg/Nokia.htm)
fuck my mind!

Измените sis.zip на .sis!!!!!


Название: Re: QtMobility Symbian GPS
Отправлено: ufna от Декабрь 08, 2010, 19:03
А вопрос темы? )



Название: Re: QtMobility Symbian GPS
Отправлено: Ubuntu_linux от Декабрь 08, 2010, 21:58
А вопрос темы? )



Как запретить автоматически поворачивать экран?


Название: Re: QtMobility Symbian GPS
Отправлено: Ubuntu_linux от Декабрь 09, 2010, 14:16
Накопал инфу:
QOrientationReading
http://doc.qt.nokia.com/qtmobility-1.0/qorientationreading.html
QRotationSensor
http://doc.qt.nokia.com/qtmobility-1.0/qrotationsensor.html

Будем пробивать.


Название: Re: QtMobility Symbian GPS
Отправлено: Ubuntu_linux от Декабрь 24, 2010, 21:36
А какой уровень сигнала от спутника считать хорошим ? (число)  ???


Название: Re: QtMobility Symbian GPS
Отправлено: agent007 от Июнь 05, 2011, 23:16
что то не хочет у меня подключать QTLocation ?


Название: Re: QtMobility Symbian GPS
Отправлено: agent007 от Июнь 05, 2011, 23:17
+ как включить датчик gps ?  ;)


Название: Re: QtMobility Symbian GPS
Отправлено: Ubuntu_linux от Июнь 06, 2011, 17:27
 в про файле:

symbian:CAPABILITY+=Location


Название: Re: QtMobility Symbian GPS
Отправлено: agent007 от Июнь 06, 2011, 21:16
Ок, только в qt я зеро пока что, в шарпе более-менее, как организовать переход по формам? есть две формы: обработка клика - переход на другую форму. В шарпе например форма - это своего рода класс, к которому можно обратится, а в qt как?
Может есть пример?


Название: Re: QtMobility Symbian GPS
Отправлено: agent007 от Июнь 06, 2011, 22:31
что то по-прежнему не видит QT Creator либы для локации  >:(


Название: Re: QtMobility Symbian GPS
Отправлено: Ubuntu_linux от Июнь 07, 2011, 01:16
Ну тогда покаж свои сорци!


Название: Re: QtMobility Symbian GPS
Отправлено: agent007 от Июнь 08, 2011, 01:06
Разобрался, я просто создавал только форму, а есть ещё такой пунктик Класс Формы 
 Правильно ли я создаю экземпляр формы : gpsform* gpsf=new gpsform(); ?
как создать этот экземпляр, для доступа из класса 1-й формы к классу 2-й формы для show() hide() и т.д.?


Название: Re: QtMobility Symbian GPS
Отправлено: Ubuntu_linux от Июнь 09, 2011, 01:58
Разобрался, я просто создавал только форму, а есть ещё такой пунктик Класс Формы 
 Правильно ли я создаю экземпляр формы : gpsform* gpsf=new gpsform(); ?
как создать этот экземпляр, для доступа из класса 1-й формы к классу 2-й формы для show() hide() и т.д.?
Ну правильно.
Не понял, что ?


Название: Re: QtMobility Symbian GPS
Отправлено: agent007 от Июнь 09, 2011, 19:28
всё ок, продолжим вопрос духа: как активировать/деактивировать датчик gps? и снять с него показания?


Название: Re: QtMobility Symbian GPS
Отправлено: Ubuntu_linux от Июнь 10, 2011, 12:13
]
всё ок, продолжим вопрос духа: как активировать/деактивировать датчик gps? и снять с него показания?
Код
QBasic/QuickBASIC
import QtQuick 1.0
import Qt 4.7
import QtMobility.location 1.1
 
Rectangle {
id: page
WIDTH: 350
height: 350
PositionSource {
id: positionSource
updateInterval: 5000
 
active: true
//nmeaSource: "nmealog.txt"
}
Column {
Text {text: "<==== PositionSource ====>"}
Text {text: "positioningMethod: " + printableMethod(positionSource.positioningMethod)}
Text {text: "nmeaSource: " + positionSource.nmeaSource}
Text {text: "updateInterval: " + positionSource.updateInterval}
Text {text: "active: " + positionSource.active}
Text {text: "<==== Position ====>"}
Text {text: "latitude: " + positionSource.position.coordinate.latitude}
Text {text: "longitude: " + positionSource.position.coordinate.longitude}
Text {text: "altitude: " + positionSource.position.coordinate.altitude}
Text {text: "speed: " + positionSource.position.speed}
Text {text: "timestamp: " + positionSource.position.timestamp}
Text {text: "altitudeValid: " + positionSource.position.altitudeValid}
Text {text: "longitudeValid: " + positionSource.position.longitudeValid}
Text {text: "latitudeValid: " + positionSource.position.latitudeValid}
Text {text: "speedValid: " + positionSource.position.speedValid}
}
FUNCTION printableMethod(method) {
IF (method == PositionSource.SatellitePositioningMethod)
RETURN "Satellite";
ELSE IF (method == PositionSource.NoPositioningMethod)
RETURN "Not available"
ELSE IF (method == PositionSource.NonSatellitePositioningMethod)
RETURN "Non-satellite"
ELSE IF (method == PositionSource.AllPositioningMethods)
RETURN "All/multiple"
RETURN "source error";
}
}
[/code


Название: Re: QtMobility Symbian GPS
Отправлено: agent007 от Июнь 25, 2011, 00:44
Меня мучает вопрос, как определить когда сигнал достаточен для расчётов?


Название: Re: QtMobility Symbian GPS
Отправлено: Ubuntu_linux от Июнь 26, 2011, 18:11
Просто, узнать раницу между теми сателитами которые видимы и которые реально юзаются для опредмления позиции. ;)


Название: Re: QtMobility Symbian GPS
Отправлено: ufna от Июнь 27, 2011, 00:13
Меня мучает вопрос, как определить когда сигнал достаточен для расчётов?

Насколько я знаю, апи данное либо дает нормальные данные, либо не дает их. А если нужны свои данные, то только напрямую цеплять датчик и разбирать NMEA.


Название: Re: QtMobility Symbian GPS
Отправлено: Ubuntu_linux от Июнь 27, 2011, 12:40
Меня мучает вопрос, как определить когда сигнал достаточен для расчётов?

Насколько я знаю, апи данное либо дает нормальные данные, либо не дает их. А если нужны свои данные, то только напрямую цеплять датчик и разбирать NMEA.
Вы не правы, все как я сказал.


Название: Re: QtMobility Symbian GPS
Отправлено: agent007 от Июнь 27, 2011, 13:19
Просто, узнать раницу между теми сателитами которые видимы и которые реально юзаются для опредмления позиции. ;)
намёк пжл дайте как реализовать программно  ;)


Название: Re: QtMobility Symbian GPS
Отправлено: ufna от Июнь 27, 2011, 13:21
Вы не правы, все как я сказал.

ну тогда апи мобилити очень веселое в этом плане :)


Название: Re: QtMobility Symbian GPS
Отправлено: Zivix от Июнь 27, 2011, 15:59
Просто, узнать раницу между теми сателитами которые видимы и которые реально юзаются для опредмления позиции. ;)
Не совсем понимаю, зачем эти танцы с бубном, и что эта "разница" вообще даст.
АПИ, действительно, либо возвращает нормальное значение, либо сработает UpdateTimeout.
А если получили координаты и хочется оценить их точность, то для этого у объекта QGeoPositionInfo можно просто запросить значение атрибута QGeoPositionInfo::HorizontalAccuracy.


Название: Re: QtMobility Symbian GPS
Отправлено: Ubuntu_linux от Июнь 28, 2011, 00:30
Просто, узнать раницу между теми сателитами которые видимы и которые реально юзаются для опредмления позиции. ;)
Не совсем понимаю, зачем эти танцы с бубном, и что эта "разница" вообще даст.
АПИ, действительно, либо возвращает нормальное значение, либо сработает UpdateTimeout.
А если получили координаты и хочется оценить их точность, то для этого у объекта QGeoPositionInfo можно просто запросить значение атрибута QGeoPositionInfo::HorizontalAccuracy.
Вы не поняли до конца вопрос, дело не в точности координаты или самой координаты.
Вопрос в том, какой уровень сигнала каждого сателита считать хорошим. Вот тут и  ”разница” поможет.
Вы не поняли до конца вопрос, дело не в точности координаты или самой координаты.
Вопрос в том, какой уровень сигнала каждого сателита считать хорошим. Вот тут и  ”разница” поможет.



Название: Re: QtMobility Symbian GPS
Отправлено: Zivix от Июнь 28, 2011, 08:49
Вы не поняли до конца вопрос, дело не в точности координаты или самой координаты.
Вопрос в том, какой уровень сигнала каждого сателита считать хорошим. Вот тут и  ”разница” поможет.
Т.е. по факту, это получается выяснение какой уровень прописан как достаточный, а какой - нет?
Ну, с этой точки зрения, согласен - всё логично.


Название: Re: QtMobility Symbian GPS
Отправлено: Ubuntu_linux от Июнь 28, 2011, 11:38
Вы не поняли до конца вопрос, дело не в точности координаты или самой координаты.
Вопрос в том, какой уровень сигнала каждого сателита считать хорошим. Вот тут и  ”разница” поможет.
Т.е. по факту, это получается выяснение какой уровень прописан как достаточный, а какой - нет?
Ну, с этой точки зрения, согласен - всё логично.
Да, абсолютно точно.


Название: Re: QtMobility Symbian GPS
Отправлено: agent007 от Июль 04, 2011, 19:12
фак ;D  как рассчитать скорость по координатам? ведь по ходу нужно знать ещё и время, и две координаты сразу (пред. и текущая)


Название: Re: QtMobility Symbian GPS
Отправлено: Ubuntu_linux от Июль 04, 2011, 19:17
фак ;D  как рассчитать скорость по координатам? ведь по ходу нужно знать ещё и время, и две координаты сразу (пред. и текущая)
Тю, зачем  если есть готовая переменная в классе?


Название: Re: QtMobility Symbian GPS
Отправлено: agent007 от Июль 04, 2011, 20:21
вы имеете ввиду groundspeed ?  если и так, то что то она только значение 1 и возвращает(


Название: Re: QtMobility Symbian GPS
Отправлено: Ubuntu_linux от Июль 04, 2011, 23:47
вы имеете ввиду groundspeed ?  если и так, то что то она только значение 1 и возвращает(
да и верительная скорость.
А координата нормальная? В движении проверял?
В меня все работало.
В теме есть исходники, посмотри и попробуй. ;)


Название: Re: QtMobility Symbian GPS
Отправлено: agent007 от Июль 05, 2011, 14:29
Мда  :D туговато с событиями у меня в qt. В общем дело такое: есть класс+форма где происходят обновления позиции, как из другой формы мне динамически обновлять эти координаты, т.е. как только произошло positionupdate() в другом классе значение label должно обновится?


Название: Re: QtMobility Symbian GPS
Отправлено: Ubuntu_linux от Июль 05, 2011, 18:38
Мда  :D туговато с событиями у меня в qt. В общем дело такое: есть класс+форма где происходят обновления позиции, как из другой формы мне динамически обновлять эти координаты, т.е. как только произошло positionupdate() в другом классе значение label должно обновится?
Очень просто!
Испускать сигнал в первом классе и приконектить его к слоту в другом классе. Почитайте про SIGNAL / SLOT


Название: Re: QtMobility Symbian GPS
Отправлено: agent007 от Июль 06, 2011, 18:25
мле, что то не так: не могу получить данные локации из другого класса (подробнее тут: http://stackoverflow.com/questions/6596908/how-to-access-variable-from-one-class-in-another-in-qt-mobility (http://stackoverflow.com/questions/6596908/how-to-access-variable-from-one-class-in-another-in-qt-mobility) ). В чём проблема? почему в другом классе(пусть пока что и без слотов) я не могу получить нормальное значение переменной другого класса?  >:(


Название: Re: QtMobility Symbian GPS
Отправлено: agent007 от Июль 06, 2011, 18:42
причём, если просто завести любую переменную в первом классе, то второй исправно её отображает, а вот геокоординаты не хочет исправно(


Название: Re: QtMobility Symbian GPS
Отправлено: agent007 от Июль 07, 2011, 22:25
есть идеи?


Название: Re: QtMobility Symbian GPS
Отправлено: Ubuntu_linux от Июль 08, 2011, 12:40
есть идеи?
сделай через механизм SIGNAL/SLOT  и будет счастье.

В первом классе испускаешь сигнал:

emit positionUpdate(currentGeoPositionInfo)

А во втором класе есть слот где все виводиш на форму:

slotPositionUpdeted(QGeoPositionInfo *currentGeoPositionInfo){
ui->lineEdit_latitude.setText(...);
.......
}

Ну и на последок конектиш два класа так:

connect(firstClass,SIGNAL(positionUpdate(currentGeoPositionInfo)),secondClass,SLOT(slotPositionUpdeted(currentGeoPositionInfo)));

Идея понятна?
 


Название: Re: QtMobility Symbian GPS
Отправлено: agent007 от Июль 08, 2011, 19:35
пардон конечно за такую просьбу, вот здесь проект, может поможете мне, ткнёте пальцем что да как со слотами, за одно бего глянтье, правильно ли я прячу одну форму, и показываю другую?
http://zalil.ru/31397171 (http://zalil.ru/31397171)


Название: Re: QtMobility Symbian GPS
Отправлено: Ubuntu_linux от Июль 14, 2011, 01:45
пардон конечно за такую просьбу, вот здесь проект, может поможете мне, ткнёте пальцем что да как со слотами, за одно бего глянтье, правильно ли я прячу одну форму, и показываю другую?
http://zalil.ru/31397171 (http://zalil.ru/31397171)
Извеняюсь но не могу так как занят другим проектом и нет времени ковырятся в чужом коде. Я думаю с сигналами и слотам вам надо самостоятельно разобратся, я вам намек дал.


Название: Re: QtMobility Symbian GPS
Отправлено: agent007 от Июль 14, 2011, 21:32
пардон конечно за такую просьбу, вот здесь проект, может поможете мне, ткнёте пальцем что да как со слотами, за одно бего глянтье, правильно ли я прячу одну форму, и показываю другую?
http://zalil.ru/31397171 (http://zalil.ru/31397171)
Извеняюсь но не могу так как занят другим проектом и нет времени ковырятся в чужом коде. Я думаю с сигналами и слотам вам надо самостоятельно разобратся, я вам намек дал.
разобрался)


Название: Re: QtMobility Symbian GPS
Отправлено: agent007 от Июль 15, 2011, 13:03
да что такое: вроде бы правильно пишу определение скорости, да результат странный: иду ~5км/ч, оно показывает 1-2 (

Код:
if (geoPositionInfo.hasAttribute(QGeoPositionInfo::GroundSpeed))
    {
    speed = geoPositionInfo.attribute(QGeoPositionInfo::GroundSpeed);
        ui->label_4->setNum(speed);
    }


Название: Re: QtMobility Symbian GPS
Отправлено: Ubuntu_linux от Июль 16, 2011, 02:08
хи-хи, а кто будет переводить с м/с в км/ч ?


Название: Re: QtMobility Symbian GPS
Отправлено: agent007 от Июль 16, 2011, 11:55
хи-хи, а кто будет переводить с м/с в км/ч ?
;D ;D ;D