Подтвердить что ты не робот

Как я могу получить необработанные данные GPS (псевдо-диапазон спутников)?

Как я могу читать данные GPS-данных, чтобы быть более конкретными, мне нужен псевдо-диапазон saellites. Эти данные недоступны в формате NMEA.

4b9b3361

Ответ 1

Псевдо-диапазоны спутников недоступны в официальном API , ни через GpsStatus.Listener, ни в интерфейсах GpsStatus.NMEAListener.

Единственная доступная информация, доступная в классе GpsSatellite:

  • PRN
  • азимут
  • высота
  • С /N 0
  • a "usedInFix" boolean.

Исходный код Android запрашивает только эти поля из собственного кода, поэтому не надейтесь получить его от какого-либо другого Java API.

Лучший способ получить эти данные в любом случае (что не подходит для приложения, доступного на рынке) - это изучить исходный код Android и найти собственный крючок для получения данных на низком уровне и доступа через JNI, или перекомпилировать полную ОС, модифицирующую API, в соответствии с вашими потребностями (вам также необходимо найти соответствующий собственный код для этого).
Наконец, если вы можете заставить набор микросхем отправить вам предложения GRS NMEA (вы получите их через стандартный интерфейс NMEAListener, сложность настройки набора микросхем для их отправки) может затем вычислить псевдодиапазоны (эти предложения содержат остатки спутников)

Удачи и дайте мне знать, если вы попробуете какие-либо из этих идей!

Ответ 2

Если вам нужны псевдодальности и необработанные данные, вам не повезет с NMEA. Вы должны использовать двоичный протокол вашего ресивера, Например, ublox binary для приемников ublox. Sirf для приемников Sirf. Дата сателлитного сырья доступна только на специальных приемниках, у которых включена опция RAW. Не ожидайте, что на смартфоне.

Более подробную информацию вы найдете в спецификации протокола ublox.