Но и тут меня ждало фиаско! Я пытался сделать что-нибудь типа «cat /dev/ttyS0», или «ttylog -b 4800 -d /dev/ttyS0», но не видел на экране даже кракозябр. OpenCPN, настроенный для работы с портом COM1 так же молчал. Но используя метод научного тыка, я вдруг обнаружил, что данные NMEA-0183 вдруг начинают идти, если, например, взять, и переподключить приемник. Потом, правда, данные могли вдруг исчезнуть, или вместо NMEA-0183 мог пойти сплошной поток кракозябр, но приемник все-таки работал, и это меня воодушевляло. Но как сделать так, чтобы все это подключалось само и работало без сбоев?
И тут я узнал о такой замечательной программе, как
«Gpsd». Это демон, стандартно использующийся в любых никсах для получения данных NMEA-0183 и 2000, и последующей передачи их в сеть. Я не буду вдаваться в подробности, почему надо делать именно так, а не пытаться подключаться к портам напрямую конкретными программами, ибо сам не особо этого понимаю. Но суть в том, что когда я настроил gpsd, то OpenCPN у меня заработал безотказно. Просто получал данные он теперь не прямо с порта, а из сети про протоколу TCP, в настройках было достаточно указать только внутренний адрес 127.0.0.1 и сетевой порт — 2947. После установки gpsd создается и соответствующий файл /etc/defaults/gpsd, в котором сразу можно указать адрес устройства, с которым ему надо начинать работать при загрузке системы и прочие параметры, о которых вполне доходчиво написано в руководстве пользователя. Я указывал дополнительно «-n» - это чтобы демон не ждал никаких обращений, а начинал отправлять данные прямо сразу.
Нет комментариев