Pi 3 + Microstack GPS-связь

Я купил Raspberry Pi 3 Model B, базовую плату с микростеком и GPS с микростеком.

Я следовал инструкциям, изложенным в официальной документации, но не могу подключиться к GPS.

По сути, индикатор GPS мигает, что означает, что он нашел исправление GPS, но я не вижу никаких данных от PI.

Например, если я попытаюсь

cat /dev/ttyAMA0

Я всегда ничего не получаю. Я уже использовал raspi-config, чтобы отключить последовательный порт ядра и включить i2c и spi.

Также, если я попытаюсь

stty -F /dev/ttyAMA0 ispeed 4800 && cat </dev/ttyAMA0"

Я получаю сообщение об ошибке.

У кого-нибудь есть совет, пожалуйста?

Или, может быть, эти модули несовместимы с Pi 3?

Большое спасибо!


person GavynSykes    schedule 08.04.2016    source источник
comment
Если бы gpsd работал и устройство находилось в /dev/ttyAMA0, вам сказали бы cat: /dev/ttyAMA0: Device or resource busyКажется, один или оба случая требуют расследования.   -  person Nodak    schedule 08.04.2016
comment
извините, я не понял   -  person GavynSykes    schedule 08.04.2016


Ответы (3)


Трудно сказать, что сделано, а что нет. В официальной документации от Microstack представлены два метода настройки последовательного порта. Затем он продолжается с

Автоматический запуск gpsd Чтобы автоматически запускать службу gps при загрузке Raspberry Pi®, перенастройте демон GPS, введя в терминал
sudo dpkg-­reconfigure gpsd

● Выберите <yes>, когда вас спросят, хотите ли вы запустить gpsd автоматически.
● Выберите <no>, когда вас спросят: «Должен ли gpsd автоматически обрабатывать подключенные USB-приемники GPS».
● Когда вас спросят, к какому «устройству подключен GPS-приемник», введите /dev/ttyAMA0 .
● Примите значения по умолчанию для других параметров.

Если вы настроили свой последовательный порт в соответствии с инструкциями и настроили gpsd для автоматического запуска и захвата устройства, которое вы только что настроили, ... тогда, поскольку gpsd обрабатывает устройство (правильно?), устройство будет занято, и команда cat /dev/ttyAMA0 должна вернуть cat: /dev/ttyAMA0: Device or resource busy... но этого не произошло.

Либо серийный номер не настроен в соответствии с инструкциями, либо gpsd не работает и не подхватывает устройство, либо и то, и другое.

Цель состоит не в том, чтобы cat получить данные GPS, но cat отсутствие возврата ошибки указывает на то, что что-то не так.

Как правило, это просто опечатка. Но это может быть из-за пропуска шага в процессе или смешивания инструкций из разных источников, так что левая рука не знает, что сделала правая.

Попробуйте: sudo killall gpsd, если он возвращает gpsd: no process found, что отвечает на один вопрос.

Если он возвращается без ошибок, введите cat /dev/ttyAMA0. Если он ничего не возвращает, направление, в котором вы должны искать, - это конфигурация вашего последовательного порта.

Если sudo dpkg-reconfigure gpsd не позволяет вам перенастроить (я думал, что это только у меня), вы можете изменить конфигурацию gpsd с помощью вашего любимого редактора, например. sudo nano /etc/default/gpsd и введите что-то вроде:

# Default settings for the gpsd init script and the hotplug wrapper.

# Start the gpsd daemon automatically at boot time
START_DAEMON="true"

# Use USB hotplugging to add new USB devices automatically to the daemon
USBAUTO="false"

# Devices gpsd should collect to at boot time.
# They need to be read/writeable, either by user gpsd or the group dialout.
DEVICES="/dev/ttyAMA0"

# Other options you want to pass to gpsd
GPSD_OPTIONS="-n -G"

Вы можете найти -n и -G полезными. Сохраните и перезапустите.

person Nodak    schedule 09.04.2016
comment
большое спасибо. проблема в том, что если я попробую sudo dpkg-reconfigure gpsd, он не будет запрашивать никаких вариантов, просто напечатает некоторую информацию об учетной записи gpsd и снова запустит службу - person GavynSykes; 09.04.2016
comment
если я попытаюсь выполнить команду sudo-reconfigure gpsd, я получу: Предупреждение: остановка gpsd.service, но ее все еще можно активировать с помощью: gpsd.socket Создание/обновление учетной записи пользователя gpsd... - person GavynSykes; 09.04.2016
comment
@GavynSykes Я добавил в ответ конфигурацию gpsd - person Nodak; 09.04.2016

Я наконец нашел решение:

На Pi 3 есть больше шагов для использования последовательного порта, вам нужно отключить BT.

Отредактируйте файл конфигурации:

sudo nano /boot/config.txt

Добавьте это внизу:

dtoverlay=pi3-disable-bt-overlay

Затем запустите это:

sudo systemctl disable hciuart
person GavynSykes    schedule 26.04.2016

Эта статья была очень полезной для меня

http://spellfoundry.com/2016/05/29/configuring-gpio-serial-port-raspbian-jessie-включая-pi-3/#comment-67160

и я рекомендую вам прочитать это

Теперь на RPI3 Последовательный порт

ttyAMA0 используется BlueTooth. ttySO относится к GPIO. Псевдоним Serial0 относится к GPIO как на RPI2, так и на RPI3. Так :

после переустановки Jessie с последней версией, чтобы убедиться, что все чисто

по-прежнему

$ sudo apt-get update 
$ sudo apt-get upgrade

$ sudo  raspi-config

перейдите к дополнительным параметрам: хотите ли вы, чтобы оболочка входа была доступна через последовательный порт? ответ "да" (не как в даташите на микростек)

$ sudo apt-­get install python3-­microstacknode

Чтобы установить стандартные инструменты gpsd

$ sudo apt­-get install gpsd gpsd-­clients python­-gps

отредактировать GPSD по

$ sudo nano /etc/default/gpsd

и поставить параметры:

START_DAEMON="true"
USBAUTO="false"
DEVICES="/dev/serial0"
GPSD_OPTIONS="-n -G"

в равной степени

$ sudo nano /boot/cmdline.txt

удалять

console=serial0,115200 и сохраните

$ sudo nano /boot/config.txt

вы должны иметь в конце

enable_uart=1

Отключите консоль с помощью

$ sudo systemctl stop [email protected]
$ sudo systemctl disable [email protected]

я так же сделал $ sudo chmod 775 ../../dev/ttySO (не знаю, нужно ли это)

и явно перезагрузка

и чудо что GPS работает

cgps -s

NB: у вас должен быть фикс на GPS (красный светодиод мигает)

джферренкнехт

person jpherren    schedule 05.10.2016