Huawei EM770W GPS in Linux
Действие происходит в ОС Linux.
Чтобы заставить 3G модем Huawei EM770W работать как GPS-приемник, необходимо отправить ему на вход команду AT^WPDGP, для того чтобы отключить - AT^WPEND. Входом у модема работает первый из видимых в системе интерфейсов, то есть /dev/ttyUSB0.
Простым echo с перенаправлением вывода управляющая команда не отправлялась (в OpenBSD - отправлялась), пришлось использовать wvdial для этой цели. Понимаю, что путь этот обходной, но данный костыль показался мне достаточно надежным. Вот конфигурационный файл /etc/wvdial.conf
[Dialer gpson]
Init1 = ATZ
Init2 = AT^WPDGP
Modem = /dev/ttyUSB0[Dialer gpsoff]
Init1 = ATZ
Init2 = AT^WPEND
Modem = /dev/ttyUSB0
Соответственно, запускать GPS-режим нужно так
sudo wvdial gpson
А выключать вот так
sudo wvdial gpsoff
Снимать же показания GPS нужно с третьего интерфейса /dev/ttyUSB3, они туда падают в стандартном формате NMEA. Только выйдите на открытое пространство, а то модем ничего ловить не будет. Так, на балконе моя Nokia спокойно находила пару спутников, а модем на нетбуке не хотел. Ну, или купите GPS-антенну. Правда, я не знаю, как ее подключить, но в Интернете найти инструкцию можно.
Ставим GPS клиент gpsd
apt-get install gpsd
и запускаем следующую команду чтобы слушать устройство
sudo gpsd -N /dev/ttyUSB3
Чтобы наглядно увидеть расположение спутников, подойдет графический клиент xgps, который в Debian-е находится в пакете gpsd-clients.