TinyGPS
- Войдите на сайт для отправки комментариев
Сб, 09/11/2013 - 12:30
Пытаюсь настроить TinyGPS. Для имуляции GPS использую SatelliteEmulator. С arduino соеденена по serial переходнику.
Вот код.
#include <TinyGPS.h> #include <SoftwareSerial.h> TinyGPS gps; SoftwareSerial nss(10, 11); void setup() { Serial.begin(9600); nss.begin(9600); Serial.println("start"); Serial.println(); } void loop(){ while (nss.available() > 0){ Serial.print("available: "); if ( gps.encode(nss.read()) ){ long lat, lon; unsigned long fix_age, time, date, speed, course; unsigned long chars; unsigned short sentences, failed_checksum; gps.get_position(&lat, &lon, &fix_age); gps.get_datetime(&date, &time, &fix_age); speed = gps.speed(); course = gps.course(); }else{ Serial.println("NOT ENCODE!"); } } }
Как я понял не работает функция gps.encode() точнеее она работает но выдает "NOT ENCODE"
помогите разобраться
Дайте ссылку на описание вашего эмулятора. Как он подключён? tx к rx?
Возьмите этот пример https://github.com/mikalhart/TinyGPS/blob/master/examples/simple_test/si... , раскомментируйте 35 строку, запустите, результат покажите.
Настройки SatelliteEmulator
вот это вот он выдает:
а вот это принимает arduino
первые 2 сек эмулятор был выключен. В коде:
все остальное без изменений
Если отправляю через PuTTY на arduino приходит нормальная строка GPS но видимо
не работает. Чуть чуть изменил код
выдает следующее
через PuTTY отправляю строку "$GPGGA,124715.130,5535.4915,N,03738.6425,E,1,5,2.12,259.6,M,14.5" она приходит на arduino, но не кодируется.
А аппаратно соеденено RX пин 10 TX пин 11 вот через такой переходник
UART крест на крест все как положенно)
в конце строки передаёте символы x0d или x0a ?
видимо нет просто строка "$GPGGA,124715.130,5535.4915,N,03738.6425,E,1,5,2.12,259.6,M,14.5"
Вот строка "$GPGGA,124715.130,5535.4915,N,03738.6425,E,1,5,2.12,259.6,M,14.5<CR><LF>" отправленная через PuTTY
Вроде, в конце строки не должно быть ни CR ни LF. Строки нужно посылать непрерывно. Разделителем является доллар. Пример simple_test целую секунду слушает поток, затем выводит результат.
Может в конце строки должна быть сумма? * и два символа ...
http://aprs.gids.nl/nmea/#gga
Третья картинка в посте #2 вызывает ощущение, что скорость передатчика отличается от скорости приёмника. Попробуйте другую. 9600?
Не понял, ваш переходник по RS-232 работает? 15 вольт на выводах? Не сгорела дуина?
У меня есть gps модуль ublox neo 6 кажется называется. Библиотека TinyGps показала хороший результат. Не согласен с вашим сообщением: "не работает функция gps.encode()".