Arduino GPS Datenlogger DIY Projekt

kalle123

User
Hallo Max.

Hier der screenshot, nachdem ich deinen sketch + lib256 deinstalliert und neu installiert habe.

Lib256 ist eingebunden. Fehlermeldung im beigefügten textfile.

Gruß KH

Auswertung_7.jpg


Anhang anzeigen Textdatei.txt
 

kalle123

User
Schade Max. Dein Posteingang ist voll! Daher meine Antwort hier.

Da hat sich einiges getan von der IDE 1.0.1 zu der aktuellen 1.6.7

Die Zeile ist NICHT da. "#define SERIAL_BUFFER_SIZE 64"

Hat aber auch nix mit Programmieren zu tun ;)

Hab mal probehalber in nem DEBIAN in ner vbox arduino 1.0.1 geladen und ohne Probleme das
http://www.hobbytronics.co.uk/arduino-serial-buffer-size dort umgesetzt.

Aber, irgendwie passt da was nicht mit der alten IDE zusammen. Die zugeladenen libs TimerOne, TinyGPS++ oder ...

Hier mal mein momentaner desktop


mit dem Versuch :(

cu KH
 

kalle123

User
So, hab es jetzt noch mal mit arduino 1.0.6 versucht.

TimerOne lib von hier

Mit https://code.google.com/archive/p/arduino-timerone/downloads

und TinyGPS++ lib

https://code.google.com/archive/p/arduino-timerone/downloads

Irgendwas passt da nicht. Wirklich schade .....

arduino 1.0.1 bzw. 1.0.6 ließen sich ohne Problem in der Datei HardwareSerial.cpp nach dieser Anleitung
http://www.hobbytronics.co.uk/arduino-serial-buffer-size
umstellen, aber dann "beissen" sich die geladenen libs.

Und bei der aktuellen arduino Version 1.6.7 greift halt diese Anleitung nicht mehr .....

cu KH
 

kalle123

User
Noch ein Versuch ;)

Aktuelle arduino Version 1.6.7

libs wie oben. Einzige Änderung am sketch von Max ...

Die 256 entfernt. Siehe Bild unten.

screenshot_3.jpg
Und siehe da. Es lässt sich kompilieren und laden OHNE Fehlermeldung.

Jetzt steht da aber noch der Satz "Die die Informationen vom GPS größer als 64 Byte sind, reicht die Standard „SoftwareSerial“ Library nicht aus."

Nun muss aber erst mal der Hund raus und anschließend werde ich mal versuchen, rauszufinden, ob diese Beschränkung noch gilt .....
 

kalle123

User
Neuer Versuchsansatz:
=================================================================
Arduino IDE 1.6.7
Arduino Uno
GPS mit Ublox Neo 6M ebay
Micro SD Karten Adapter ebay
Rote LED und Widerstand 220Ohm dazu
=================================================================
Zum Problem mit den Einbinden der SoftwareSerial256 bin ich auf diesen Beitrag
im Arduino Forum gestoßen:

http://forum.arduino.cc/index.php?topic=361276.0

Nach Anwendung der Empfehlung wurden die Fehlermeldungen beim Kompilieren weniger,
hab mich dann aber entschlossen, die beiden Dateine SoftwareSerial256.cpp
und SoftwareSerial256.h in SoftwareSerial.cpp und SoftwareSerial.h umzubenennen und
die hier /home/user/Anwendungen/arduino-1.6.7/hardware/arduino/avr/libraries/SoftwareSerial/
vorhandenen beiden Dateien damit ersetzen. (ist ein Linux System, daher der Pfad .....)
=================================================================
Zusätzlicher Libraries von hier geladen
TimerOne-r11.zip https://code.google.com/archive/p/arduino-timerone/downloads
TinyGPSPlus-0.94b.zip https://github.com/mikalhart/TinyGPSPlus/releases
=================================================================
Dann hab ich mir noch mal Andis Beitrag hier angeschaut und von da folgendes übernommen.

Im Funktionsblock void setup() {

// GPS_Setup(); auskommentiert

und

ss.begin(9600); eingefügt
=================================================================
... und siehe da, ES GEHT!!

Hier ein Ausschnitt aus dem Logfile Anhang anzeigen 21_36.TXT

Frage ist jetzt, braucht man die Funktion GPS_Setup überhaupt. Eigentlich doch nicht.
Ich kann doch auch mittels u-center die Werte des GPS Moduls einstellen.
=================================================================
Nächster Schritt. Aufbau einer handelbaren Ausführung mit nem Pro Mini.
Scheue mich, zum Lötkolben zu greifen, wenn ich nicht vorher einen "fliegenden"
Versuchsaufbau gemacht habe ....;)

Danke an Max und Andi. Gruß KH
 

kalle123

User
Hier das vorläufige Ergebnis.

Noch mit 9600 baud. Werde jetzt mal (in Teilen) GPS_Setup(); aktivieren, um zu sehen wo es hakt ...

Gruß KH
 

Anhänge

  • DSCF4105.jpg
    DSCF4105.jpg
    110,2 KB · Aufrufe: 95
  • DSCF4106.jpg
    DSCF4106.jpg
    123 KB · Aufrufe: 92

kalle123

User
Komme auch bei GPS_Setup(); nicht weiter :(

Funktion aktiviert, jedoch die drei Bereiche GPGSA, GPGSV und GPGLL vorerst auskommentiert.

Bleibt im Status "WAIT SATTELIT" hängen.

Hab mal mein GPS Modul hier an u-center angeschlossen und dort die Befehle BAUD 57600 und RATE 5Hz gesendet und mit geschnitten.

Exact die Befehlsfolge, die auch Max in seinem Sketch hat.

Hier mal RATE 5Hz

screenshot_8.jpg

Bin momentan etwas ratlos .... Gruß KH
 

kalle123

User
Noch mal umgebaut. Position LED geändert und Buchsen- statt Stiftleiste.

Die Nuri Rümpfe von Robert Schweissgut sind arg schmal ;)DSCF4111.JPG
 

kalle123

User
Hab mich noch mal mit der SoftwareSerial256 Library Problematik beschäftigt.

Mein Rechner läuft unter DEBIAN Jessie 64 bit. Arduino IDE ist 1.6.7

Hatte den Eindruck, dass sich SoftwareSerial und SoftwareSerial256 "irgendwie beißen."

Wegen der Problematik SoftwareSerial256 library folgende Änderungen gemacht:

1. In der Datei /home/user/Anwendungen/Arduino/libraries/SoftwareSerial256/library.properties

name=SoftwareSerial256
version=1.0
author=Arduino
maintainer=Arduino <info@arduino.cc>
sentence=Enables serial communication on digital pins. For all Arduino boards, BUT Arduino DUE.
paragraph=
category=Communication <------------ HINZUGEFÜGT!
url=http://www.arduino.cc/en/Reference/SoftwareSerial
architectures=avr

2. In der Datei /home/user/Anwendungen/Arduino/libraries/SoftwareSerial256/SoftwareSerial256.cpp und SoftwareSerial256.h

Alle Einträge SoftwareSerial durch SoftwareSerial256 ersetzt

3. Im Sketch GPS_Logger.ino

Zeile SoftwareSerial ss(RXPin, TXPin) in SoftwareSerial256 ss(RXPin, TXPin) geändert.

Zumindest bei mir hier "vertragen" sich jetzt die beiden libs ;)

Gruß KH
 

kalle123

User
Na endlich ....;)

Code:
17.34.45.80;51.188221;6.461933;0.31;34.80;7
17.34.46.0;51.188221;6.461933;0.11;34.80;7
17.34.46.20;51.188221;6.461933;0.13;34.90;7
17.34.46.40;51.188221;6.461932;0.19;35.10;7
17.34.46.60;51.188221;6.461932;0.19;35.10;7
17.34.46.80;51.188221;6.461931;0.26;35.30;7
17.34.47.0;51.188221;6.461930;0.43;35.60;7
17.34.47.20;51.188221;6.461929;0.59;35.80;7
17.34.47.40;51.188221;6.461929;0.74;35.90;7
17.34.47.60;51.188221;6.461929;0.65;35.80;7
17.34.47.80;51.188221;6.461929;0.56;35.90;7
17.34.48.0;51.188225;6.461928;0.59;36.20;7
17.34.48.20;51.188225;6.461928;0.48;36.30;7
17.34.48.40;51.188225;6.461928;0.59;36.20;7
17.34.48.60;51.188221;6.461928;0.44;36.20;7
17.34.48.80;51.188221;6.461928;0.33;36.20;7
17.34.49.0;51.188221;6.461928;0.31;36.20;7
17.34.49.20;51.188221;6.461927;0.37;36.20;7
17.34.49.40;51.188221;6.461927;0.41;36.30;7
17.34.49.60;51.188221;6.461926;0.33;36.50;7
17.34.49.80;51.188225;6.461926;0.30;36.70;7
17.34.50.0;51.188225;6.461925;0.33;36.90;7
17.34.50.20;51.188225;6.461925;0.33;37.00;7
17.34.50.40;51.188225;6.461925;0.28;37.00;7
17.34.50.60;51.188225;6.461924;0.33;37.10;7
17.34.50.80;51.188225;6.461924;0.26;37.20;7
17.34.51.0;51.188225;6.461924;0.22;37.20;7
17.34.51.20;51.188225;6.461924;0.48;37.30;7
17.34.51.40;51.188225;6.461924;0.61;37.30;7
17.34.51.60;51.188225;6.461923;0.72;37.40;7
17.34.51.80;51.188225;6.461923;0.65;37.50;7
17.34.52.0;51.188225;6.461923;0.43;37.50;7

Das sind jetzt 57600 und 5Hz.

Standard softwareserial library genommen und in SoftwareSerial.h

#define _SS_MAX_RX_BUFF 64 // RX buffer size -> #define _SS_MAX_RX_BUFF 256 // RX buffer size ersetzt. That's all folks.

Zur Feier des Tages hab ich noch ein bapperl hinten drauf gepackt .....

pic22.jpg
 
Hallo zusammen,

sorry das ich mich jetzt erst wieder zu Wort melde. Ich habe in den letzten Tagen und Wochen zusammen mit Kalle im Hintergrund einen Fehler in der Software lokalisieren können, sodass der Logger nicht richtig funktioniert hat. Die neue Version läuft bei Kalle jetzt stabil. Bis jetzt haben wir keine weiteren Bugs finden können. An der Stelle nochmal ein dickes Dankeschön an Kalle, der das "Versuchskaninchen" gespielt hat. Die neue Software ist nun so aufgebaut, dass der oben beschriebene define von Kalle nicht abgeändert werden muss sondern wie in den Ausgangsposts beschrieben durch die SoftwareSerial 256 realisiert wird. Die "normale" SoftwareSerial muss somit nicht verändert werden.

Wer interesse an der neuen Software hat, kann sich gerne bei mir melden. Für weitere Ideen und Verbesserungsvorschläge bin ich jederzeit offen.

Gruß Max
 
Moin
Ich war auch auf der Suche nah einem einfachem GPS Datenlogger.
Auf einen Tipp hin habe ich mir das "OpenLog" angeschaut, und bin begeistert :):)
Es braucht absolut Null-Programmierkentnisse ! (DIY-Volks-GPS-Logger).

Das OpenLog ist eine kleine Platine, nichtmal halb so gross wie ein Arduino-Mini,
Und es hat sogar direkt den micro-SD-Kartenslot auf der Rückseite.

Wer sich mit der Firmware näher beschäftigen möchte, die ist opensource, und arduinofähig (muss man aber nicht, die Firmware ist ab Werk bereits drauf).

Nun braucht man noch eine GPS-Antenne/Modul, ich habe mich für die kleinen von GlobalTop mit Mediatec Chip entscheiden, welche direkt serial NMEA mit 115200baud und 10Hz senden.

Alles noch zusammenbauen, aufpassend das das GPS die Spannung verträgt, alternativ kann man sich auch die 3,3V auf der Openlog-Platine hinter dem Spannungsregler abgreifen.

Nach dem erstem Start ist eine config textdatei auf der Karte, diese mit dem PC öffnen, da steht eine baudrate von 9600, diese ggf. dem GPS anpassen, das wars auch schon.

Auf der Karte sind nach dem Flug die Logfiles, diese kann man mit jeder NMEA tauglicher Software öffnen (also nahezu alle), und sich den Flug schick auf der Karte anschauen, funzt vom aller feinstem :)

Gesammatkosten für beide Teile ca. 20-25€

Ein bissl Stoff zu lesen:
Hier das Orginal OpenLog mit den Datenblättern:
https://www.sparkfun.com/products/13712

Hier als GPS-Logging Projekt:
https://forum.sparkfun.com/viewtopic.php?f=17&t=23952

Man sieht auf den Bildern im Grössenvergleich wie schön klein diese Lösung ist.
dd.jpg
20161019_190803.jpg
 
Moin Kalle
ohne https evtl ? forum.sparkfun.com/viewtopic.php?f=17&t=23952


Ich will demnächst mal an die Firmware rann.

-Logfiles mit Dateiendung *.nmea

-Im Setuo GPS Module auf 10Hz und hohe Baudrate stellen (für die ab Werk geringer gestellt sind).

-Hott-Telemetrieausgabe als zweite Baustelle.
 
Ansicht hell / dunkel umschalten
Oben Unten