Нетобзор - форум про интернет

Модемы и мобильные роутеры => Sierra => Модемы и мобильные роутеры Rev.A => Sierra W802 => Тема начата: Сила в огне от 18 Августа 2015, 11:18:33

Название: GPS-приемник в AirCard 802s - как полноценно пользоваться без использования сети
Отправлено: Сила в огне от 18 Августа 2015, 11:18:33
Добрый день.
 Уже несколько лет ищу ответ на этот вопрос.
Как и с помощью каких утилит\ПО можно использовать GPS-приемник  Sierra на ноутбуке например, без подключения интернета на самом роутере?
Название: Re: GPS-приемник в AirCard 802s - как полноценно пользоваться без использования сети
Отправлено: begemot от 23 Февраля 2017, 16:54:38
Все просто. GPS нужно инициализировать с помощью АТ-команды, как и на всех остальных сиеррах с GPS-модулем
Название: Re: GPS-приемник в AirCard 802s - как полноценно пользоваться без использования сети
Отправлено: begemot от 23 Февраля 2017, 16:56:35
Есть способ гораздо проще и куда универсальнее. Позволяет успешно пользоваться GPS приемником в ЛЮБЫХ операционных системах (точно проверено на Android, Ubuntu и Windows)
Источник вдохновения: https://developer.att.com/devices/2400045_AirCard_890_GPS_Developers__Guide_r1.1.pdf

Собственно суть:
После установки драйверов (в любой операционной системе) появляется 3 (в винде даже 4) COM-порта. Нас собственно интересуют 2 из них. Порт модема и NMEA порт.
Просто подключившись к NMEA порту с помощью hyperterminal становится ясно, что он нем как рыба. Нужна инициализация.

Для инициализации нужно послать в порт, соответствующий устройству-модему команду AT!GPSFIX=1,255,10
И из NMEA порта как из рога изобилия посыпятся сообщения протокола. Обратите внимание, команда на порт модема активирует работу порта NMEA:
(http://s016.radikal.ru/i336/1702/70/d261f3676b22.png)

На этом этапе мы уже вполне можем работать с данными спутников. Например Автоспутник или Ozy смогут напрямую подключиться к этому порту и снифить этот поток мути.
Собственно - это теоретические изыскания. Чтоб была понятна суть.

Применительно к практике. Учитывая простоту инициализации GPS приёмник может использоваться в ЛЮБОЙ операционке.

Windows
Есть чудная программка АТ Sender с почти однокнопочным интерфейсом - то что надо.
Скачать ее можно тут: http://upwap.ru/2844246
(http://s16.radikal.ru/i191/1702/9e/d06e2830b152.png)
Запускаем, шлем AT!GPSFIX=1,255,10, закрываем. Все. Можно открывать любимый навигационный  софт, например Навикей 7 дорог,  и вешать его на NMEA  порт.


Linux. Большинство современных дистрибутивов эти вообщем-то старые модемы подхватывает автоматом. В результате имеем устройства /dev/ttyUSB0 (модем), /dev/ttyUSB1, /dev/ttyUSB3 и /dev/ttyUSB2 (NMEA)
(http://s019.radikal.ru/i617/1702/8b/85b2c5ec5a5d.png)

1) AT команду в линуксах, андроидах и макосах можно отправить легко:
# echo -ne 'AT!GPSFIX=1,255,10\r' > /dev/ttyUSB0 (на порт модема) Уж это действие автоматизируется точно легко

Для понимания происходящего в первый раз советую открыть 3 окна терминала, в двух  слушать порты USB0 и USB2, в третьем слать команду
(http://s018.radikal.ru/i515/1702/65/17399e85c7a0.png)

2) Чисто для проверки: ставим gpsd (демон) и xgps (графическое приложение). Запускаем gpsd /dev/ttyUSB2
Вуаля - видим спутники. Если небо над головой открытое...
(http://s015.radikal.ru/i331/1702/e8/5ca41872b64e.png)

Штатно советую использовать "Навикей 7 дорог", нормальный интерфейс и карты сносные

Цитировать
Касается Linux (Ubuntu в частности).
gpsd /devttyUSB3 не может отрыть стандартный свой порт 2947 и фейлится:
gpsd:ERROR: can't bind to IPv4 port gpsd, Address already in use
gpsd:INFO: command sockets creation failed, netlib errors -1, -1

Решение: запускаем его на нестандартном порту например командой
# /usr/sbin/gpsd -S 99 -N -D 4 -F /var/run/gpsd.sock -P /var/run/gpsd.pid /dev/ttyUSB2

Для демонизации процесса приводим файл /etc/default/gpsd к виду
START_DAEMON="true"
GPSD_OPTIONS=""
DEVICES="/dev/ttyUSB2"
USBAUTO="false"
GPSD_SOCKET="/var/run/gpsd.sock"


Android свежее 2.2. Android - линуксу брат и товарищ.
Нужен рут на устройстве и поддержка USB Host

Собственно все просто. Ставим с маркета
1) PPP Widget (станут драйвера, бонус - сможете ходить в 3G) http://travelgps.com.ua/forum/go.php?https://play.google.com/store/search?q=ppp%20widget&c=apps&hl=ru
2) Любой терминал и root, тьма их, по вкусу.
3) "You Are Here GPS" прога для работы с внешними GPS приемниками, делает внешний приемник системным упрощая сопряжение со всякими вашими навителами пр. http://travelgps.com.ua/forum/go.php?https://play.google.com/store/apps/details?id=com.agbooth.usbgps&hl=ru
4) любимую навигационную программу (Navitel, garmin, 7 дорог и пр.)

Дальше все просто. Убеждаемся, что есть устройства /dev/ttyUSB0 (модем), /dev/ttyUSB1 и /dev/ttyUSB2 (NMEA)
Шлем на порт "0" заветную команду AT!GPSFIX=1,255,10:
# echo -ne 'AT!GPSFIX=1,255,10\r' > /dev/ttyUSB0
В "You Are Here GPS" выбираем /dev/ttyUSB2. Пользуемся.

Думаю при желании можно чуток автоматизировать инициализацию.
Название: Re: GPS-приемник в AirCard 802s - как полноценно пользоваться без использования сети
Отправлено: begemot от 23 Февраля 2017, 16:57:26
Немножко Linux-way в Windows... Ну не могу я иначе...

Как обойтись без программ-инициализаторов, терминала и прочего (в Windows)

Как оказалось, в Винде тоже можно послать АТ команду прямо из командной строки прямо в порт модема. Делается это так:
1) если СОМ-порт ниже 10 то команда должна быть вида: echo AT!GPSFIX=1,255,10 >COM*
2) если СОМ-порт старше 10 то команда должна быть вида: echo AT!GPSFIX=1,255,10 >\\.\COM*
(http://i066.radikal.ru/1702/d1/653acba73a2dt.jpg) (http://radikal.ru/big/96h8m3xir4lvq)

Итак, для инициализации модуля GPS автоматом,  при запуске навигационной программы, достаточно чуть отредактировать ярлык ее запуска:
 
было:
Объект:  "C:\Program Files\Навител 7 Дорог\7ways.exe"
Рабочая папка: "C:\Program Files\Навител 7 Дорог"
(http://s019.radikal.ru/i618/1702/11/505fd435b819t.jpg) (http://radikal.ru/big/brnmi8o0kcq8a)

стало
Объект: C:\Windows\System32\cmd.exe /C echo AT!GPSFIX=1,255,10 >COM5 && start /d"C:\Program Files\Навител 7 Дорог" /b 7ways.exe
Рабочая папка: оставить пустой
(http://s019.radikal.ru/i625/1702/88/e72ca57dc725t.jpg) (http://radikal.ru/big/vtnrg0jwuqmdc)

Обратите внимание, путь к папке с навигационной программой пишется в кавычках, а сам ехе-шник - без. Программа и путь у вас, разумеется может быть другой. Номер порта модема подставите свой, если он старше 9го - добавите символы \\.\ перед названием порта, см. выше. Также для красоты можно сменить значок ярлыка, иначе превратится в черный (ярлык программы cmd)

И всё... Ваша изжога закончилась.

Кому неохота возится  - просто качаем самораспаковку 7дорог  или Автоспутник5 с уже вшитой инициализацией. Батничек внутри сам определяет на каком порту висит модем Sierra и инициализирует при запуске навигационной программы. Кстати, это работает и для всех других моделей Sierra с GPS - 5725, 595U, 598, 597 ....
7Дорог: http://depositfiles.com/files/nernhpojn
Автоспутник5: https://depositfiles.com/files/ghxdt1n20