Mini GPS-Tracker mit SOS Notruffunktion

eingetragen in: Allgemein 1

Radfahren tue ich schon seit Ewigkeiten mit meinem iPhone in Verbindung mit der Garmin Forerunner 920XT und der Garmin Connect App. So kann meine Frau mich im Notfall finden. Auch bin ich den Hamburg Marathon so gelaufen. Meine Familie und meine Freunde konnten immer genau sehen wo ich mich gerade befand. Das war und ist nicht gerade die optimale Lösung. Das iPhone wiegt auf Dauer zu viel, ist zu sperrig und die Akkuleistung ist begrenzt. Auch sind bei einigen Wettkämpfen Smartphones berechtigterweise verboten. Daher habe ich mich auf die Suche nach einer anderen Lösung gemacht und bin über den winzigen GPS-Tracker RF-V16 von ReachFar gestolpert. Dieser ist gerade mal 4,00 cm x 3,40 cm x 1,40 cm groß und wiegt gerade mal 27 Gramm. Abhängig in welchen Abständen die aktuelle GPS Position übermittelt wird, hält der Akku bis zu 12 Tage.

Der ReachFar GPS-Tracker RF-V16 erhält man bei Amazon schon für 26 EUR. Zusätzlich muss man noch eine GSM Micro SIM Karte erwerben damit die aktuelle GPS Position online übertragen werden kann. Ich habe mich für eine Prepaid Karte von Congstar für 10 EUR entschieden. Auch diese ist bei Amazon erhältlich. Es geht aber natürlich auch jeder andere D oder E Netz Provider. Wichtig, die SIM Karte bzw. der Mobilvertrag (Prepaid Vertrag) muss unbedingt für Daten freigeschaltet sein. GPRS (Edge) ist ausreichend, da 3G oder LTE vom Tracker nicht unterstützt wird. Das Datenvolumen zur Übermittlung der aktuellen GPS Position hält sich in Grenzen, daher halten sich die Kosten im Rahmen.

 

Amazon-Link des GPS-Tracker RF-V16 und der Congstar Prepaid Karte 

Was ist ein GPS-Tracker

Vereinfacht dargestellt ist ein GPS-Tracker ein GPS Empfänger und ein Handy in einem Gerät. Der GPS Empfänger ermittelt die Koordinaten des aktuellen Standortes anhand von Satelliten. Der Standort (Koordinaten) wird dann anschließend über das Mobilfunknetz übermittelt.

Was kann der GPS-Tracker RF-V16 alles

Der GPS-Tracker kann in regelmäßigen Abständen die aktuelle Position übertragen die man entweder im Internet unter dem Link http://www.gps123.org oder mit der iPhone AnyTracking oder der Android AnyTracking App. sich anzeigen lassen kann. Der Abstand muss mindestens 1 min betragen. Wählt man einen Wert zwischen 1 und 2 Minuten, geht der Tracker nicht in den Standby Mode. Bei einem Wert über 3 Minuten, wird die aktuelle Position übertragen und der Tracker geht bis zur nächsten Übertragung in den Standby Modus. So hält der Akku mehrere Tage. Im anderen Fall nur ein paar Stunden! Sollte man sich im Gebäude befinden oder der GPS Empfang schlecht sein, wird der aktuelle Ort anhand des GSM Netzes ermittelt. Das ist gegenüber der Standortbestimmung per GPS sehr ungenau. Da kommen schon einige 100 m an Abweichung zustande. Die Genauigkeit des GPS liegt meiner Erfahrung nach ungefähr bei 10 m.

Zusätzlich zur App. oder dem Internet kann die aktuelle GPS Position auch jederzeit per SMS abgefragt werden. Hierfür schickt man eine SMS an den Tracker mit dem Inhalt dw# . Als Antwort erhält man eine SMS mit einem Link mit der aktuellen Position in Google Maps. Nicht wundern, es kann ein paar Minuten dauern, bis man den Google Maps Link per SMS erhält. Das ist der Fall, wenn der Tracker sich im Standby Modus befindet.  

Zusätzlich zur GPS Position übers Internet, per App oder als SMS kann man auch mit dem GPS-Tracker telefonieren. Dafür können bis zu 5 Notrufnummern hinterlegt werden. Wenn eine dieser Notrufnummern den Tracker anruft, klingelt dieser. Je nach Einstellung nimmt der Tracker das Gespräch eigenständig an und man kann dann miteinander sprechen. Auch andersherum geht es. Der GPS-Tracker hat 3 Tasten. S, 1 und 2. Drückt man die Tasten 1 oder 2 ca. 5 Sekunden lang, wird die SOS1 oder SOS2 hinterlegte Telefonnummer angerufen. Drückt man die Taste S ca. 5 Sekunden, wird ein Notruf an alle bis zu 5 hinterlegten SOS Teilnehmer initiiert und eine SMS mit der aktuellen Position (Google Maps Link) verschickt.  Sehr viel Technik für so ein kleines Gerät!

Die ersten Schritte / Konfiguration des ReachFar RF-V16

Man kann den Tracker entweder über das Internet, App. oder per SMS konfigurieren. Die Konfiguration per App oder Internet hat bei mir leider überhaupt nicht funktioniert. Daher hier die Kurzanleitung der Konfiguration per SMS. Als erstes ist die Micro SIM Karte in den Tracker einzulegen. Die POWER-Taste ist für 3-4 Sekunden zu drücken, der Tracker klingelt und die LEDs leuchten. Wichtig, die SIM Karte darf nicht PIN geschützt sein und muss fürs Internet sowie SMS freigeschaltet sein.

 Blaue LED (GPS Status)Gelbe LED (GSM Status)
Langsames Blinkensucht GPS Signalsucht GSM Signal
Schnelles BlinkenGPS Signal gefundenGSM bereit
AusGPS im Schlafmodus oder Signal nicht gefundenGSM im Schlafmodus oder Signal nicht gefunden

Nun werden SMS an die Telefonnummer des GPS-Trackers mit folgenden Kommandos unten verschickt. Jede SMS wird mit # beendet. Als Antwort erhält man jeweils eine Bestätigungs SMS vom Tracker. Das Auslieferungspasswort ist 123456. 

Master bzw. SOS1 Telefonnummer
Als erstes muss die Master bzw. SOS1 Telefonnummer festgelegt werden. Über diese Telefonnummer können dann per SMS die Einstellungen des RF-V16 vorgenommen werden.  
<Passwort>,sos1,<Telefonnummer>#
Beispiel: 123456,sos1,+4917547114711#

Englische Sprache 
Um die Sprache anzupassen, SMS mit folgendem Inhalt versenden:
lag,2#

Weitere SOS Telefonnummern
Es können bis zu 5 Nofallnummer hinterlegt werden. Diese, nur diese dürfen mit dem GPS-Tracker kommunizieren. 
<Passwort>,sos[2|3|4|5],<Telefonnummer>#
Beispiel für die Notfallnummer 3: 123456,sos3,+4917208150815#

Zeitabstand zwischen Hochladen der Position
Hiermit wird festgelegt in welchen Zeitabständen in Minuten die GPS Position übermittelt wird.  
tim,<Minuten>#
Beispiel für alle 3 Minuten:  tim,3#

Hochladen der Ortungsdaten Ein- und Ausschalten
Die regelmäßige Übertragung der GPS Position kann Ein- bzw. Ausgeschaltet werden.
Einschalten: gon#
Ausschalten: gofff#

Position Anfrage per SMS
Um die Position als Google Maps Link als SMS zu erhalten ist folgende SMS an den Tracker zu schicken.
dw#

Status des GPS-Trackers
Den Status kann man mit folgendem SMS Kommando abfragen
dsp#

Weitere SMS Tracker Kommandos
Oben sind die wichtigsten SMS Kommandos aufgeführt. In der folgenden Tabelle sind alle mir bekannten Kommandos zusammengefaßt.

SMS KommandoFunktion
<Passwort>,sos1,<Nummer>#Master bzw. SOS1 Telefonnummer festlegen
sos2(3,4,5),<Nummer>#SOS 2(3,4,5) Nummern festlegen
von,<Wert>#Vibrationssensor Alarm gegen Einbruch einschalten ( Stufe 1 – sehr empfindlich und Stufe 4 – am wenigsten empfindlich)
voff#Vibrationssensor Alarm gegen Einbruch ausschalten
non# Schallsensor Alarm gegen Einbruch einschalten 
ntim,<Wert>#Schallsensor Alarmlänge einstellen
mod,1# Alarm Methode einstellen: 1 – Anruf + SMS
mod,2#Alarm Methode einstellen: 2 – nur Anruf
mod,3# Alarm Methode einstellen: 3 – nur SMS 
dw# Position Anfrage per SMS
dsp#Situation Anfrage per SMS
lag,1#Sprachwechsel zu Chinesisch (Werkseinstellung)
lag,2# Sprachwechsel zu Englisch
lag,3# Sprachwechsel zu Französisch
tim,<Wert>#Zeitabstand zwischen Hochladen der Position einstellen
gon#Hochladen der Ortungsdaten einschalten (Werkseinstellung)
goff#Hochladen der Ortungsdaten ausschalten
lon#LED Anzeiger einschalten (Werkseinstellung) 
loff#LED Anzeiger ausschalten
<Altes Passwort>,t,<Neues Passwort>#Passwort ändern (Werkseinstellung 123456)
reboot#Rebooten des GPS Trackers
reset#Werkseinstellungen herstellen
apn,<Apn>,user,<Benutzer>,pd,<Passwort>,pip,<IP-Adresse>,pport,<Port>,plmn,<Protcoll>#Access Point Name (APN, auch „Zugangspunkt“) um das Gateway zwischen dem Backbone des Mobilfunknetzes (z. B. GPRS, 3G oder 4G) und einem externen paketbasierten Datennetz, häufig dem öffentlichen Internet festzulegen
ip,<IP-Adresse>,port,<Port>#IP-Adresse und Port eines externen Tracking Anbieter
surl,<DNS-Name>,port,<Port>#Wie das Kommando ip, aber hier kann man statt der IP-Adresse den FQDN vom Server angeben. Perfekt wenn man z.B. über DDNS den GPS-Dienst erreichen möchte. Bsp. surl,my.gps.dyndns.de,port,4711#

Eine deutsche Anleitung zum GPS-Tracker RF-V16 findest Du hier!

Debugmodus in ioBroker aktivieren

eingetragen in: ioBroker 0

Die meisten ioBroker Adapter geben im Debug Modus noch weitere Infos im Logfile aus. Um den Debug Modus zu aktivieren ist die ioBroker Admin Oberfläche aufzurufen. Anschließend wechselt man auf den Reiter Instanzen und aktiviert den Experten Modus (Icon oben links / roter Pfeil)

Ist der Expertenmodus aktiviert, kann man den Loglevel von Info (Standardwert) auf Debug für eine Instanz eines Adapter ändern (roter Pfeil). In unserem Beispiel wird der Loglevel der mqtt-client.0 Instanz geändert.

Nun ist der Loglevel Debug für die mqtt-client.0 Instanz aktiviert. Unter Umständen muss man die MQTT Client Instanz neu starten (grüner Kasten mit dem II Symbol klicken).

Im Logfile (Reiter Log) werden jetzt mehr Informationen für den MQTT Client Adapter (Instanz 0) ausgegeben.

Auf der Kommandozeile einen ioBroker Adapter debuggen

eingetragen in: ioBroker 0

Es kommt vor dass ein Adapter Probleme bereitet. Meistens findet man Hinweise auf die Ursache im Logfile der ioBroker Admin Oberfläche. Manchmal ist das aber nicht ausreichend bzw. man findet keinen Anhaltspunkt für einen Fehler. Dann hilft es den Adapter unter Instanzen in den Debug Modus zu versetzen und nochmals ins Logfile zu schauen. Hilft das auch nicht weiter, ist es ratsam den Adapter in einem Terminalfenster im Debug Modus zu starten. Hier erhält man noch weitreichendere Informationen die bei der Fehlerfindung helfen.

Hierfür ist die Instanz des fehlerhaften Adapters in ioBroker zu deaktivieren. Anschließend öffnet man ein Terminalfenster und wechselt in das Verzeichnis des Adapters. Suche in dem Adapterverzeichnis nach der Datei index.js . Falls es diese nicht gibt, wird es eine Datei mit Namen des Adapter mit der Endung .js geben. Zum Beispiel ist der Dateiname für den Shelly Adapter shelly.js

cd /opt/iobroker/node_modules/iobroker.<adataper_name>
node index.js|<adapter_name>.js <instanz> --debug

Ein Beispiel für den Shelly Adapter der unter der Instanz 0 läuft. Denke daran die Shelly Instanz 0 in ioBroker vorher zu deaktivieren.

cd /opt/iobroker/node_modules/iobroker.shelly
node shelly.js 0 --debug

Die Ausgabe sieht dann folgendermaßen aus:

macbook:iobroker.shelly thorsten.stueben$ node shelly.js 0 --debug
2020-06-29 07:56:07.521  - debug: shelly.0 (22068) Redis Objects: Use Redis connection: 127.0.0.1:9001
2020-06-29 07:56:07.535  - debug: shelly.0 (22068) Objects client ready ... initialize now
2020-06-29 07:56:07.538  - debug: shelly.0 (22068) Objects create System PubSub Client
2020-06-29 07:56:07.538  - debug: shelly.0 (22068) Objects create User PubSub Client
2020-06-29 07:56:07.539  - debug: shelly.0 (22068) Objects client initialize lua scripts
2020-06-29 07:56:07.544  - debug: shelly.0 (22068) Objects connected to redis: 127.0.0.1:9001
2020-06-29 07:56:07.547  - debug: shelly.0 (22068) objectDB connected
2020-06-29 07:56:07.548  - debug: shelly.0 (22068) Redis States: Use Redis connection: 127.0.0.1:9000
2020-06-29 07:56:07.556  - debug: shelly.0 (22068) States create User PubSub Client
2020-06-29 07:56:07.557  - debug: shelly.0 (22068) States create System PubSub Client
2020-06-29 07:56:07.564  - debug: shelly.0 (22068) States connected to redis: 127.0.0.1:9000
2020-06-29 07:56:07.567  - debug: shelly.0 (22068) statesDB connected
2020-06-29 07:56:07.692  - debug: shelly.0 (22068) Plugin sentry Initialize Plugin (enabled=true)
2020-06-29 07:56:07.779  - error: shelly.0 (22068) adapter disabled
2020-06-29 07:56:07.834  - info: shelly.0 (22068) starting. Version 3.3.4 in /usr/local/iobroker/node_modules/iobroker.shelly, node: v12.16.3, js-controller: 3.1.6
2020-06-29 07:56:07.849  - error: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch().
2020-06-29 07:56:07.850  - error: shelly.0 (22068) unhandled promise rejection: adapter.log.ianfo is not a function
2020-06-29 07:56:07.855  - error: shelly.0 (22068) TypeError: adapter.log.ianfo is not a function
    at Adapter.<anonymous> (/usr/local/iobroker/iobroker.shelly/shelly.js:89:17)
    at Adapter.emit (events.js:310:20)
    at Adapter.EventEmitter.emit (domain.js:482:12)
    at /usr/local/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:8148:34
    at processTicksAndRejections (internal/process/task_queues.js:97:5)
2020-06-29 07:56:07.856  - info: shelly.0 (22068) Closing Adapter
This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). The promise rejected with the reason:
TypeError: adapter.log.ianfo is not a function
    at Adapter.<anonymous> (/usr/local/iobroker/iobroker.shelly/shelly.js:89:17)
    at Adapter.emit (events.js:310:20)
    at Adapter.EventEmitter.emit (domain.js:482:12)
    at /usr/local/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:8148:34
    at processTicksAndRejections (internal/process/task_queues.js:97:5)
2020-06-29 07:56:07.940  - info: shelly.0 (22068) terminating
2020-06-29 07:56:07.941  - debug: shelly.0 (22068) Plugin sentry destroyed
2020-06-29 07:56:07.941  - info: shelly.0 (22068) Terminated (NO_ERROR): Without reason

ioBroker Adapter per GitHub laden

eingetragen in: Allgemein, ioBroker 1

Möchtest Du einen Adapter per GitHub laden, musst du wie folgt vorgehen. Du öffnest die ioBroker Admin Oberfläche z.B. über http://192.168.20.91:8081. Nun klickst du in der Menüleiste links auf Adapter und anschließend auf die kleine GitHub Katze oben (Installieren aus eigener URL).

Nun wählst aus der Liste den Adapter den du über GitHub laden möchtest und klickst auf installieren. In meinem Beispiel möchte ich den Shelly Adapter installieren.

Sobald die GitHub Adapter Installation abgeschlossen ist, musst Du die Adapter Instanz neu starten. Wähle dafür den Punkt Instanz im Menü aus und klicke auf „neu laden“.

Jetzt ist der Adapter per GitHub installiert

1 2 3 4 5