GPS недельный ролловер (WNRO) и GPS - PullRequest
0 голосов
/ 30 сентября 2019

Я ищу решение для исправления "старого" gps с проблемой смены номера недели.

Поэтому я создал скрипт на Python " fix_gpsrollover.py " для перезаписи nmeaТег RMC для фиксации даты.

    if line.startswith('$GPRMC'):
        rmc_data = line.split(separator)
        if len(rmc_data) > 10:
            date = rmc_data[9]
            corrected_date = (datetime.strptime(date, '%d%m%y') + timedelta(days=1024*7)).strftime('%d%m%y')
            rmc_data[9] = corrected_date
            rmc_line = calculate_checksum(separator.join(rmc_data))

Так что я могу вручную запустить gpsd для приема фиксированного потока.

$ cat /dev/ttyACM3 | python fix_gpsrollover.py | gpsd -n -N /dev/stdin

Я хотел бы настроитьправильно служба gpsd, чтобы принять это, я хотел бы использовать стандартные файлы конфигурации '/ etc / default / gpsd'

Есть идеи?

1 Ответ

0 голосов
/ 09 октября 2019

Мне удалось использовать вывод моего скрипта для ввода gpsd.

A запустить скрипт с супервизором во время загрузки.

command=bash -c "tail -f /dev/ttyACM3 | python /home/####/fix_gpsrollover.py | nc -l localhost 42991"

и в /etc/default/gpsd

DEVICES="tcp://localhost:42991"

, конечно, порт 42991 можно изменить по своему усмотрению

...