Микроконтролери и електроника
http://mcu-bg.com/mcu_site/

въпрос за GPS
http://mcu-bg.com/mcu_site/viewtopic.php?f=3&t=15402
Страница 1 от 2

Автор:  Edesign [ Вто Авг 01, 2017 3:54 pm ]
Заглавие:  въпрос за GPS

Някой може ли синтезирано да ме светне какво е това. На мен ми трябва да чета час и дата и положението (ширина и дължина)

От това което набързо прехвърлих е че има протокол NMEA 0183 PMTK. Обаче там команди колкото искаш като сигурно почти нито една не ми е нужна да я подавам към модула.
От друго място виждам, че модула сам си отговаря от време на време (URC) и без да го питам си праща координатите.

Т.е. какво трябва ако изобщо трябва да конфигурирам модула при включване или просто чакам да ми отговори.
$GPRMC,013732.000,A,3150.7238,N,11711.7278,E,0.00,0.00,220413,,,A*68<CR><LF>

Ще използвам някакъв QUECTEL от комет. Например гледам L80 има вградена антена. Добре ли лови или трябва да е на много открито поле? Някой има ли опит с този модул.

Автор:  t_i_t_o [ Вто Авг 01, 2017 4:18 pm ]
Заглавие:  Re: въпрос за GPS

Включваш и той стандартно на всяка секунда дава данни, парсваш ги да видиш дали са валидни (има си флаг A/V ако помня) и ако са валидни си взимаш каквото ти трябва.

Автор:  Цецо [ Вто Авг 01, 2017 5:03 pm ]
Заглавие:  Re: въпрос за GPS

Те стандартно са настроени на NMEA ненам колко си. И мятат през секунда една камара редове подобни на тоя който си описал. Ти вече какво ще вземеш от всичко това си решаваш сам.

Дали лови добре е риторичен въпрос. Никога не е достатъчно добре :). Иначе зависи от един куп фактори като почнеш от видимостта към небето и свършиш с платката и захранването.

Автор:  itso.t [ Вто Авг 01, 2017 5:52 pm ]
Заглавие:  Re: въпрос за GPS

Edesign написа:
...Ще използвам някакъв QUECTEL от комет. Например гледам L80 има вградена антена. Добре ли лови или трябва да е на много открито поле? Някой има ли опит с този модул.

Преди няколко месеца купувах от Комет развоен кит с L86. С външната антена от кита, през една бетонна плоча, хваща 20 - 30 спътника, GPS и глонас.

Автор:  MYXATA [ Вто Авг 01, 2017 7:22 pm ]
Заглавие:  Re: въпрос за GPS

itso.t написа:
Преди няколко месеца купувах от Комет развоен кит с L86. С външната антена от кита, през една бетонна плоча, хваща 20 - 30 спътника, GPS и глонас.

в смисъл си бил на балкона или отгоре на бетонната плоча :?: или поне до прозореца :?:
или си бил в някоя китна японска къщика от оризова хартия и чамови летвички :?: :)
за затихване на сигнал чувал ли си?

Автор:  itso.t [ Вто Авг 01, 2017 8:19 pm ]
Заглавие:  Re: въпрос за GPS

Когато правих тестовете, местата където можеше бързо и лесно да се монтира антената, бяха доста ограничени. Антената е на около 30 под плочата, и странично е покрита около 20 - 30.
В близост има и сграда, която осигурява допълнителен "заслон" и отразени сигнали.
Пряка видимост към звездите, нъцки.

Автор:  CarBeta [ Вто Авг 01, 2017 9:23 pm ]
Заглавие:  Re: въпрос за GPS

Edesign написа:
Някой може ли синтезирано да ме светне какво е това. На мен ми трябва да чета час и дата и положението (ширина и дължина)

От това което набързо прехвърлих е че има протокол NMEA 0183 PMTK. Обаче там команди колкото искаш като сигурно почти нито една не ми е нужна да я подавам към модула.
От друго място виждам, че модула сам си отговаря от време на време (URC) и без да го питам си праща координатите.

Т.е. какво трябва ако изобщо трябва да конфигурирам модула при включване или просто чакам да ми отговори.
$GPRMC,013732.000,A,3150.7238,N,11711.7278,E,0.00,0.00,220413,,,A*68<CR><LF>

Ще използвам някакъв QUECTEL от комет. Например гледам L80 има вградена антена. Добре ли лови или трябва да е на много открито поле? Някой има ли опит с този модул.


Аз ползвам за един проект точно QUECTEL L80 и е супер лесен за работа. Подаваш му захранване и го изчакваш да си намери сателити. На открито, естествено, се ориентира по-бързо. Не е нужно да му подаваш нищо, само четеш какво ти праща. Можеш да го настроиш да ти подава само данни, които те интересуват. За валидността на данните си има чексума. В твоя ред, който си цитирал, чексумата е след звездата (68).

Тия документи ще са ти полезни:
http://www.quectel.com/uploadimage/down ... n_v1.1.pdf
http://www.quectel.com/UploadImage/Down ... n_V1.2.pdf

Автор:  Edesign [ Сря Авг 02, 2017 5:44 am ]
Заглавие:  Re: въпрос за GPS

Благодаря за отговорите!
Значи правилно съм се ориентирал :) И аз харесах този L80 заради това че няма да слагам конектори и антена.
Следваща стъпка е малко хардуер.

Автор:  Цецо [ Сря Авг 02, 2017 9:29 am ]
Заглавие:  Re: въпрос за GPS

Зависи какво приложение търсиш. При този тип антени (каквато ползва и L80), принципа на Мечо Пух важи с пълна сила. Т.е. L80 ще се справя прилично при добра видимост към небето, но не може да се сравнява въобще с една изнесена антена 30-30мм.

Иначе съвременните приемници правят чудеса с зверска входна чуствителност и някакви яки математики. Евтиния ми телефон лови спътниците вътре във средата на стаята, а има някаква смешна керамична антенка... Това със старите чипсети просто не се случваше, каквито и антени да му сложиш.

Автор:  itso.t [ Вто Авг 08, 2017 8:39 pm ]
Заглавие:  Re: въпрос за GPS

Да използвам темата за един блондински въпрос за GPS парсер... :D
Че съм сделал някакъв елементарен, но не ми харесва, и трябва да го тунинговам още малко.

Та, какво мета GPS като данни на серийния порт е ясно. Приетите данни се буферират. Дебелата книга твърди, че 82 байта е максималната дължина на дадено съобщение. Предполагам че буфер около тоя размер би трябвало да е достатъчен.
Според вида (хедъра) на съобщението, се вади каквото трябва, от съответните като адрес байтове.
Неясната част - има полета с променлива дължина. Дали в тях има полезна информация, тя с каква дължина е, и т.н. зависи то това какви спътници е хванал приемника, дали е на кеф и кой знае какво още.
Та, съвсем общо, как се процедира с тая мъглява част от информацията?

Автор:  gicho [ Вто Авг 08, 2017 9:29 pm ]
Заглавие:  Re: въпрос за GPS

За NMEA ли говориш? Ако да, там данните са отделени (delimited) с запетайки - така че там се парсира по тях. Може да е празно поле ",," но все отделителите ще са там. Колко са дълги не те бърка - нали си има отделителите.
Както спомена, има си дефиниции за размери на полета - не знам колко е, но трябва да има и максимална дължина на едно поле (между две запетайки).
По-генерално, един от подходите е да събереш целия ред (до \r или каквото беше там) и после да го зяпаш. Другият подход е да работиш символ по символ - имаш си модул (клас, стейт машина, функция със "външен" стейт) която реагира на събития. Имаш няколко събития които твоя "парсер" трябва да обработи:
- нов символ
- таймаут
- ресет
- ... (може би нещо друго)
Не казвам да го слагаш тоя парсер да върви директно в контекста на UART RX прекъсването (но и така може) - като искаш буферирай и после ги подавай на парсера символите.
По моите разбирания е така - ти го стимулираш със събитията които са му вход, той ти връща резултата. Тоя "резултат" реално е изхода на парсера. Най-изчистеното е когато този изход си е точно return стойността на функцията (а не вътре в парсера да викаш подаден като аргумент callback). Този ретърн може да е enum който да те осведомява какво е видял парсера.

Автор:  bobihot [ Сря Авг 09, 2017 9:40 am ]
Заглавие:  Re: въпрос за GPS

Аз се опитвах в прекъсването при всеки получен байт да парсерирам, като някаква машина беше, забравих ѝ името. Но се получи доста сложно.

Автор:  TheWizard [ Сря Авг 09, 2017 10:06 am ]
Заглавие:  Re: въпрос за GPS

Запетайки се парсват тъй:
https://github.com/mozilla-b2g/android- ... l/at_tok.c
Код:
int decodeRMC(char * p, time_t * TIME, uint32_t * LAT, uint32_t * LON)
{// $GPRMC,123828.000,A,4238.6353,N,02324.2596,E,0.01,0.00,151215,,,D*6A
    char * A; char * N; char * E; char * skip;
    char * time;
    char * date;
    char * lat;
    char * lon;
    if( at_tok_start( &p )          < 0 ) return 0; // ERROR
    if( at_tok_nextstr( &p, &time ) < 0 ) return 0;
    if( at_tok_nextstr( &p, &A )    < 0 ) return 0; // A/V
    if( at_tok_nextstr( &p, &lat )  < 0 ) return 0;
    if( at_tok_nextstr( &p, &N )    < 0 ) return 0; // N/S
    if( at_tok_nextstr( &p, &lon )  < 0 ) return 0;
    if( at_tok_nextstr( &p, &E )    < 0 ) return 0; // E/W
    if( at_tok_nextstr( &p, &skip ) < 0 ) return 0; //
    if( at_tok_nextstr( &p, &skip ) < 0 ) return 0; //
    if( at_tok_nextstr( &p, &date ) < 0 ) return 0;
...........

Автор:  itso.t [ Сря Авг 09, 2017 11:42 am ]
Заглавие:  Re: въпрос за GPS

gicho написа:
За NMEA ли говориш? Ако да, там данните са отделени (delimited) с запетайки - така че там се парсира по тях...

Предположих че ще да е някаква подобна работа, ама броенето на запетайки ми се стори много туземска работа, и затова попитах дали няма и по-интелигентен подход...

bobihot написа:
Аз се опитвах в прекъсването при всеки получен байт да парсерирам, като някаква машина беше, забравих ѝ името. Но се получи доста сложно.

В момента е така, но обработвам малко като брой съобщения, и е поносимо.

Автор:  gicho [ Сря Авг 09, 2017 4:33 pm ]
Заглавие:  Re: въпрос за GPS

Туземщината идва от това че се ползва ascii протокол и са гледали всичко да е четимо за човек (туземец). Но няма как, стар протокол е. Същото е и за AT подобните протоколи.
От доста време GPS модулите имат и бинарни протоколи - но в предвид че се говори за това как най-лесно (т.е. без конфигуриране) да се получат данните то бинарните протоколи май отпадат.

Страница 1 от 2 Часовете са според зоната UTC + 2 часа [ DST ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/