Projekt GPS Datenlogger + OpenStreetMap

OP #1301079
Lesenswert?

Will hier mal auf mein Projekt aufmerksam machen.

Es handelt sich um einen GPS Datenlogger, der die aktuelle Position auf 
einer Karte auf dem eingebauten LCD anzeigen kann. Die Karten kann man 
sich von http://www.openstreetmap.de herunterladen. Diese Karten sind 
frei verwendbar solange man sich an die Creative Common 
Attribution-Share Alike license hält 
(http://creativecommons.org/licenses/by-sa/3.0/)

Die Hardware setzt auf ein Entwicklungskit Primer2 mit einem STM32 auf. 
Es ging bei dem Projekt nicht darum noch ein neues GPS-Gerät zu 
entwickeln, sondern die Machbarkeit auf einem relativ kleinen System zu 
zeigen.

Alles weitere hier:  http://www.amatronica.de
Angehängte Dateien:
#1302466
Lesenswert?

Hallo,

Ein sehr interessantes Projekt! (auch wenn ich noch nicht durch alle 
Infos durch bin :-)).
Den Primer2 gibt es u.a. auch von Stephan Watterott, 
http://www.watterott.com (es gibt auch eine leere Erweiterungsplatine).

Wo würde man den GPS-Empfänger Aarlogic Empfänger bekommen, und was 
kostet der etwa?
Geht der auch mit schon mit den vom Primer2 bereitgestellten 2,8 V ?

(Ich hatte vor, für ein wesentlich kleineres "Projekt" das hier im Markt 
verfügbaren SkyTraq Venus5 einzusetzen).

Gruß Thomas
OP #1302503
Lesenswert?

Hallo Thomas,

ja der Primer2 ist ja mittlerweile überall zu bekommen.

Den GPD-Empfänger bekommst du hier:
http://www.roundsolutions.com/gps/gps-module.htm

Die Preisliste ist auch irgendwo auf der Seite. Preis war unter 50.-€

Lt. Datenblatt arbeitet der GPS-Empfänger ab 3.0V Ich habe ihn aber auch 
schon an den 2.8V des Primer2 betrieben und es hat funktioniert. Ist 
aber keine Garantie da ausserhalb der Spec.
Im Projekt betreibe ich den Empfänger an den 3.7V des Akku. Einfach die 
3.7V an JP2 des Primer2 abgreifen.

Wenn du noch Frage hast, einfach mailen.
#1303009
Lesenswert?

Hallo Dieter,

Danke!

zu Deinen Projekt: (ich habe mich in den Code auf dem Primer noch nicht 
eingelesen) - könnte die Display-Orientierung der Kartendarstellung auf 
dem Primer auch "unkompliziert" gedreht werden, falls der alternative 
GPS-Empfänger (eine flache Version) in die gleiche Richtung "schaut" wie 
das Display ?
D.h. das Gerät wird vermutlich im Betrieb ähnlich wie ein Garmin 
gehalten, der Stick würde dann "unten".

Einen Empfänger (SkyTraq-Modul) habe ich schon, nur noch kein Platine, 
und keine Wandlung 2,7V -> 3,3V (der Empfänger braucht ziemlich genau 
3,3 V). Über die Abschaltung (Transistoren) habe ich mir auch noch keine 
Gedanken gemacht..  Meine Pläne müssen noch reifen.
Dein Projekt kam genau zum richtigen Zeitpunkt als "Leuchtturm" und zur 
Inspiration.

Gruß Thomas
OP #1303089
Lesenswert?

Hallo Thomas,

lies dich mal ein bischen in das Betriebssystem des Primer2 ein. 
(CircleOS3.7)
Der Primer2 hat einen mems-Controller und kann Lageveränderungen des 
Gerätes detektieren.
Die Orientierung des Displays lässt sich damit leicht anpassen.

Für die Spannungsversorgung kannst du die Akkuspannung des Primer2 
abgreifen (3.7V) und dann
auf 3.3V runterregeln.

Wie heisst denn das SkyTraq-Modul genau? Kannst du mir ein Datenblatt 
schicken?

Viel Spass beim Planen ;-)
Gast #1303431
Lesenswert?

> Sie haben in Ihrem Browser JavaScript deaktiviert oder verwenden einen
> Browser, der kein JavaScript beherrscht. Um die Website in vollem Umfang
> nutzen zu können, muss JavaScript aktiviert sein.

Warum JavaScript?
Gast #1304365
Lesenswert?

Hallo Dieter,

Ich verfolge mit regem Interesse die News auf Deiner Seite (z.B. die 
Basic Steps).  Hast Du herausfinden können, bis zu welcher Größe die 
Mikro-SD-Karten im Primer2 funktionieren (derzeit habe ich 2 GB 
eingesetzt)?

Hast Du noch Links zu weiteren Infortmationsquellen zum CircleOS (3.7)?
Der mems-Controller und die Reaktionen auf Lageänderungen direkt in der 
circle-os-Oberfläche kenne ich zwar, habe aber noch nicht alle 
Zusammenhänge realisiert .. das Code-Studium ist nicht trivial (der 
STM32 Cortex M3 ist eben doch eine neue Klasse mit vielen 
Möglichkeiten).
Die mitgelieferten Informationen (html) halte ich für recht kompakt, 
wennn es darüber hinaus Tipps gibt, bin ich dankbar :-)


Danke,
Thomas
Gast #1304480
Lesenswert?

Hallo

ist etwas "OFF TOPIC" jedoch kann mir jemand erklären mit welchen Kosten 
man rechnen muß, wenn man mal mit dem PRIMER2 spielen will?
Was wird mindestens gebraucht und voe allen Dingen kann mann dann was 
sinnvolles machen?
Ich habe natürlich "gegurgelt", man braucht wohl mindestens den 
RLINK/STD (99 €) der aber auf 32 KB begrenzt ist der Pro kostet dann 
800€ und das ist zum "spielen" schon heftig...

Ansonsten super Projekt, welches von starkem Interesse ist.

MfG
Achim
OP #1304714
Lesenswert?

@Thomas
Die micro-sd Karte habe ich auch nur bis zu einer Größe von 2GB 
getestet, mehr sollte aber auch machbar sein.

Die meiste Info zum CircleOS gibt´s auf der Seite stm32circle.com
Die Online-Doku gint´s hier: 
http://www.stm32circle.com/circleos_doc/index.html

Bei der Herangehensweise an das Thema STM32 und CircleOS bin ich 
persönlich der Verfechter des "Learning by doing".
Hier http://www.stm32circle.com/resources/stm32primer2.php findest du 
das STM32-Primer2 user manual. Darin findet sich eine step-by-step 
Anleitung für deine erste Applikation. Dann kannst du daran gehen die 
Applikation zu erweitern und nach und nach die Feinheiten des STM32 
besser verstehen. Das ist eine Art Top-Down Methode mit der man relativ 
schnell zum ersten "Hall Welt!" Erfolg gelangt und sich viel Frust 
erspart.

Ansonsten im Forum viel lesen. Viele Probleme haben die anderen User 
auch.

@GPSler
Damit kein Missverständniss aufkommt. RLINK, also den Hardware Debugger 
brauchst du für den Primer2 nicht. Der ist sozusagen auf dem Primer2 
integriert. Du brauchst den Primer2 und die mitgelieferte Ride7 IDE. Für 
den Anfang kommt man mit der auf 32k begrenzten Version aus. Wenn die 
Projekte umfangreicher werden sollte man sich die Pro-Version zulegen.
#1307428
Lesenswert?

Hallo Dieter,

nur zum Teil (ich habe die Datei gelöscht, da es anscheinend um eine DB 
handelt).
Die Übersetzung läuft mit einigen Warnungen durch, aber der Linker 
meckert:
1
----------------Build Started: 'OSM4Primer2' in configuration 'Circle_Debug'-------------------------- 
2
  
3
Building C:\Programme\Raisonance\Ride\Examples\Primer2\OSM4Primer2.c 
4
 Running: GCC 
5
 \"C:\Programme\Raisonance\Ride\arm-gcc\bin\arm-none-eabi-gcc.exe" -MD -D_STM32F103VET6_ -D_STM3x_ -D_STM32x_ -mthumb   -mcpu=cortex-m3 "C:\Programme\Raisonance\Ride\Examples\Primer2\OSM4Primer2.c" -o "C:\Programme\Raisonance\Ride\Examples\Primer2\objdebug\OSM4Primer2.o" -I "." -I "C:\Programme\Raisonance\Ride\Lib\ARM\include" -I "./src" -c     -fsigned-char  -g      -Os   -ffunction-sections         -mlittle-endian 
6
 C:\Programme\Raisonance\Ride\Examples\Primer2\OSM4Primer2.c: In function 'Application_Ini':  
7
 C:\Programme\Raisonance\Ride\Examples\Primer2\OSM4Primer2.c:60: warning: passing argument 1 of 'strcmp' makes pointer from integer without a cast  
8
 C:\Programme\Raisonance\Ride\Examples\Primer2\OSM4Primer2.c: In function 'Application_Handler':  
9
 C:\Programme\Raisonance\Ride\Examples\Primer2\OSM4Primer2.c:411: warning: assignment from incompatible pointer type  
10
 C:\Programme\Raisonance\Ride\Examples\Primer2\OSM4Primer2.c:437: warning: assignment from incompatible pointer type  
11
 C:\Programme\Raisonance\Ride\Examples\Primer2\OSM4Primer2.c: In function 'EvaluateGPGGA':  
12
 C:\Programme\Raisonance\Ride\Examples\Primer2\OSM4Primer2.c:1310: warning: assignment from incompatible pointer type  
13
 C:\Programme\Raisonance\Ride\Examples\Primer2\OSM4Primer2.c:1316: warning: passing argument 1 of 'strtodbl' discards qualifiers from pointer target type  
14
 C:\Programme\Raisonance\Ride\Examples\Primer2\OSM4Primer2.c:1320: warning: passing argument 1 of 'strtodbl' discards qualifiers from pointer target type  
15
 C:\Programme\Raisonance\Ride\Examples\Primer2\OSM4Primer2.c:1337: warning: passing argument 1 of 'strtodbl' discards qualifiers from pointer target type  
16
 C:\Programme\Raisonance\Ride\Examples\Primer2\OSM4Primer2.c:1358: warning: passing argument 1 of 'myatoi' discards qualifiers from pointer target type  
17
 \"C:\Programme\Raisonance\Ride\Bin\rexrdr.exe" "C:\Programme\Raisonance\Ride\Examples\Primer2\objdebug\OSM4Primer2.lst" 0 "C:\Programme\Raisonance\Ride\arm-gcc\bin\arm-none-eabi-objdump.exe" --disassemble -all --source "C:\Programme\Raisonance\Ride\Examples\Primer2\objdebug\OSM4Primer2.o" 
18
 \"C:\Programme\Raisonance\Ride\Bin\rexrdr.exe" "C:\Programme\Raisonance\Ride\Examples\Primer2\objdebug\OSM4Primer2.o.sizetmp" 0 "C:\Programme\Raisonance\Ride\arm-gcc\bin\arm-none-eabi-size.exe" "C:\Programme\Raisonance\Ride\Examples\Primer2\objdebug\OSM4Primer2.o" 
19
  
20
Building C:\Programme\Raisonance\Ride\Examples\Primer2\OSM4Primer2.rapp 
21
 Running: LD 
22
 \"C:\Programme\Raisonance\Ride\arm-gcc\bin\arm-none-eabi-gcc.exe" -mcpu=cortex-m3 -mthumb -Wl,-T -Xlinker "C:\Programme\Raisonance\Ride\Examples\Primer2\objdebug\OSM4Primer2.elf.ld" -u _start  -nostartfiles -Wl,-Map -Xlinker "C:\Programme\Raisonance\Ride\Examples\Primer2\objdebug\OSM4Primer2.map"   
23
 C:\Programme\Raisonance\Ride\Examples\Primer2\objdebug\OSM4Primer2.o: In function `GenerateFilename':  
24
 C:\Programme\Raisonance\Ride\Examples\Primer2/OSM4Primer2.c:1593: undefined reference to `LToStr'  
25
 C:\Programme\Raisonance\Ride\Examples\Primer2/OSM4Primer2.c:1595: undefined reference to `LToStr'  
26
 C:\Programme\Raisonance\Ride\Examples\Primer2/OSM4Primer2.c:1597: undefined reference to `LToStr'  
27
 C:\Programme\Raisonance\Ride\Examples\Primer2\objdebug\OSM4Primer2.o: In function `MenuHandler':  
28
 C:\Programme\Raisonance\Ride\Examples\Primer2/OSM4Primer2.c:827: undefined reference to `LToStr'  
29
 C:\Programme\Raisonance\Ride\Examples\Primer2\objdebug\OSM4Primer2.o: In function `FToStr':  
30
 C:\Programme\Raisonance\Ride\Examples\Primer2/OSM4Primer2.c:1537: undefined reference to `LToStr'  
31
 C:\Programme\Raisonance\Ride\Examples\Primer2\objdebug\OSM4Primer2.o:C:\Programme\Raisonance\Ride\Examples\Primer2/OSM4Primer2.c:1540: more undefined references to `LToStr' follow  
32
 collect2: ld returned 1 exit status  
33
  
34
Build failed

Hast Du eine Idee?
Danke!
OP #1308858
Lesenswert?

Hallo Thomas,

die warnigs kannst du ignorieren.

in Zeile 1544 vom OSM4Primer2.c darf es nicht heissen:

char * ltostr(char * strptr, unsigned long val, char pad)

sondern es muss heissen:

char * LToStr(char * strptr, unsigned long val, char pad)

(hab´ich bei meiner letzten Sourcecodeaufräumaktion wohl übersehen)


@Olli
solange der Contest noch läuft kann ich dir das mit den Lizenzen noch 
nicht sagen. Ich plane aber die Software unter eine GPL zu setzen.
#1317021
Lesenswert?

Hallo Dieter,

Danke der Nachfrage. Ich möchte es mal so formulieren: In kleinen 
Schritten.

 Einerseits habe ich noch keinen vollständig umsetzbaren Plan für die 
Hardware, da mir SMD-Löterfahrungen fehlen, aber schon ein schönes 
Sample von Maxim (MAX1759, Buck/Boost Regulating Charge Pump, spacing: 
0,5 mm!) zur Verfügung steht. Auch erwarte ich noch einen 
Ersatz-GPS-Empfänger. Evtl. muss für Stromversorgung etc. erst mal ein 
diskrete Lösung her (wäre aber schade um die Samples).

Andererseits würde ich sehr gerne die Programmierprinzipien für STM32 
(RM0008.pdf u.a.) und Circle-OS deutlich besser verstehen (u.a. eine 
Anregung von Dir ;-)), um dabei etwas mehr zu lernen. Die Fehler z.B. 
beim Build haben mir schon geholfen.
Die verfügbare Zeit ist nebenbei auch ziemlich begrenzt, es gibt einfach 
zu viele Baustellen ...

Welche Minimal-Map-Dateien wären denn bei Deiner Lösung erforderlich, 
falls man den Demo-Mode aktiviert? (Ich habe es noch nicht geschafft, 
den Zusammenhang zwischen den Geo-Koordinaten (im .ini-File) und den 
Tile-Nummern lt. OSM herzustellen.)

Ich drücke Dir übrigens die Daumen für den Contest!
Gast #1317061
Lesenswert?

Etwas OT zur Projektseite: Mit Evince 2.22.3 ist ebenfalls nur eine 
leere Seite zu sehen. Schau mal nach dem CSS, Problem müsste Zeile 286 
sein (secondwrapper, overflow: hidden;). Außerdem ist auf howto->map ein 
Typo ("can not directly diaplay").
OP #1317314
Lesenswert?

@adlerweb
Irgendwie verstehe ich da was falsch? Evince ist doch ein Viewer für 
Dokumente und kein Browser oder?

@Thomas
Die Umrechnung von Geokoordinaten auf Tilenummern findest du hier:
http://wiki.openstreetmap.org/wiki/Slippy_map_tilenames

Die Umrechnung von Koordinaten auf Tilenummern brauchst du aber nicht 
vorzunehmen. Finde die Koordinaten deines Standortes 
heraus.(google-earth,informationfreeway.org etc). Die weitere 
Vorgehensweise habe ich hier
http://www.amatronica.de/maps.html nochmal beschrieben.

Tips zum SMD-Löten findest unter den Artikeln hier auf der Webseite.
#1366450
Lesenswert?

Soweit ich weiss sind alle Beitraege zum Wettbewerb in STM32circle zum 
anschliessenden Gebrauch freigegeben.

Kannst Du das bestaetigen Dieter?

Der Primer2 ist schon cool aber Dein Projekt ist noch um einiges cooler 
:-)
Von Beitraegen wie dem Deinen leben solche Wettbewerbe und da ist es nur 
gerecht, dass auch etwas zurueckkommt. Herzlichen GLueckwunsch!!

Robert
OP #1366822
Lesenswert?

Hallo Robert,

danke für die Blumen;-)

>Soweit ich weiss sind alle Beitraege zum Wettbewerb in STM32circle zum
>anschliessenden Gebrauch freigegeben.

Ja schon, aber das ändert nichts an dem Urheberrecht des Autors. Ich 
möchte meine Software als OpenSource lizensieren, weiss aber derzeit 
noch nicht ob durch die Teilnahme am Wettbewerb irgendwelche Rechte an 
der Software auf die Firma Raissonance übergegangen sind. Daher warte 
ich noch auf ein expliztes GO seitens Raissonance.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren