Forum: Mikrocontroller und Digitale Elektronik ESP32 als BLE GPS für Android Handy?


von Yves E. (Gast)


Lesenswert?

Hallo!

Ich habe kürzlich einen GPS Tracker mit LoRa Funk für meinen Hund 
gebaut. Soweit so gut, alles funktioniert. Das einzige was ich jetzt 
noch benötige ist eine praktikable Möglichkeit um die NMEA Daten auf 
mein Handy zu bekommen.
Als Lösung kam mir die Idee einen ESP32 zu nutzen, welcher die Daten vom 
Tracker empfängt und per Bluetooth ans Handy weitergibt, allerdings weiß 
ich nicht so recht, wo ich hier anfangen soll.
Das Telefon muss den ESP als GPS Empfänger erkennen, leider konnte ich 
keine genauen Infos zu Protokollen und ähnlichem finden. Gibt es 
vielleicht schon ein ähnliches Projekt? Ich kann mir irgendwie nicht 
vorstellen, dass noch keiner Versucht hat den ESP32 mit einem GPS Modul 
als Empfänger zu nutzen^^

von Base64 U. (6964fcd710b8d77)


Lesenswert?

Der ESP32 zieht hald 95-130mA wenn das BLE Modem aktiv ist. Also schau 
mal ob du mit dem Strom zurecht kommst.

https://www.espressif.com/sites/default/files/documentation/esp32_datasheet_en.pdf
Table 15

Ansonsten sollts eine Möglichkeit geben serial over bluetooth zu machen. 
Gibt vielleicht auch schon ein paar open source apps da

von Yves E. (Gast)


Lesenswert?

Der Strom ist hier kein Problem, da ich ja in dem Teil nen ausreichend 
großen Akku verbauen kann. So stromsparend wie möglich muss nur der GPS 
Tracker sein.

Base64 U. schrieb:
> Ansonsten sollts eine Möglichkeit geben serial over bluetooth zu machen.
> Gibt vielleicht auch schon ein paar open source apps da

Ja genau das ist die Frage, ich suche schon seit geraumer Zeit nach 
sowas, bisher leider ohne Erfolg.



EDIT: Also wenn es stimmt, was der Typ hier schreibt, dann bräuchte man 
wohl nichtmal einen ESP dazwischen...
https://www.miataturbo.net/race-prep-75/sub-%2450-10hz-gps-receiver-82941/
https://www.thingiverse.com/thing:698168

Ich brauche den natürlich schon, da ich ja die LoRa Funkstrecke 
dazwischen hab.

von Philipp K. (philipp_k59)


Lesenswert?

Vielleicht mal den nrf52832 anschauen..

von Stefan F. (Gast)


Lesenswert?

Yves E. schrieb:
> Der Strom ist hier kein Problem, da ich ja in dem Teil nen ausreichend
> großen Akku verbauen kann. So stromsparend wie möglich muss nur der GPS
> Tracker sein.

Verstehe ich nicht. Der GPS Tracker samt Bluetooth Sender ist das das, 
was mit dem Akku versorgt wird. Kann der jetzt beliebig passend groß 
sein, oder musst du dort Strom sparen?

> Ich brauche den natürlich schon, da ich ja die LoRa
> Funkstrecke dazwischen hab.

Willst etwa zwei Funkstrecken in Reihe schalten?

Mobiler GPS Empfänger -> Lora Sender -> Lora Empfänger -> Bluetooth 
Sender -> Smartphone

Ich finde diesen Ansatz sehr seltsam. Warum nicht direkt den GPS 
Empfänger an den Bluetooth Sender anschließen? Dafür gäbe es sogar 
fertige Module die man nicht einmal programmieren muss!

von Yves E. (Gast)


Lesenswert?

Stefan ⛄ F. schrieb:
> Willst etwa zwei Funkstrecken in Reihe schalten?
>
> Mobiler GPS Empfänger -> Lora Sender -> Lora Empfänger -> Bluetooth
> Sender -> Smartphone
>
> Ich finde diesen Ansatz sehr seltsam. Warum nicht direkt den GPS
> Empfänger an den Bluetooth Sender anschließen? Dafür gäbe es sogar
> fertige Module die man nicht einmal programmieren muss!

Was soll daran seltsam sein? Bluetooth hat keine Kilometer Reichweite, 
wie soll das funktionieren?
Für den Tracker kommt nur LoRa in Frage, GSM ist bei der Netzabdeckung 
für den Anus.

Man könnte das Ganze vielleicht auch ohne Bluetooth lösen, insofern das 
Handy mit OTG USB mit einem per USB ansgeschlossenem LoRa Empfänger 
klarkommt.
Klingt aber auch nicht einfacher.

Philipp K. schrieb:
> Vielleicht mal den nrf52832 anschauen..

Welchen konkreten Vorteil bringt der mir? Der ist teurer als der ESP und 
kann auch nicht mehr.
Meine ursprüngliche Frage dreht sich nicht um Hardware, die hab ich 
schon.

von Philipp K. (philipp_k59)


Lesenswert?

Yves E. schrieb:
> dass noch keiner Versucht hat den ESP32 mit einem GPS Modul
> als Empfänger zu nutzen^^

Umgesetzt in Arduino oder IDF?

Was jetzt, den ESP32 als Lora Empfänger NMEA Daten sammeln lassen und 
per Handy abholen? Dazu muss der nicht als Tracker erkannt werden. Oder 
etwa den  Hund "LIVE" über Lora Daten auf dem Handy verfolgen?

Da beibt ja nur Bluetooth oder Wlan als Webseite mit eingebettetem 
Javascript.

Das mit dem NRF52 war nur eine Idee um Strom zu sparen,den kann man auch 
über Arduino programmieren (nicht ganz Standard) z.B. 
https://www.ebay.de/itm/223649511682 wäre da auch ein Idee. Gibts auch 
fertig als Arduino Boards mit anderen Controllern. Der wird aber in 
vielen Smartwatches verwendet.

von Yves E. (Gast)


Lesenswert?

Philipp K. schrieb:
> Umgesetzt in Arduino oder IDF?
>
> Was jetzt, den ESP32 als Lora Empfänger NMEA Daten sammeln lassen und
> per Handy abholen? Dazu muss der nicht als Tracker erkannt werden. Oder
> etwa den  Hund "LIVE" über Lora Daten auf dem Handy verfolgen?

In dem Falle würde ich das ganze per Arduino machen, da meiner 
bisherigen Erfahrung nach das Arbeiten mit der Espressif SDK richtig 
scheiße sein kann.
Die Projektgröße ist ja relativ überschaubar.


Genau, der Hund bekommt einen Tracker ans Halsband, welcher über das 
Neo-M8 GPS Modul verfügt und einen LoRa Sender welcher die NMEA Daten 
überträgt.
Das ganze soll dann mit einem LoRa Empfänger verbunden sein, den ich bei 
mir trage.
Den ESP32 wollte ich dafür nehmen, da ich den sowieso schon da habe und 
der Bluetooth hat. Ich dachte mir, das bietet sich dann an.
Die Laufzeit des Trackers ist, bei aktivem Live Tracking, ohnehin 
beschränkt auf ca. 2-3h. Insofern komme ich bei dem Empfänger mit ESP 
ganz gut mit nem 18650 Li-Ion Akku hin. Der läuft ja nur, wenn der Hund 
sich mal wieder erschrocken hat und das Weite gesucht hat.

Im Prinzip könnte man auch einfach die Koordinaten von einem Display 
abtippen und aufm Handy eingeben, aber wenn sich das ganze auch per 
Bluetooth umsetzen lässt, wär's natürlich bequemer.
Was ich dem Beitrag, den ich oben gepostet hatte, entnommen habe ist, 
dass GPS Module offenbar per Bluetooth Serial von Handys genutzt werden 
können. Wenn das wirklich so ist, sollte die Lösung hier garnicht so 
schwierig sein, ich habe bereits einen Codeschnipsel gefunden indem 
demonstriert wird, wie der ESP als Bluetooth Serial Device genutzt 
werden kann.

von Yves E. (Gast)


Lesenswert?

Ok, ich habe mir meine Frage nun selbst beantwortet.
Hab das Standardbeispiel von TinyGPS++ modifiziert und gerade folgendes 
getestet:

ESP32 mit GPS Modul verbunden, per BT Serial mit meinem Handy verbunden 
und mit der App "Bluetooth GPS" kann das Telefon die ankommenden Daten 
interpretieren und auch an andere Apps weitergeben wenn man das in den 
Entwickleroptionen freischaltet.
Wow, ich hätte nicht gedacht, dass es so einfach geht^^
Jetzt muss das ganze nur noch per LoRa übertragen werden, aber das werd 
ich wohl auch noch hinbekommen.

von Andi L. (andili)


Lesenswert?

Yves E. schrieb:
> per Bluetooth ans Handy

Je nachdem, ob dir App oder Website programmieren leichter fällt, aber 
ich würde am ESP einen WLAN AP erstellen und Daten per Webserver 
downloaden/anzeigen. Damit ist das ganze auch gleich Crossplattform 
tauglich.

Edit: Hatte nicht alles gelesen. Da lag ich wohl bisschen neben der 
Fragestellung...

: Bearbeitet durch User
von Tom G. (Gast)


Lesenswert?

Yves E. schrieb:
> ESP32 mit GPS Modul verbunden, per BT Serial mit meinem Handy verbunden

Das ist dann aber kein BLE mehr, oder?

BLE hat doch für fast alles Profile definiert..

von Yves E. (Gast)


Lesenswert?

Tom G. schrieb:
> Yves E. schrieb:
>> ESP32 mit GPS Modul verbunden, per BT Serial mit meinem Handy verbunden
>
> Das ist dann aber kein BLE mehr, oder?
>
> BLE hat doch für fast alles Profile definiert..

Ne, das stimmt, es handelt sich hier um "klassisches" BT.
Für den Anfang soll das aber genügen. Zur Verbesserung werde ich mich 
später mal mit BLE auseinandersetzen.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.