Logowanie GPS na karcie SD i wyświetlanie na GoogleEarth

FC oparte na Arduino

Moderatorzy: moderatorzy2014, moderatorzy

Awatar użytkownika
pawelsky
Posty: 9763
Rejestracja: środa 19 mar 2014, 02:03
Lokalizacja: Polska
Kontakt:

Re: Logowanie GPS na karcie SD i wyświetlanie na GoogleEarth

Post autor: pawelsky »

Burakko pisze:Przepraszam SD
Daj GPS kolo okna tak zeby zlapal fiksa. Cos mi sie przypomina ze encode zwraca true tylko kiedy jest fiks.
Awatar użytkownika
Burakko
Posty: 2231
Rejestracja: czwartek 14 cze 2012, 20:55
Lokalizacja: Dąbrowa Górnicza

Re: Logowanie GPS na karcie SD i wyświetlanie na GoogleEarth

Post autor: Burakko »

Ha to nie takie łatwe mnie przy oknie nie łapie na balkonie rekordem były 3 satki. W kieszeń i na dwór też ciężko bo piny się zwierają na płytkach a w ręku lipton bo pada. Ale chyba wybiorę się na piwo i zobaczę co zapisze. Odezwę się dziś bądź jutro. Masz u mnie już 3 browary albo 0,7 za pomoc.
Mapka ŚL http://maps.google.com/maps/ms?ie=UTF&m ... bcc46646ee

Kontroler lotu: "Widoczność pionowa zero."
Pilot: "W stopach czy w metrach?"

Nie pisz "Dron" moje dzieci mogą to czytać...
Awatar użytkownika
Burakko
Posty: 2231
Rejestracja: czwartek 14 cze 2012, 20:55
Lokalizacja: Dąbrowa Górnicza

Re: Logowanie GPS na karcie SD i wyświetlanie na GoogleEarth

Post autor: Burakko »

no niby OK ale zapisuje nie jako NMEA tylko "Date: 270215, Time: 10370367, Lat: 50330500, Lon: 19221595, Alt: 40780" jak zrobić by zapisał jako http://hemispheregnss.com/gpsreference/GPGGA.htm ? Pozamieniać odpowiednio nazwy w:

Kod: Zaznacz cały

 dataFile.print("Date: "); dataFile.print(date);
          dataFile.print(", Time: "); dataFile.print(time);
          dataFile.print(", Lat: "); dataFile.print(lat);
          dataFile.print(", Lon: "); dataFile.print(lon);
          dataFile.print(", Alt: "); dataFile.print(gps.altitude());
          dataFile.println("");
          dataFile.flush();
?
Mapka ŚL http://maps.google.com/maps/ms?ie=UTF&m ... bcc46646ee

Kontroler lotu: "Widoczność pionowa zero."
Pilot: "W stopach czy w metrach?"

Nie pisz "Dron" moje dzieci mogą to czytać...
Awatar użytkownika
pawelsky
Posty: 9763
Rejestracja: środa 19 mar 2014, 02:03
Lokalizacja: Polska
Kontakt:

Re: Logowanie GPS na karcie SD i wyświetlanie na GoogleEarth

Post autor: pawelsky »

Burakko pisze:no niby OK ale zapisuje nie jako NMEA tylko "Date: 270215, Time: 10370367, Lat: 50330500, Lon: 19221595, Alt: 40780" jak zrobić by zapisał jako http://hemispheregnss.com/gpsreference/GPGGA.htm ? Pozamieniać odpowiednio nazwy w:

Kod: Zaznacz cały

 dataFile.print("Date: "); dataFile.print(date);
          dataFile.print(", Time: "); dataFile.print(time);
          dataFile.print(", Lat: "); dataFile.print(lat);
          dataFile.print(", Lon: "); dataFile.print(lon);
          dataFile.print(", Alt: "); dataFile.print(gps.altitude());
          dataFile.println("");
          dataFile.flush();
?
Tak, pozmieniaj to co sie wypisuje tak zeby Ci pasowal format.

Jesli chcesz zeby wypisywal Ci zywcem GPGGA i GPRMC to mozna to zrobic jeszcze prosciej ustawiajac GPS tak zeby wysylal tylko te 2 komunikaty i przepisujac wszystko jak leci z GPSa na karte co jakis czas (np. po znaku konca linii) robiac flush, np.:

Kod: Zaznacz cały

#include "SD.h"

const int chipSelect = 10;
File dataFile;

void setup()
{
  pinMode(10, OUTPUT);
  SD.begin(chipSelect);
  Serial.begin(4800);
  dataFile = SD.open("NewGPS.txt", FILE_WRITE);
}

void loop()
{
  if(Serial.available())
  {
    char c = Serial.read();
    if(dataFile)
    {
      dataFile.write(c);
      if(c == '\n') dataFile.flush();
    }
  }
}
Pokombinuj, dasz rade.
Awatar użytkownika
Burakko
Posty: 2231
Rejestracja: czwartek 14 cze 2012, 20:55
Lokalizacja: Dąbrowa Górnicza

Re: Logowanie GPS na karcie SD i wyświetlanie na GoogleEarth

Post autor: Burakko »

Super zapisuje czysty NMEA. Szukam teraz dobrego konwertera na KML.
Mapka ŚL http://maps.google.com/maps/ms?ie=UTF&m ... bcc46646ee

Kontroler lotu: "Widoczność pionowa zero."
Pilot: "W stopach czy w metrach?"

Nie pisz "Dron" moje dzieci mogą to czytać...
Awatar użytkownika
pawelsky
Posty: 9763
Rejestracja: środa 19 mar 2014, 02:03
Lokalizacja: Polska
Kontakt:

Re: Logowanie GPS na karcie SD i wyświetlanie na GoogleEarth

Post autor: pawelsky »

Burakko pisze:Super zapisuje czysty NMEA. Szukam teraz dobrego konwertera na KML.
GPSBabel konwertuje wszystko na wszystko.
Awatar użytkownika
Burakko
Posty: 2231
Rejestracja: czwartek 14 cze 2012, 20:55
Lokalizacja: Dąbrowa Górnicza

Re: Logowanie GPS na karcie SD i wyświetlanie na GoogleEarth

Post autor: Burakko »

A powiedz mi dało by rade by po każdym nowym włączeniu by tworzył nowy plik ? Nie mowie o bajeze jeżeli by to była data pobrana z gpsa. Muszę za każdym razem kasowac plik bo nie dopisuje do starego.
Mapka ŚL http://maps.google.com/maps/ms?ie=UTF&m ... bcc46646ee

Kontroler lotu: "Widoczność pionowa zero."
Pilot: "W stopach czy w metrach?"

Nie pisz "Dron" moje dzieci mogą to czytać...
Awatar użytkownika
pawelsky
Posty: 9763
Rejestracja: środa 19 mar 2014, 02:03
Lokalizacja: Polska
Kontakt:

Re: Logowanie GPS na karcie SD i wyświetlanie na GoogleEarth

Post autor: pawelsky »

Burakko pisze:A powiedz mi dało by rade by po każdym nowym włączeniu by tworzył nowy plik ? Nie mowie o bajeze jeżeli by to była data pobrana z gpsa. Muszę za każdym razem kasowac plik bo nie dopisuje do starego.
Daloby. Dodaj include do EEPROM.h i zamien funkcje setup na

Kod: Zaznacz cały

void setup()
{
  byte fileNumber; 
  char fileName[14];
  
  pinMode(10, OUTPUT);
  SD.begin(chipSelect);
  Serial.begin(4800);
  fileNumber = EEPROM.read(0);
  if(fileNumber >= 255) fileNumber = 0; else fileNumber++;
  EEPROM.write(0, fileNumber);
  sprintf(fileName, "NewGPS%03u.txt", fileNumber);
  dataFile = SD.open(fileName, FILE_WRITE);
}
Bedzie numerowal w kolko od 000 do 255 ostatnia wartosc zapamietujac sobie w EEPROMie.
Awatar użytkownika
Burakko
Posty: 2231
Rejestracja: czwartek 14 cze 2012, 20:55
Lokalizacja: Dąbrowa Górnicza

Re: Logowanie GPS na karcie SD i wyświetlanie na GoogleEarth

Post autor: Burakko »

Działa super jak na razie użyłem NAVISConverter. Obrazek
Mapka ŚL http://maps.google.com/maps/ms?ie=UTF&m ... bcc46646ee

Kontroler lotu: "Widoczność pionowa zero."
Pilot: "W stopach czy w metrach?"

Nie pisz "Dron" moje dzieci mogą to czytać...
Awatar użytkownika
pawelsky
Posty: 9763
Rejestracja: środa 19 mar 2014, 02:03
Lokalizacja: Polska
Kontakt:

Re: Logowanie GPS na karcie SD i wyświetlanie na GoogleEarth

Post autor: pawelsky »

Burakko pisze:Działa super jak na razie użyłem NAVISConverter.
Ciesze sie.

P.S. Poleciales do Lidla na zakupy? ;)
Awatar użytkownika
Burakko
Posty: 2231
Rejestracja: czwartek 14 cze 2012, 20:55
Lokalizacja: Dąbrowa Górnicza

Re: Logowanie GPS na karcie SD i wyświetlanie na GoogleEarth

Post autor: Burakko »

To było z balkonu wiec powinien być jeden punkt ale tak to bywa jak jest malo satelit
Mapka ŚL http://maps.google.com/maps/ms?ie=UTF&m ... bcc46646ee

Kontroler lotu: "Widoczność pionowa zero."
Pilot: "W stopach czy w metrach?"

Nie pisz "Dron" moje dzieci mogą to czytać...
Awatar użytkownika
Burakko
Posty: 2231
Rejestracja: czwartek 14 cze 2012, 20:55
Lokalizacja: Dąbrowa Górnicza

Re: Logowanie GPS na karcie SD i wyświetlanie na GoogleEarth

Post autor: Burakko »

No i wróciłem do loggera. Problem w tym że po poprawce w tworzeniu kolejnych plików przestał zapisywać informacje. Tworzy nowy plik następnie wpisuje pierwsze notki z GPSa i koniec.

Progam cały teraz wygląda tak:

Kod: Zaznacz cały

#include <TinyGPS.h>
#include <SD.h>
#include <EEPROM.h>

const int chipSelect = 10;
File dataFile;

void setup()
{
  byte fileNumber; 
  char fileName[14];
  
  pinMode(10, OUTPUT);
  SD.begin(chipSelect);
  Serial.begin(4800);
  fileNumber = EEPROM.read(0);
  if(fileNumber >= 255) fileNumber = 0; else fileNumber++;
  EEPROM.write(0, fileNumber);
  sprintf(fileName, "NewGPS%03u.txt", fileNumber);
  dataFile = SD.open(fileName, FILE_WRITE);
}

//void setup()
//{
 // pinMode(10, OUTPUT);
  //SD.begin(chipSelect);
  //Serial.begin(4800);
  //dataFile = SD.open("NewGPS.txt", FILE_WRITE);
//}

void loop()
{
  if(Serial.available())
  {
    char c = Serial.read();
    if(dataFile)
    {
      dataFile.write(c);
      if(c == '\n') dataFile.flush();
    }
  }
}


Mapka ŚL http://maps.google.com/maps/ms?ie=UTF&m ... bcc46646ee

Kontroler lotu: "Widoczność pionowa zero."
Pilot: "W stopach czy w metrach?"

Nie pisz "Dron" moje dzieci mogą to czytać...
Awatar użytkownika
pawelsky
Posty: 9763
Rejestracja: środa 19 mar 2014, 02:03
Lokalizacja: Polska
Kontakt:

Re: Logowanie GPS na karcie SD i wyświetlanie na GoogleEarth

Post autor: pawelsky »

Burakko pisze:No i wróciłem do loggera. Problem w tym że po poprawce w tworzeniu kolejnych plików przestał zapisywać informacje. Tworzy nowy plik następnie wpisuje pierwsze notki z GPSa i koniec.
W kodzie zadnego problemu nie widze, obstawialbym raczej konfiguracje GPSa.
Awatar użytkownika
Burakko
Posty: 2231
Rejestracja: czwartek 14 cze 2012, 20:55
Lokalizacja: Dąbrowa Górnicza

Re: Logowanie GPS na karcie SD i wyświetlanie na GoogleEarth

Post autor: Burakko »

A co można w nim konfigurować ? on tylko wysyła. Na dodatek działa w wersji z niezmienianym plikiem
Mapka ŚL http://maps.google.com/maps/ms?ie=UTF&m ... bcc46646ee

Kontroler lotu: "Widoczność pionowa zero."
Pilot: "W stopach czy w metrach?"

Nie pisz "Dron" moje dzieci mogą to czytać...
Awatar użytkownika
pawelsky
Posty: 9763
Rejestracja: środa 19 mar 2014, 02:03
Lokalizacja: Polska
Kontakt:

Re: Logowanie GPS na karcie SD i wyświetlanie na GoogleEarth

Post autor: pawelsky »

Burakko pisze:A co można w nim konfigurować ? on tylko wysyła.
To co wysyla
Burakko pisze:Na dodatek działa w wersji z niezmienianym plikiem
Patrzac na kod wydaje sie to niemozliwe, ale nie takie cuda juz widzialem.
ODPOWIEDZ