PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Mikrocontroller mit puck.js



Jonathan Boerster
08.05.2017, 00:04
Hallo,
mein Name ist Jonathan und kenne mich leider kaum mit microcontroler aus. Ich bräucht aber einen der genau die unten genannten Anforderungen erfüllt, möchte keine genaue Anleitung oder ein fertiges Produkt sonder nur gerne wissen welche Module ich verwenden könnte um es so umtusetzten. Als Grundbaustein hab ich an einen puck.js gedacht. Hier sagt mir die Bauform, der einzelne Knopf und die Übertragung über Bluetooth schon sehr zu und vereint somit schon viele meiner Anforderungen.
Am meisten Kopfzerbrechen bereitet mir die Entfernungsmessung.

Habe mich auch gefragt ob man über die Signalstärke eines Bluetooth-signales auf die ungefähre Entfernung schätzen kann.

Anforderungen:
-Abstandamessung zum anderen "gleichartigen" Microkontroler messen (max 3 m Toleranz) maximaler Abstand der gemessen werden muss sind 40 m
-Es muss die Möglichkeit bestehen einen Siganlton abzugeben
taster, schalter oder ähnliches ( ein schalter mit I/O würde langen, funktionen mit "doppelklick" oder "lange halten" wäre besser)
-programierbar für schleifen, timer Ect.
-geräte müssen miteinander auf mindestens 50m komunizieren und daten austauschen, bzw das andere Gerät steuern können. (auf LED s oder Signalton des anden Gerätes zugreifen)
-Die Akku- / Batterielaufzeit muss länger wie 3 Tage a 20h betragen


*Funktionsprinzip:

2 geräte verbinden sich sorfort wenn sie sich in Reichweite sind und messen ab ca. 40m ständig den Abstand zueinander. Bei einem Tastendruck auf einen der beiden Geräten soll auf den anderen Gerät ein Signalton ertönen, wenn sich dieses unter einer Distanz von 25 m zum anderen Gerät befindet. Zudem soll ein 10 sek. Timer gestartet werden. Befindet es sich nach 10 sek immernoch unter 25 m soll es einen weiteren Signalton geben. War es beim Tastendruck nicht unter 25 m soll das durch LED s auf dem Gerät angezeigt werden auf dem gedrückt wurde. Es soll in alle Richtungen gehen auf beiden soll der siganlton ertönen wenn auf den jeweils anderen gedrückt wird.
Es ist kein Muss aber es wäre schön wenn das ganze dann auch mit 3 oder mehr Teilnehmern funktioniert. Bei alllen Geräten im Umkreis unter 30m soll dann der signalton ertönt oder nur beim jeweils nächstgelegenen.

der Preis sollte 200€ pro Gerät nicht überschreiten.

Im voraus vielen Dank
Gruß Jonathan

i_make_it
08.05.2017, 00:20
Hallo,

da ich jetzt in Bett will werde ich nichts erklären,
aber gib mal im Suchfeld des Forums (oben rechts) "signalstärke entfernung" ein.
Da kommen dan jede Menge Threads bei denen es darum geht und warum das nicht funktioniert.
Du kannst auch enfach mal ein Handy anrufen, es dann in die Mikrowelle legen (ohne diese einzuschalten) und dann noch mal anrufen.
Am besten geht das bei einer Mikrowelle aber mit 2,4GHz Geräten.
Das Beispiel zeigt einfach wie bei gleicher Entfernung die abschirmende Wirkung eines Objektes zwei total unterschiedliche Signalstärken zur Folge hat.

Peter(TOO)
08.05.2017, 00:56
Hallo Jonathan,

Das mit der Taste, blinken und tuten ist von der Programmlogik her, kein Problem.

Bluetooth kannst du schon einmal vergessen. Normales Bluetooth funktioniert nur im Bereich von ein paar Metern.

Die Distanzmessung über die Signalstärke funktioniert auch nur, wenn du genau weisst, was sich alles zwischen den beiden Geräten befindet. Du wirst im Wald eine ganz andere Distanz berechnen als auf freiem Feld und wenn da eine Betonwand mit genug Eisen dazwischen ist, hast du gar keinen Empfang.
40m bekommst du auf freiem Feld mir WLAN hin, aber wie jeder weiss kann es schon Probleme geben vernünftigen Empfang im Stockwerk über dir hin zu bekommen.

Für die Funkverbindung müsste man also zuerst noch mehr über die Umgebung in welcher die Geräte verwendet werden sollen, wissen.

Die Entfernungsmessung wird vermutlich nur über GPS möglich sein. Für eine absolute Messung der Positionen ist GPS aber zu ungenau. Allerdings müsste es über eine Art Differential-GPS funktionieren: Jedes Gerät sendet seine aktuellen GPS-Daten über die Funkverbindung. Der Empfänger vergleicht dann die Empfangene Position mit der aktuell selber gemessenen. Da der absolute Fehler bei beiden Geräten gleich ist, funktioniert dann aber die Differenz-Berechnung der beiden Werte trotzdem sehr genau.

Allerdings funktioniert GPS in Gebäuden oft nicht!

Ich vermute deine Anwendung geht in Richtung Spiel, so in der Art wie Paintball?

MfG Peter(TOO)

Jonathan Boerster
08.05.2017, 11:10
danke für die schnelle Antwort.

Das klingt jetzt alles nicht so vielversprechend...

das neuere Bluetooth 5.0 hat mir irgendwie Hoffnung gemacht, dort wird mit einer Reichweite von 80 m geworben, das das optimalwerte sind ist mir klar aber das die Realität nicht über 20m kommt ist unpraktisch.

Auch das mit der Abstandsmessung hab ich mir das schon fast gedacht. Aber kenn mich zu wenig mit der Materie aus um alle Möglichkeiten einzubeziehen.

Es sind bis jetzt nur überlegungen aber wäre es nicht möglich mit irgendeiner Art "Strahlung" oder "wellenlängen" zu arbeiten die verschiedene Distanzen zurücklegen. Und somit drei kreisfelder um sich zu erzeugen das erste bei ca 10 m das zweite bei 20m.

mir geht es in erster Linie nicht um eine genaue abstandsmessung, daswäre das optimale. Mir würde es in erster linie Reichen wenn beide Geräte zur gleichen zeit aufeinen gleichen Abstand zueinender kommen und wenn der unter einem grenzwert von 20 +- 5m kommt etwas damit ausgelöst wird.

ja du hast Recht es soll eine Erweiterung eines Outdoor Spieles werden. Es wird immer im wald gespielt. ohne Betonwände oder Lichtungen.

Ceos
08.05.2017, 11:31
20m ist nicht viel und das aufbauen der verbindung dauert auch einen moment, je nachdem wie "schnell" das spiel abgeht wird das wahrscheinlich kaum reichen ...
stell doch besser mal ein paar detaisl zu spiel vor dann lässt sich auch besser zur verwendbaren technik beraten

mir schwirrt im moment eher vor ein ESP Modul mit einem GPS Modul zu verbinden und eine permanente WLAN AdHoc Verbindung offen zu halten und dann die GPS koordinaten für die abstandsrechnung zu verwenden

i_make_it
08.05.2017, 12:11
Je nach Wellenlänge ist Wasser auch eine Funksenke und dämpft den Empfang.
Sofern Outdoor also nicht Trockenwüste heist sondern mehr oder weniger dichte Vegitation, braucht es gar keinen Beton sondern Baumstämme und Blätter können auch eine Dämpfung verursachen.
Je kleiner dabei die Antennenleistung ist, um so größer wirkt sich eine Dämpfung aus.

Da man bei bekanntem Abstand und Position von Sender und Empfänger über die Signaldämpfung durchaus auf die Beschaffenheit des Raums dazwichen schließen kann. (Dämpfungsprofil über das spektrum) ist es nicht möglich bei unbekannter Dämpfung die Entfernung rein über die Signalstärke zu ermitteln.
Mit Richtantennen kann man den Seiten- und Höhenwinkel der Signalquelle ermitteln.
Durch stufenweise Verringern der Verstärkung auch ziemlich genau, aber anders wie bei Sonden (Metallsuchgeräte) die magnetisch und im Nahfeld arbeiten, kann man mit Funk im Fernfeld keine Enfernung übr die Dämpfung ermitteln wenn die Dämpfung des Raumes (und sich darin befindender Objekte) zum Zeitpunkt der Messung nicht bekannt ist.
In der Funkortung werden deshalb auch Laufzeitmessungen genutzt.
Wenn jedes Gerät also Sender und Empfänger ist, kann man die Entfernung feststellen.

A Sendet ein Signal, startet einen (sehr schnellen) Timer und wartet auf eine Antwort.
B empfängt das Signal von A und sendet eine Antwort.
A Empfängt die Antwort von B, stoppt den Timer, zieht die Laufzeitverzögerung die bei der Verarbeitung in B stattfand ab (dafür muß diese ermittel werden und in A gespeichert sein) teilt das Ergebniss dann noch durch 2 und fertig.

Soweit ganz gut, dummerweise breiten sich Funkwellen in der Atmosphäre immer noch mit nahezu Lichtgeschwindigkeit aus.
Für 20m ist ca. der 15 millionste Teil einer Sekunde nötig.
Das wird dann ein recht sportliches unterfangen das auszuwerten.
Man könnte noch mit Interferenz eines FM-Signals arbeiten, wenn der Empfänger einfach Analog das Signal aufnimmt, das Nutzsignal vom Träger auf eine andere Trägerfrequenz modeliert, verstärkt, und wieder abstrahlt.
Am Sender könnte man dann mit einem Ringmischer Sendesignal und Empfangssignal mischen (die beiden aufmodulierten Signale mit gleicher Frequenz nicht die Träger) und über die Phasenverschiebung im Verhältniss zur Wellenlänge die Gesamtlaufzeit ermitteln.
Auch hier muß dann die Durchlaufverzögerung in B abgezogen werden und der rest durch 2 geteilt.
Nachteil bei dieser Methode ist, das bei einem Abstand x und einem Abstand x+n mal Wellenlenge jeweils die selbe Phasenverschiebung rauskommt.
Bei einer Annäherung von A an B könnte man also das Ergebniss 0 bekommen obwohl man noch das nfache der Wellenlänge entfernt ist.

Übrigens ein Uhrenabgleich mit einem DCF Signal ist auch keine Lösung, da sich das DCF Signal ja auch als Funk ausbreitet und somit genauso Schnell ist wie das zu messende Signal. Der Unterschied der Uhren von A und B hängt dann nur davon ab wie ihre Entfernung vom DCF Sender ist.
Liegen beide genau auf der selben Kugelschale bekommt man ein exaktes Ergebniss, sind sie Radial auf einer Linie bekommt man null oder den doppelten Wert. Also zwichen null und der doppletne Entfernung liegt die Fehlerspanne für alle möglichen Anordnungen von A, B und dem DCF Sender.

Man merkt also Funkortung ist nicht ganz trivial wenn Es um die Entferungsmessung geht (und dabei um kleine Entfernungen).

Jonathan Boerster
08.05.2017, 18:56
"stell doch besser mal ein paar Details zu spiel vor dann lässt sich auch besser zur verwendbaren Technik beraten"

@ Ceos
Funktionsweise haben ich oben beschrieben, das ganze findet Nachts statt und wird einfach gesagt wie Verfangen gespielt, nur das jeder Sucher und Fänger zugleich ist. Ich möchte aber gerne eine Entfernung einstellen in der man sich gegenseitig "Abklatschen" kann und deshalb muss ich irgendwie die Entfernung messen. (Einstellbar zwischen 10 bis 40 m ist meine Vorstellung) Der Tastendruck soll das Abklatschen darstellen.


"Man könnte noch mit Interferenz eines FM-Signals arbeiten, wenn der Empfänger einfach Analog das Signal aufnimmt, das Nutzsignal vom Träger auf eine andere Trägerfrequenz modeliert, verstärkt, und wieder abstrahlt."

@ i_make_it
Angenommen ich würde es so machen, was wären so meine Eckdaten ( Reichweite, Akkulaufzeit, Anschaffungskosten, Messgenauigkeit)

Ceos
08.05.2017, 19:52
ehrlich gesagt hab ich gerade ein breites grinsen im gesicht, das schreit ja fast nach laser tagging XD einfach ein paar IR receiver und zum taggen halt fokusierte IR dioden so muss man auch noch zielen können
ich bleib dennoch bei meinem vorschlag mit vernetzung und GPS, damit bekommt man denke ich die präzisesten informationen

am besten modulierte sender und empfänger, dann kann man jedem tagger sogar eine ID geben

Jonathan Boerster
08.05.2017, 21:28
Ja das war mein erster plan, aber das gibt Probleme mit dem Waffenrecht als Anscheinwaffe und auch das Problem das ein Blatt das Signal stört finde ich nicht gut. Deshalb bin ich auf die Idee gekommen einfach in einen bestimmten Abstand Gegner "außer Gefecht" zu setzen.

ok das mit dem GPS ist schon mal ein Ansatz aber das geht doch auch nur maximal auf 6 m genau, und wenn beide geräte +- 6 m haben ist es doch auch extrem ungenau. Ich gehe immer davon aus das es Bewölkt ist und im Wald gespielt wird.

könnte man Bluetooth Signalstärke und GPS zusammen verwenden um einen Mittelwert draus zu ziehen?


Kann man damit was anfangen?
https://www.marotronics.de/DWM1000-von-decaWave-fuer-Echtzeit-Ortungssysteme-RTLS-IEEE802154-2011-UWB-kompatibel

Peter(TOO)
08.05.2017, 21:50
[QUOTE=Jonathan Boerster;636700]ok das mit dem GPS ist schon mal ein Ansatz aber das geht doch auch nur maximal auf 6 m genau, und wenn beide geräte +- 6 m haben ist es doch auch extrem ungenau.[QUOTE]
JAIN.
Dies gilt nur für die absolute Positionsbestimmung.

Wenn du zwei GPS-Empfänger nebeneinander legst zeigen die die Position auf 6m genau an, aber beide liegen immer gleich falsch. Zwischen den beiden Empfängern hast du eine Differenz im cm-Bereich.

Wenn du also deine Geräte vernetzt und jedes Gerät eine ID und seine aktuelle GPS-Position sendet, kann jedes Gerät sehr genau berechnen in welchem Abstand sich die anderen Geräte gerade befinden.
Damit kann man 1-2cm Genauigkeit erreichen und in der Höhe 2-3cm.

Das Verfahren ist unter "Differential GPS" zu finden.
Hier verwendet man eine feste Station mit genau bekannter Position, welche ein Korrektur-Signal sendet.

In deinem Fall sind aber nur die Abstände wichtig, es ist egal ob die Geräte glauben sich gerade am Nord- oder Südpol zu befinden.

MfG Peter(TOO)

Jonathan Boerster
09.05.2017, 00:00
na das mit dem gps klingt doch vielversprechend und Deutschland müsste doch eigentlich so gut mit Satelliten abgedeckt sein das man immer einen Empfang hat.

Ist das dritte GPSsignal dringend notwendig oder würde es auch reichen wenn die beiden "Spielgeräte" sich austauschen und den Abstand errechnen.

über welche Schnittstelle tauschen die zwei Geräte ihre GPS Daten untereinander aus?

Peter(TOO)
09.05.2017, 02:28
Welches dritte Signal?

Das mit der Funkschnittstelle ist dann ein anderes Problem.

Jonathan Boerster
09.05.2017, 07:20
"Das Verfahren ist unter "Differential GPS" zu finden.
Hier verwendet man eine feste Station mit genau bekannter Position, welche ein Korrektur-Signal sendet."

das habe ich so verstanden, dass ich ein festes GPS habe das als Referenzpunkt fungiert. Dann noch jeweils ein Gerät das beweglich ist, somit drei Signale, einen festen und zwei variable.

Da komm ich wieder aufs Bluetooth zurück. wäre das leistunfsfähig genug um auf 30m alle wichtigen Informationen zu senden?

i_make_it
09.05.2017, 08:08
Angenommen ich würde es so machen, was wären so meine Eckdaten ( Reichweite, Akkulaufzeit, Anschaffungskosten, Messgenauigkeit)

Dadurch das Du die Frage stellst, kann ich schon sagen zu teuer für Dich.
Einfache FM Transmitter und Receiver gibt es als Bausätze und auch Anleitungen gibt es genug.
Auch ein Ringmischer ist nicht so komplex (mit steigender Anforderung wirds wie so oft halt teuerer).
Nur in Deutschland ist der Selbstbau von Sendeanlagen nur Amateurfunkern erlaubt.
Also etwa 170€ rein für die Prüfung und Lizenz, dann pro Jahr knapp 30€.
Wenn Du dich nicht selbst auf die Prüfung vorbereitst, halt noch Bücher, Kurse etc.
Und die Zeit das alles zu lernen.
https://www.bundesnetzagentur.de/DE/Sachgebiete/Telekommunikation/Unternehmen_Institutionen/Frequenzen/SpezielleAnwendungen/Amateurfunk/amateurfunk_node.html
http://www.dl9hcg.a36.de/loesungenE.html

So bliebe für Dich nur nach erlaubnisfreien, analogen, Sende- und Empfangsmodulen/Bausätzen zu suchen und diese zu benutzen.
Da auch die Bausätze und Module die man nur als Amateurfunker betreiben darf, frei erhältlich sind, muß man da selbst drauf achten ob man das auch betreiben darf was man da kauft.
Im ungünstigsten Fall gilt:
https://www.gesetze-im-internet.de/stgb/__317.html
Kann je nach Gusto auch für den Betrieb von Störsendern herangezogen werden.

Ceos
09.05.2017, 08:46
das teure Marktprodukt "differential GPS" oder kurz dGPS benutzt eine SIM Karte und synchronisiert sich mit Messtationen die für diesen Zweck betrieben werden.

Das was man selber machen kann ist dann das umgrangssprachlich genannte poor-man-dGPS und benutzt einfach eine eigene "Referenzstation", da du mehrere bewegliche Ziele hast und dich die Abstände zwischen den Zielen interessieren, reicht das aus und du brauchst keinen zusätzlichen fixpunkt!

Zur Funktechnik hatten wir erst vor kurzem ein Thema BT vs WLAN wegen Reichweite. Der einfachheit der ESP WLAN Module wegen würde ich aber dringend zu WLAN raten, damit lassen sich auch mit nur wenig Code schnell Meshing Netzwerke aufbauen, bei der man keine Basisstation benötigt.

Mit Bluetooth hingegen könnte man z.B. (sofern von der Hardware unterstützt) dieses neue Beacon Protokoll einsetzen was kein Handshake benötigt und einfach seine Koordinaten Broadcasten

Peter(TOO)
09.05.2017, 10:45
Hallo,

"Das Verfahren ist unter "Differential GPS" zu finden.
Hier verwendet man eine feste Station mit genau bekannter Position, welche ein Korrektur-Signal sendet."

das habe ich so verstanden, dass ich ein festes GPS habe das als Referenzpunkt fungiert. Dann noch jeweils ein Gerät das beweglich ist, somit drei Signale, einen festen und zwei variable.
Die feste Referenzstation brauchst du wenn du die absolute Position bestimmen musst.

GPS für Anfänger:
Jeder Satellit sendet seine Position und die genaue Zeit als das Signal gesendet wurde. Für die Zeit haben die Satelliten Atomuhren an Bord.
Das Signal bewegt sich nun mit etwa Lichtgeschwindigkeit vom Satelliten weg.
Wenn du jetzt auch eine Atomuhr hast, kannst du messen wie lange das Signal vom Satelliten zu dir unterwegs war. Aus der Laufzeit und der bekannten position des Satelliten kannst du dann deinen Abstand zum Satelliten berechnen. Allerdings ergibt dies erst einmal eine Kugel um den Satelliten.
Mit zwei Satelliten ergibt die Durchdringung der beiden Kugeln einen Kreis, auf welchem du dich befinden musst.
Mit 3 Satelliten ergeben sich dann noch zwei Punkte, wobei sich der eine im Weltall befindet und ausgeschlossen werden kann.
Mit mehr als 3 Satelliten wird das Ganze dann genauer.
Wenn man mehrere Satelliten Empfängt kann man sich die eigene Atomuhr einsparen und muss nur die Zeit Differenzen, mit welchen die Signale eintreffen, messen.

Soweit die Theorie!

Praktisch haben auch Atomuhren einen Zeitfehler, die Satellitenbahn stimmt auch nicht wirklich ganz genau und die Zeitmessung beim Empfänger hat auch noch einen Fehler.
Diese Fehler ergeben aber etwa 1cm Positionsfehler.

Das Problem liegt in der Ausbreitung der Funkwellen. Funkwellen sind elektromagnetische Wellen welche durch die Atmosphäre und das Erdmagnetfeld beeinflusst werden. Somit bewegen sie sich nicht auf einer geraden von Satelliten zu dir sondern nehmen noch ein paar kleine Umwege. Auch gilt die Lichtgeschwindigkeit (c) nur im Vacuum. Je dichter das Medium ist, umso langsamer werden die Wellen. In einem Kabel bewegen sich die Wellen nur mit etwa c/3. Die Luft ist auch nicht immer und überall gleich dicht, das merkst man schon am normalen Luftdruck im Wetterbericht.

Das alles zusammen ergibt dann die rund 6m Fehler.

Die Satelliten kreisen in etwa 200-300km Höhe über unseren Köpfen. Nun bringt es aber nichts, wenn 3 Satelliten direkt über dir stehen, die müssen also gut verteilt über dem sichtbaren Himmel verteilt sein, sind also locker 600km von dir entfernt. Da sind 6m doch recht genau.

Wenn man sich irgendwo hin setzt und das GPS-Signal beobachtet, scheint man in einem Umkreis von gut 6m herumzuhüpfen, weil eben jede Messung einen etwas anderen Fehler hat.

Allerdungs zeigen alle Geräte an einem Ort den selben Fehler zur gleichen Zeit.

Nun zum dGPS:
Die Idee dahinter ist, dass man eine Station an einem bekannten Punkt aufstellt. Nun berechnet man dauernd die Abweichung der GPS-Koordinaten von den bekannten Koordinaten des Empfängers und sendet diese Abweichung an mobile Geräte. Diese können dann wiederum ihre Messung entsprechend korrigieren und erhalten so die absolute Position auf 1-2cm genau.

In deinem Fall ist aber die absolute Position nicht wichtig, sondern nur die relativen Abstände. Dazu genügt es die aktuellen GPS-Daten von 2 Empfängern voneinander abzuziehen. Diese Differenz ist dann der Abstand, theoretisch auf 1-2cm genau.
Praktisch solltest du, ohne riesigen Aufwand, den Abstand auf ein paar 10cm bestimmen können.

MfG Peter(TOO)

Jonathan Boerster
09.05.2017, 13:05
Vielen Dank für die ausführliche Erklärung!

Nun sind mir gleich zwei neue fragen in den Kopf gekommen. Kann man einschätzen wie gut das ganze System mit GPS 1. Im Wald und 2. bei schlechten Wetter funktioniert? Mit einer steigenden Ungenauigkeit kann man ja rechnen aber ist sichergestellt das ich in Deutschland immer eine GPS Verbindung herstellen kann? Verbindungsverlusst wäre sehr schlecht.

was kostet den ein geieignetes GPS Modul für mein Vorhaben?

Immer noch sehe ich ein Problem mit der Datenübermittlung zwischen den zwei Geräten.

@Ceos:
Was sind denn so die Reichweiten von WLAN bzw BL. Was ist störanfälliger vorallem im wald? Es sollte störungsfrei auf 30 m funktionieren.
Unterstützt jedes Gerät das für BL 5 konstruiert wurde ein Beacon Protokoll?

Ceos
09.05.2017, 13:18
BT 5 oder 4.2 war der Punkt an dem das Beacon Protokoll kam aber das weis ich nicht genau, müsste man nachschlagen. Wir hatten einen FAE von TI in der Firma der hat das näher erläutert. Es ging dabei um ein Protokoll bei dem sich die Sender jeweils einen Timeframe aussuchen und dann jeder wie beim abzählen in der Klasse früher nacheinander Werte zurufen (für wireless sensor applikationen). Ein Empfänger kann sich dann die Daten sammeln und benutzen. Das müsste meines erachtens nach grundsätzlich auch mit mehreren zuhörenden Teilnehmern gehen.

Aber bei dem Versuch den BLE Stack zu initialiseren ist es dann auch geblieben, ich konnte nicht die Geduld aufbringen mich durch das monster an parametern zu arbeiten die man einrichten muss um so etwas im code aufzusetzen

wlan hat definitiv die bessere reichweite, schlicht schon weil wlan das störfestere protokoll anbietet und es wesentlich einfacherere bibliotheken dafür gibt

zu bedenken ist aber hier das gleiche wie bei normalen BT peering, auch das wlan handshake braucht einen moment, wenn man erstmal die verbindung verloren hat baut sie sich nicht sofort
weider auf

PS um meinem nachredner zu folgen, ich setze GPS hauptsächlich im auto ein und manchmal beim spatzieren in einer fremden stadt, da ist das hauptproblem vor häusern ein signal zu bekommen bzw. mehrwegausbreitung ... wie die Situation im Wald ist kann ich leider nicht sagen, und ein Handy gibt auch keinen Aufschluss, da es i.d.R. Trägheitsnavigation benutzt um bei fehldem Signal zu Navigieren

i_make_it
09.05.2017, 13:34
Ich weis nicht wie es 2017 aussieht, aber 2006/2007 war kein GPS Empfang im Wald, mit kleinen GPS Empfängern für Wanderer und Läufer, noch ein Thema.
Da haben die meisten Geräte versagt.
Grade im Sommer, wenn ein dichtes Blätterdach vorhanden ist, gab es da massive Probleme.
Damals ein Grund, mir keins fürs Wandern zu holen (bin bei Karte und Kompass geblieben).
Aktuelle Daten habe ich nicht.

Jonathan Boerster
09.05.2017, 18:28
Vielen Dank für eure Hilfe ihr seid spitze!

Also um es jetzt zusammenfassend zu sagen, wäre es am besten die Positionierung mit GPS vorzunehmen und die Datenübertragung per WLAN.

Kann man das empfangen des GPS durch größeren externe Antennen verbessern?

Mit welcher Komponente kann man die Datenauswertungen, Berechnungen, das schalten der LED und die ausgabe eines Siganltones vornehmen? (Raspbeery-pi)

Peter(TOO)
09.05.2017, 19:36
Das Rechnen und Steuern ist der Job der RasPi, aber dazu erstellt man ein Programm.

Die LEDs hängt ,man, evtl. mit einer Treiberschaltung an einen freien Port des RasPi. Ein/Aus-Schalten macht man dann mit dem Programm.

Und wenn man einen Signalton will, schlisst man anstatt der LED einen "Krachmacher" an. :-)
Das gibt es vielfältige Möglichkeiten. Es gibt fertige Module (Summer oder Buzzer) die machen Krach wenn man einfach nur eine Spannung anlegt.
Dann gibt es im Prinzip Lautsprecher (meist Piezo) bei welchen man den Ton per Software selbst erzeugen muss. Da kann man dann aber auch eine Melodie abspielen oder sogar Sprache ausgeben.

Ich denke aber, dass du dich in das Ganze erst einmal einarbeiten und programmieren lernen musst.

MfG Peter(TOO)

Ceos
10.05.2017, 07:21
ein raspi ist eventuell ein wenig overengineered an der stelle, ein ESP8266 lässt sich sehr leicht unter arduino programmieren, bringt die notwendigen treiber und libs schon mit und hat genügend IOs um einen Piezo zum piepen zu bringen ... außerdem, wenn einer deiner Freund pfiffig genug ist, steckt er sich einfach ein mini display an den Pi, schreib ein paar zeilen deines programms um und lässt sich die koordinaten der anderen einfach wie ein radar anzeigen XD .... bei einem ESP8266 Modul ist es schon schwieriger ein Display "mal eben" anzuschließen :P

PS: klar kann man mit einer externen Antenne den GPS empfang edutlich verbessern, gleiches gilt für den ESP8266! Der hat eine Micro-SMD Buchse, genau wie die meisten käuflichen Bastler GPS Module

i_make_it
10.05.2017, 07:35
Kann man das empfangen des GPS durch größeren externe Antennen verbessern?


Mehr Antennenfläche bringt auf jeden Fall einen höheren Antennengewinn, Wenn man die Empfangsleistung im mW/cm² nimmt, kommen halt bei mehr cm² am Ende mehr mW raus. und die Wahrscheinlichkeit das sie Antenne nicht zu 100% abgeschattet ist sinkt. Allerdings will man ja nicht mit einer Regenschirm großen Antenne rumlaufen. Die üblichen Antennen für Wanderer und Robotik Projekte (Kaufmodule für Arduino & Co) haben so 3-5cm, im KFZ Bereich so 6-10cm und auf Baustellen meist so 16-20cm.

Jonathan Boerster
15.05.2017, 00:53
ein raspi ist eventuell ein wenig overengineered an der stelle

Ja, mir ist zum Glück noch frühzeitig aufgefallen das ein Raspi zu viel Energie benötigt um es ein Wochenende fast durchgehend zu betreiben.


ein ESP8266 lässt sich sehr leicht unter arduino programmieren, bringt die notwendigen Treiber und libs schon mit und hat genügend IOs um einen Piezo zum piepen zu bringen

Mist das hab ich jetzt einen Tag zu spät gelesen aber naja... Hab jetzt ein Espruino WiFi (https://www.espruino.com/WiFi), ein ESP8266-E12 Modul (http://www.ebay.com/itm/371832773384?_trksid=p2057872.m2749.l2649&ssPageName=STRK%3AMEBIDX%3AIT) und ein box M8N GPS modul (http://www.ebay.com/itm/272499483857?_trksid=p2057872.m2749.l2649&ssPageName=STRK%3AMEBIDX%3AIT) bestellt. Mal sehen ob ich das hin bekomme das sich alle gut verstehen... :confused:


PS: klar kann man mit einer externen Antenne den GPS empfang edutlich verbessern, gleiches gilt für den ESP8266! Der hat eine Micro-SMD Buchse, genau wie die meisten käuflichen Bastler GPS Module


Mehr Antennenfläche bringt auf jeden Fall einen höheren Antennengewinn, Wenn man die Empfangsleistung im mW/cm² nimmt, kommen halt bei mehr cm² am Ende mehr mW raus. und die Wahrscheinlichkeit das sie Antenne nicht zu 100% abgeschattet ist sinkt. Allerdings will man ja nicht mit einer Regenschirm großen Antenne rumlaufen. Die üblichen Antennen für Wanderer und Robotik Projekte (Kaufmodule für Arduino & Co) haben so 3-5cm, im KFZ Bereich so 6-10cm und auf Baustellen meist so 16-20cm.

Ok das klingt auch irgendwie logisch. Bei der UBox hab ich einen externe Antenne zum aufrüsten gefunden aber nicht für ein ESP8266 Modul.
Lässt sich sowas auch selbst bauen?

Habe mich nach der Arbeit mit JS und "Modul-Code" auseinandergesetzt bin aber noch nicht ganz schlau aus der ganzen Sache geworden. Werde mich erstmal mit einfachen Tutorials beschäftigen bevor ich GPS Daten auslese und die über WIFI versende... Bis jetzt sehe ich da aber noch schwarz das ich das in ein paar Monaten zum laufen bekomme. :(

PS: Klingt zwar komisch aber funktionieren elektronische Fußfessel nicht nach einen ähnlichen Prinzip, dort werden die Daten über das Mobilfunknetz gesendet, würde man das ohne monatliche Kosten als Privatperson auch hinbekommen?

Ceos
15.05.2017, 07:49
Bis jetzt sehe ich da aber noch schwarz das ich das in ein paar Monaten zum laufen bekomme
Ne Feundin von mir hat weder studiert noch irgend eine Ausbildung im Bezug aufs programmieren bekommen und kann jetzt PHP und datenbanken besser als ich XD ein paar monate und vor allem mit Arduino sollten für dich machbar sein, du musst dir halt nur fest vornehmen jeden Tag wenigstens 30minuten zu investieren und etwas daran zu arbeiten! ... Etwas was ich schon seit wochen nicht mehr tue und schwer bereue :(

Das Problem ist, dass du für mobiles Internet sog. GSM Module (kann sein dass man es nicht mehr GSM nennt, weil der Funkstandard fast tot ist) dafür brauchst und die sind nun wieder ne gaaaaanze Ecke teuer! Witzigerweise haben die meistens auch schon ein GPS mit drin, aber oft keine externe Antenne

Zur Antenne, such einfach nach eine WLAN Antenne mit mini PCI anschluss oder Adapter

Jonathan Boerster
15.05.2017, 09:55
ok das macht mir Hoffnung. Hast du selbst einen Arduino?

Mhh das mit der Antenne, da hätte ich ja auch selbst drauf kommen können :p

Ceos
15.05.2017, 11:12
ich hab den ESP8266 mit arduino plugin in eclipse programmiert und es gibt sogar ein unterforum hier extra dafür

Jonathan Boerster
15.05.2017, 12:27
soooo... ein Kollege hat mich gerade gefragt warum ich nicht Outdoor Handys kaufe + billigen Vertrag und dasnn eine App programiere. Dann hätte ich WLAN, gps und könnte Daten über das Mobilfunknetz versenden.
was spricht den gegen die Idee?

Ceos
15.05.2017, 12:44
nix direkt, aber app programmierung empfinde ich zumindest gefühlt als schwerer

du solltest allen varianten erstmal eine chance geben um die reaktionszeit und verbindungsqualität/standortgenauigkeit zu evaluieren

kontra mobilfunknetz: du brauchst irgend einen server der die informationen zwischen den geräten vermittelt, p2p über mobilfunk ist eher so ne glücksache, die IPs ändern sich schnell mal eben so und dann musst du erst wieder die IPs zwsichen den teilnehmern aushandeln/konfigurieren

Jonathan Boerster
15.05.2017, 13:07
naja die Module fürs Espruino sind schon bestellt, somit werde ich mich da ausprobieren.

Aber ich fande die Idee mit dem Smartphone nicht schlecht.
Wieder nur eine Überlegung von mir die ich mir gemacht habe ohne Erfahrung auf dem Gebiet zu haben. Kann ich sowas wie eine SMS zwischen zwei geräten senden die die GPS Daten enthält und von einer App verwendet werden kann ohne das diese für Benutzer angezeigt werden. Dann bräuchte ich ja die Handynummer und die ist ja immer gleich. Fachmänner werden jetzt sicher den Kopf schütteln.

Ceos
15.05.2017, 14:08
finde erstmal nen günstigen tarif der endlos SMS erlaubt, du willst ja was in der richtung 1 update pro sekunde erreichen um eine ausreichende reaktionszeit zu haben oder?
alternative lösung wäre dienste von dritten zu benutzen (sowas wie telegram oder irgendeine beliebige andere messenger app) aber da kann ich die reaktionszeiten nur begrenzt einschätzen
eine lösung mit einem seblst gebastelten server zu dem man dann eine verbindung aufbaut und der die opition den anderen mitteilt die angemeldet sind ist da wohl die effizienteste lösung meiner meinung nach

i_make_it
15.05.2017, 14:29
Zur Antenne, such einfach nach eine WLAN Antenne mit mini PCI anschluss oder Adapter


Ziviles GPS hat eine Trägerfrequenz von 1,57542 GHz (Wellenlänge 190,5mm).
Militärisches 1,2276 GHz (Wellenlänge 244,5mm).

Eine WLAN Antenne die für 2,4GHz (Wellenlänge 124,9mm) dimensioniert ist, ist da gelinde gesagt "suboptimal".
Der Antennenverlust ist imens, da erst die fünfte Oberschwingung halbwegs passt (190,5mm/124,9mm=1,525).
Wenn die WLAN Antenne dann auch noch, keine Länge von Lambda sondern Lamda-halbe oder gar Lambda-viertel hat. ist mit einer WLAN Antenne kein Blumentopf mehr zu gewinnen.

Hier mal ein ganz rudimentärer Einstieg zum Thema GPS-Antennen:
http://navi-magazin.de/nmo/wp-content/uploads/2009/08/Grundlagen-GPS-Ant.pdf

In dem Artikel geht es um aktive Patch-Antennen das ist noch mal was anderes wie eine einfache passive Dipol- oder Spulenantenne.

Im folgenden Artikel geht es zwar um was anderes, aber in Kapitel 8 wird kurz auf die Antennen-Typen eingegangen:
http://webarchiv.ethz.ch/geometh-data/downloads/Grimm_BerichtVTBWS0607.pdf

https://de.wikipedia.org/wiki/Wendelantenne
https://de.wikipedia.org/wiki/Kreuzdipol
https://de.wikipedia.org/wiki/Patchantenne

Ceos
15.05.2017, 14:39
okay das war missverständlich ausgedrückt ... fürs WLAN sollte er eine WLAN antenne suchen dun für GPS natürlich eine GPS antenne ... entscheidend war der hinweis auf den mini PCI adapter dabei ... sorry :P

für seine zwecke sollte es für GPS eine einfache helix antenne tun und fürs WLAN der übliche kleine dipol

Jonathan Boerster
15.05.2017, 16:01
ja, da mit dem Antennen haben wir aneinander vorbei geredet...

noch eine Überlegung, kann ich die GPS daten die ich gesammelt habe mit einem "Funk Modul" (Amateurfunk, bzw freier Funk) über 40m versenden. wäre eine 40 Zeichen lange Kette. wenn ja welche Frequenz wäre dafür passend.?

i_make_it
15.05.2017, 17:32
noch eine Überlegung, kann ich die GPS daten die ich gesammelt habe mit einem "Funk Modul" (Amateurfunk, bzw freier Funk) über 40m versenden. wäre eine 40 Zeichen lange Kette. wenn ja welche Frequenz wäre dafür passend.?

Ja kannst Du.
Über ISM-Band Funk.
https://de.wikipedia.org/wiki/ISM-Band
443 MHz ist für SRD (Short Range Devices) und es liegt das 70cm amateurfunkband drüber.
Beim 863Mhz Band liegt LTE800 drüber.

Also besser 443MHz nehmen, obwohl es dort keine neuen Geräte mehr geben soll.
(LTE Nutzer gibt es halt deutlich mehr als Amateurfunker)

Es gibt da aber so gesetzliche Randbedingungen.
Neben der Sendeleistung auch das Tastverhältniss.
Also der prozentuale Anteil an Zeit den Du zum Senden maximal nutzen darfst.
Und dann noch das Du kein Primär- oder ekundärnutzer bist.
Du darfst also Primär- und Sekundärnutzer nicht stören und musst deren Störung dulden. (gilt auf allen ISM-Bändern)
Im Wald und mehrere Hundert Meter oder gar Kilometer abseits von anderen urbanen Funkquellen dürfte der letzte Punkt nicht so problematisch sein.

Aber wegen der möglichen Störungen solltest Du von mehr als 40 Zeichen ausgehen.
Je nach Protokoll must Du dich um Störsicherheit auf Bitebene, auf Byteebene und auf Nachrichtenebene selbst kümmern.
Dein Empfänger (Dein Program) wird im ungünstigsten Fall einfach auf den Empfang einer bestimmten Anzahl von Bytes warten.
Im Idealfall funktioniert das auch.
Bei Störungen können Bits fehlen oder falsch ekannt werden.
Also falscher Wert oder die ersten Bits des nächsten Bytes werden dem unvollständigen zugeschlagen.
In beiden Fällen gibt es Datenmüll.
Da kommen dann so Sachen wie Paritätsbits Start- und Stopbits auf Bittebene und Modulo 11 auf Byteebene ins Spiel.
Auf Nachrichtneeben kommen dan Hashwerte ins Spiel.
Der Empfänger prüft also ob mit Start-, Stop, und Paritätsbits ob die entsprechende Anzahl Bits übertragen wurden und die Richtige Anzahl einzen und nullen.
Bei Doppelbitfehlern hilft dann Modulo 11 um das zu erkennen.
Vor dem Senden der Nachricht einen Hashwert zu Berechnen und diesen an die Nachricht anzuhängen hilft dann, zu prüfen ob die komplette Nachricht fehlerfrei übertragen wurde.
(Es ist ja Funk und da kann neben Kollisionen auch eine Überlagerung stattfinden)
Bsp.:
Sender A und Sender B bewegen sich von Nord nach Süd und Empgänger C von Süd nach Nord.
C empfangt den Anfang einer Nachricht von A und das Ende Einer Nachricht von B.
Rein Zufällig passen Timing und Länge so das alle Bit und Byte Fehler ausgeschlossen werden.
Erst Die Checksumme von B zeigt, das die Nachricht fehlerhaft ist.

Wenn es keinen Master gibt, sondern ein Peering Netzwerk ist, musst Du dich auch noch um CSMA/CD kümmern.
https://de.wikipedia.org/wiki/Carrier_Sense_Multiple_Access/Collision_Detection
Sonst gibt es nur Datenmüll im Äther.

Jonathan Boerster
15.05.2017, 18:33
Ja kannst Du.
Über ISM-Band Funk. 443 MHz ist für SRD (Short Range Devices)

Ok, kann ich der Überlagerung meiner eigenen Geräte schon mal aus dem weg gehen wenn ich ihnen feste Sendezeiten zuordne. Sind ja alle mit GPS verbunden und beziehen die gleiche Zeit.
Alle Sender senden im 3 sec takt.
Sender A um 12:00:00:00
Sender B um 12:00:00:01
Sender C um 12:00:00:02
Sender A um 12:00:00:03
usw.

So jetzt mal wieder meine blöden Fragen dazu:
1. Was ist störanfälliger? (WLAN oder 433 MHz Funk)
2. Reichweite müsste bei beiden ja über 40 m liegen.
3. Wie kompliziert ist es ein gut laufendes Funknetzwerk mit 3 oder mehr Teilnehmer Aufzubauen?
4. Jedes Gerät muss also einen Sender und Empfänger besitzen, wird sonst noch was spezielles benötigt?
5. Würde 3 oder mehr noch fehlerfrei mit einem WLAN-AdHoc Netzwerk laufen?

PS: Für den Anfang langt es mir wenn es nur mit 3 Teilnehmern funktioniert. Es sollte aber zumindest möglich sein das ganze auf mehr als 3 aufzustocken.

i_make_it
15.05.2017, 19:41
Die Frage ist, welche Zeit nimmst Du den?
Jder GPS Empfänger empfängt die Zeit von mindestens 3 verschiedenen Satelliten.
Und im Wald wo es durch die Bäume Abschattungen gibt, müssen das noch nicht mal die selben 3 Satelliten sein.
Die Zeit ist also nicht unbedingt bei allen Geräten die selbe Zeit.
443GHz ist Störanfälliger.

Jonathan Boerster
15.05.2017, 23:35
Die Frage ist, welche Zeit nimmst Du den?
Jder GPS Empfänger empfängt die Zeit von mindestens 3 verschiedenen Satelliten.
Die Zeit ist also nicht unbedingt bei allen Geräten die selbe Zeit.
ok... hätte jetzt schon vermutet das die Satellite sich untereinander synchronisieren, das sie wenigstens auf die Sekunde gleich laufen. Aber lass uns das nicht weiter diskutieren.:rolleyes:


443GHz ist Störanfälliger.

mh, aber Ansich fande ich die idee echt gut.

also werde ich jetzt die ersten Versuche so starten, das ich ein GPS Signal empfange und die Koordination über ein Adhoc Netzwerk ans zweite Gerät sende. Dieses errechnet mit den eigenen Koordination dann den Abstand und sendet gleichermaßen seine Koordinaten an das erste Gerät. usw. Alle Module laufen auf 5 bzw. 3,3 V und machen somit auch wenig Probleme das dann irgendwann über Akkus/ Power Banks zu betreiben.

Fällt euch noch irgendwas ein, dass​ man beachten müsste oder doch noch eine andere Art der Datenübertragung.

Ceos
16.05.2017, 07:24
was das netzwerk angeht wäre für dich ein sogenanntes meshing ad-hoc netzwerk das beste, es gibt keinen master und organisiert sich selber

es gibt dutzende librarys für den zweck damit du nichnt das rad neu erfinden musst


ich hab jetzt mal das erst beste ergebnis aus google genommen was auch mit dem ESP8266 arbeitet und es hört sich zumindest auf der projektseite gut an

https://github.com/Coopdis/easyMesh

Jonathan Boerster
16.05.2017, 08:34
ja genau das hab ich mir gestern auch schon durchgelesen, klingt genau richtig für mein vorhaben.

Ceos
16.05.2017, 09:36
was dir für dein ESP Board jetzt noch entscheidendes fehlt sind 2 Taster (Reset und Bootmode) und ein 3.3V Uart Adapter. Du schließt den Uart Adapter per USB an deinen Rechner, stellst den dazu gehörenden COM Port in deinem Arduino IDE ein, lädst die ESP8266 Boardfiles für dein Modul, machst ein Projekt damit und mit nur 10 Zeilen Code hast du einen Access point offen der Hallo Welt auf einer Webseite ausgibt.

Notwendige Beschaltung für dein ESP Modul findest du hier https://blog.falafel.com/how-to-wire-the-esp8266-for-programming/
Das ist die vollständige Version, die einfache Version zieht GPIO0 dauerhaft auf GND, aber dann läuft der Controller mit Handbremse weil er immer im Bootmodus startet. Dein Adapter Board hat schon ein paar der Widerstände drin, müsstest du sicherheitshalber vielleicht ienmal durchklingeln um zu sehen was fehlt.

Dein weißes adapter-Board hat den Pulldown für GPIO15 und den PullUp für CH_PD, die restlichen Widerstände müsstest du ergänzen

i_make_it
16.05.2017, 09:40
mh, aber Ansich fande ich die idee echt gut.


Prinzipiell sind beide gleich Störanfällig, aber bei 443MHz bekommst Du ein Funkmodul und musst Dich um alle Maßnahmen zur Verlässlichkeit und Störsicherheit der Kommunikation selbst kümmern.
Bei WLAN bekommst Du im Idealfall ein Modul mit IP-Stack und allem drum und dran. Da musst Du Dich nur noch um die höheren Schichten kümmern.
Um die müsstest Du dich bei 443MHz dann ja auch noch kümmern.

Da Du Dich ja nach Deinem Eröffnungspost mit µC kaum auskennst, wäre es ein schlechter Rat das Du wirklich alles selbst programmieren sollst.
Einen Kompletten Kommunikationsstack von der Bit-Sicherungsschicht bis hoch zur Applikationsebene.
Mit WLAN Modulen sparst Du Dir da schon einige zig bis hunderte Mannstunden an Entwicklungsarbeit (je nach Deinem Wissensstand auf dem Gebiet).

Und mit erlaubten maximalen 100mW Sendeleistung (im 2,4GHz Band) und 1W (im 5,4GHz Band) liegst Du natürlich deutlich über den 10mW von 443MHz.
Natürlich wird das mehr an Leistung auch durch ein mehr an Stromverbrauch erkauft.