x

Osmuino - Ein OpenSource GPS-Tracker auf Arduino-Basis


Geschrieben von AlphaRay (Gast) am 30. September 2016 12:01:56: [flux]

Ich bin gerade dabei einen Tracker auf Arduino-Basis zu entwickeln. Hauptgründe sind SD-Kartenfähigkeit, Displayanzeige und Akkulaufzeit. Mein bisher schönster Logger war der WSG-1000, was ich hier versuche ein wenig nachzuempfinden.

Der Name ist noch nicht endgültig - mit OSM hats nicht direkt was zu tun, wobei ich aber ein paar zusätzliche Tasten für's Logging (POI & Co.) eingeplant habe und die maximale Aktualisierungsrate der GPS-Koordinaten bei mind. 5 Hz liegen wird.

Der Quellcode und der Aufbau sollen frei zur Verfügung gestellt werden, dass es jeder nachbauen und modifizieren kann. Nur einen Lötkolben sollte man besitzen, um ein paar Drähte anzulöten 😉

Mein größeres Projekt ist "Mapduino", welches noch ein OLED/TFT Display ab 1,8" zur Kartenanzeige beinhalten wird. Es ist geplant, dass Osmduino auf den Mapduino aufgesteckt wird. Oben die Anzeige der Koordinaten, Geschwindigkeit, Einstellungen usw. und darunter eine Kartenanzeige auf einem 1,8" bis 4..5" Display mit oder ohne Touch.

Weshalb ich das jetzt schon während der Entwicklung poste: ich hätte gerne Vorschläge von euch, was nötig wäre anzuzeigen. Was wäre Sinnvoll auf dem kleinen Display des Loggers beim Einschalten dessen (irgendein Knopf drücken -> Display geht für x Sekunden an), was auf den Folgedisplays beim durchzappen. Was wären nötige Funktionen? Z.B. Fahrradtacho-Modus mit dauerhafter Geschwindigkeitsanzeige, Schrittzählerfunktion uswusw.


Grobe Übersicht geplante Hardware:
- Arduino Nano oder Pro Mini Microcontroller-Board (6-10 €; < 4x2 cm)
https://www.arduino.cc/en/Main/ArduinoBoardNano
https://www.arduino.cc/en/Main/ArduinoBoardProMini
- 1,3" Monochrom-OLED Display mit 128x32 pixeln (10 €)
- u-Blox NEO 6M (bis 5 Hz Akt.Rate, 15-25 €), 7M (20-40 €) oder M8N (bis 15 Hz, 30-60 €) GPS Receiver
- 3-achsen Beschleunigungssenor mit 3-achsen Gyroskop (5-10 €)
- MicroSD oder SD-Slot (2-6 €)
- Barometer für genaue Höhe (BM180 um 3-8 €, BM280 10-15 €, xxx). Enthält auch Thermometer
- Temperatur/Hygrometer Sensor (8-12 €)
- Helligkeit (einfach nur die realitive Helligkeit <2 € mit LDR-Sensor oder Absolute in LUX um 10-15 €)
- Buzzer/Mini-Lautsprecher für Warn-/Infosignale (0,5-3 €). Theoretisch wiedergabe von kleinen WAV-Files möglich und angedacht. Dadurch weniger nervige Töne statt gepiepse dadurch möglich
- Taster (3 - 5 Stück zu 0,5-1,5 €)
- Schalter zum Einschalten des Geräts (1-3 €)
- unterschiedliche Akkutypen sollen unterstützt werden (3xNiMh, LiIon, LiPo, usw.). Theoretisch auch der Betrieb direkt über Mini-USB Buchse an z.B. einer PowerBank möglich.
- Gehäuse (xx €...von kleiner Tupperdose bis Selbstbau alles möglich)


Die ganzen Sensoren sind optional - soll nur GPS aufgezeichnet werden, so nimmt man nur das GPS-Modul. Möchte man eine genaue Höhe haben, dann nimmt man einen Barometersensor. Ich baue schon mehrere Sensortypen in die Software ein, welche ich schon mehrfach da habe. z.B. drei Verschiedene Typen von Beschleunigersensoren oder drei unterschiedliche Helligkeitssensoren. Die Software soll dann auch nach und nach durch andere erweitert und an andere Displays und Sensoren angepasst werden.

Die Grundkosten für den reinen Logger belaufen sich hier auf etwa 50-60 € inkl. Display, Baro-Thermometer, SD-Kartenslot, Taster, Schalter und Lautsprecher.


Grobe Übersicht geplante Software:
- Aufnahme und Anzeige von GPS-Daten (Position, Geschwindigkeit, Richtung, usw.)
- Anzeige freier Speicher SD-Karte, aufgenommene Anzahl Punkte, freier Speicher in % (oder Punkten)
- Anzeige Akkustand. Dies ist sogar in 1% Schritten ziemlich genau möglich. Einstellbare Warnschwellen. Erhöhte Sparmaßnahmen einstellbar, wenn Akkustand unter einem bestimmten Wert fällt.
- Anzeige Druck, Temperatur und Höhe des Barometers. Zwei zusätzliche Temperatursensoren sind vorgesehen und können mit GPS-Koordinaten abgespeichert werden.
- Abstimmung zwischen Beschleunigersensor und GPS-Koordinaten bzgl. Stillstand. D.h. durch den Beschleunigersensor soll erfasst werden ob GPS-Koordinaten überhaupt gespeichert werden. Somit werden Sprunghafte Änderungen ignoriert. Beim loslaufen/fahren können die ersten Meter ggf. sogar über den Beschleunigersensor ermittelt und geloggt werden, bevor auf die Koordianten des GPS-Moduls zugegriffen wird
- Einstellbarer Logging-Typ. Fußgänger -> Erfassung von Schritten wäre möglich. Bzw. darüber könnte Pause/Ganggeschwindigkeit und Entfernung ermittelt werden. Seltenes wegschreiben von Koordinaten als per Fahrrad oder Auto. Halt die typischen Logger-Settings 🙂


Der u-Blox Logger ist via USB-TTL Konverter (5 €) über deren Software einstellbar. Dort kann man die Abfragehäufigkeit und auch Energiesparmaßnahmen einstellen. Ob und wie es über den Microcontroller geht weiß ich noch nicht. Theoretisch muss es möglich sein, da es über die serielle Schnittstelle läuft.

Der Stromverbrauch des NEO 6M liegt im Durschnitt bei 8-10 mA, wenn dieser jede 10 Sekunden wach gehen soll und nach einem erfolgreichen Fix die Datensätze schickt (dazu gibt es ein Powermanagement PDF von u-Blox, wo die Verbräuche getestet wurden). Der Arduino wird die meiste Zeit schlafen gelegt, wodurch sein verbaruch kaum meßbar wird (im Schlaf im Microampere Bereich). Das ganze kann also auf durchschnittlich 10 mA gebraucht werden = 100 Stunden Laufzeit je 1000 mA (wären dann bis zu 60h mit dem standard 600 mA Nokia-Akku der BT747 Logger). Mit einem 18650 LiIon 3000 mAh Akku (5-10 €) hätte man somit eine Laufzeit von 250-300 Stunden.

Die Stromverbräuche werden ich selber messen um optimale Bedingungen für den Stadardbetrieb zu gewährleisten. Standardmäßig schickt der NEO 6M ein mal pro Sekunde die Datensätze. Hier dürfte der Stromverbrauch eher beim doppelten bis dreifachen liegen.

Soweit erstmal die groben Details. Werde die Tage mal ein paar Fotos posten, dass man sich das ganze physisch vorstellen kann 🙂 Was meint ihr dazu bzw. hättet ihr schon spezielle Ideen?

Gruß
Paul


Antworten: